Comenzi pentru calcule statisitice in FoxPro

Page 1

REALIZAREA UNOR CALCULE STATISTICE PE CÂMPURILE TABELELOR Folosind un anumit domeniu din tabela curentă, se pot face unele calcule: număra înregistrările, determina sume sau valori medii pentru expresii numerice, evalua anumite functii. 1) Pentru determinarea numărului de înregistrări: COUNT [domeniu] [FOR expL1] [WHILE expL2] [TO variabilă] Numărul de înregistrări se poate atribui unei variabile daca apare clauza TO. Domeniul implicit este ALL. domeniu poate avea una din valorile: ALL, REST, NEXT expN, RECORD expN. ALL – se realizează calculul respectiv pe toate înregistrările tabelei. REST ­ se realizează calculul respectiv de la înregistrarea curentă până la sfârşit. NEXT expN ­ se realizează calculul respectiv de la înregistrarea curentă pe următoarele expN înregistrări. (De ex: NEXT 5 – se va realiza calculul pe următoarele 5 înregistrări pornind de la înregistrarea curentă.) RECORD expN ­ se realizează calculul respectiv pe înregistrarea cu numărul de ordine dat de expN. (De ex: RECORD 3 ­ se va realiza calculul pe înregistrarea 3.) Calculul se poate realiza numai asupra înregistrărilor ce îndeplinesc condiţiile precizate în clauzele FOR şi WHILE. 2) Pentru însumarea valorilor unor expresii numerice din înregistrări: SUM [listă_expresii] [domeniu] [FOR expL1] [WHILE expL2] [TO listă_variabile] Asemănător comenzii anterioare, numai ca aici se insumează valorile din coloanele precizate în listă_expresii sau a expresiilor care contin campuri numerice din tabel, iar reyultatele sunt trecute in variabilele ce apar la listă_variabile. 3) Pentru calculul mediei valorilor unor expresii numerice din înregistrări: AVERAGE [listă_expresii] [domeniu] [FOR expL1] [WHILE expL2] [TO listă_variabile] La fel ca la comanda SUM numai ca se realizează media valorilor din înregistrări. 4) Pentru o mulţime de înregistrări se pot evalua o serie de funcţii: CALCULATE listă_expresii [domeniu] [FOR expL1] [WHILE expL2] [TO listă_variabile] Modul de functionare este asemănător cu al comenzilor anterioare, numai ca aici în listă_expresii vor apărea funcţiile: ­ AVG(expN) – pentru determinarea mediei unei expresii. ­ CNT() – pentru numărarea înregistrărilor. ­ MAX(exp) ­ pentru determinarea maximului unei expresii. ­ MIN(exp) ­ pentru determinarea minimului unei expresii. ­ SUM(expN) ­ pentru determinarea sumei unei expresii numerice.

1


Exercitii practice: Fie tabelul: ELEVI COD NUME N(4) C(40) 15 Georgescu Andrei 21 Marinescu Daniela 7 Popa Carmen 121 Dinu Marian 122 Dudu George 123 Vieru Maria 223 Popa Mircea 233 Stratulat Elena 234 Neagu George 224 Balan Costina

ADRESA C(100) Adr. 1 Adr. 15 Micro 13 Micro 19 Tiglina I Micro 39 Micro 21 Adr. 3 Adr. 4 Tiglina II

VARSTA N(2) 15 15 16 17 17 17 17 17 18 18

CLASA C(3) 9B 9B 10A 11A 11A 11A 11C 12B 12B 12C

MEDIA N(5,2) 3.5 4 7.66 8.33 5.5 4.30 7 8 6.55 3.75

1) Sa se afiseze elevii care au varsta de 17 ani. COUNT FOR varsta=17 TO v ? v, “ elevi au varsta de 17 ani” sau CALCULATE CNT() FOR varsta=17 TO v ? v, “ elevi au varsta de 17 ani” 2) Sa se afiseze numarul de elevi corigenti. COUNT FOR media <5 TO v1 ? v1, “ elevi sunt corigenti” sau CALCULATE CNT() FOR media<5 TO v1 ? v1, “ elevi sunt corigenti” 3) Sa se afiseze media clasei ‘11A’. AVERAGE media FOR clasa=’11A’ TO v2 ? “Media clasei 11A este ”, v2 sau CALCULATE avg(media) FOR clasa=’11A’ TO v2 ? “Media clasei 11A este ”, v2 2


4) Sa se afiseze media cea mai mare de la clasa ‘12B’. CALCULATE max(media) FOR clasa=’12A’ TO v3 ? “Media cea mai mare la clasa 12B este ”, v3

5) Care este suma mediilor elevilor care nu sunt in clasa ‘11A’ ? SUM media FOR clasa # ‘11A’ TO v4 ? “Suma este ”, v4 sau CALCULATE sum(media) FOR clasa<>’11A’ TO v4 ? “Suma este ”, v4

3


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.