Arrys (tbels) Co (1) Imgine-se que é necessário efectur o cálculo d médi do primeiro trimestre do no. Com os conhecimentos presentdos té qui o progrm senvolver seri proximdmente Progrm Progrm TempMed(input,output); TempMed(input,output); t1,t2,t3 t1,t2,t3 rel; rel; tmedi tmedi rel; rel; Jneiro ); Jneiro ); redln(t1); redln(t1); Fevereiro ); Fevereiro ); redln(t2); redln(t2); Mrço ); Mrço ); redln(t3); redln(t3); tmedi(t1+t2+t3)/3; tmedi(t1+t2+t3)/3; writeln( writeln( médi médi é, é, tmedi) tmedi)
Arrys (tbels) Co (2) Imgine-se gor que se preten efectur o mesmo cálculo pr um no inteiro, ou por exemplo, o longo um décd... Seri necessário clrr 12x10, ou sej, 120 vriáveis!!! E expressão pr cálculo d médi teri cerc 250 crcteres! Pr fcilitr este tipo trefs e reduzir o esforço progrmção existe o tipo estruturdo rry (ou tbel). Definção Um rry é um conjunto finito vriáveis um mesmo tipo referencids por um mesmo nome e diferenciáveis por um índice (que indic posição que o elemento ocup ntro d tbel). Vntgens - Ut inxd vriáveis; - Rpiz e fcilid construção código; - Aproprido pr miori dos problems.
Arrys (tbels) De A clrção um vriável rry possui seguinte sintxe <ArryNme> rry[inx] <Dt> Nome que preten dr o Arry. Tl como fz com qulquer outr vriável não use plvrs reservds do Pscl Dentro prêntesis rectos escrevem-se os índices (vlores que servem pr intificr inequivocmente os elementos ntro um tbel) De do tipo vriáveis que vi ser rmzendo n tbel (e que só po ser um tipo cd vez) Ms tenção que s tbels pom ser - unidimensionis; - bidimensionis; - tridimensionis. Um tbel po conter qulquer tipo elementos, té outrs tbels; Um tbel po ter tnts dimensões qunts s que se quiserem.
Arrys (tbels) Tbels unidimensionis 34 8 2 29 2 Tbels bidimensionis 10 21 30 2 4 76 43 41 1 12 7 3 Tbels tridimensionis 10 21 30 2 4 76 43 41 1 12 7 3
SSI ISSI Arrys (tbels) Tbels unidimensionis Clssif rry [1..5] Rel; 34 8 2 29 2 Ex. Clssif [2] 8 Tbels bidimensionis Clssif rry [1..3, 1..4] Rel; 10 21 30 2 4 76 43 41 1 12 7 3 Ex. Clssif [2,3] 43 Linh colun
Arrys (tbels) De Muito Importnte A) No exemplo fornecido, em que se pretenm rmzenr vlores s o longo um no, teremos então Tempertur rry [1..12] Rel; No entnto, embor notção seguinte sej utorizd, o mis correcto e menos limittivo será utilizr type Temperturs rry [1..12] Rel; vr cons Temperturs; B) Pr rmzenr s o longo um décd é possível clrr um rry bidimensionl type Tempertur rry [1..10, 1..12] rel; cons Temperturs;
Arrys (tbels) Re Gr Alguns exemplos compnhdos d respectiv re...... AA AA rry rry [1..10] [1..10] Integer; Integer; A A AA; AA; A[1]12; A[1]12; A[8]91; A[8]91; A 1 12 2 3 4 5 6 7 8 91 9 10...... BB BB rry rry [1..4, [1..4, 1..10] 1..10] Integer; Integer; B B BB; BB; B 1 2 3 4 5 B[1,8]54; B[1,8]54; 1 7 B[3,3]32; B[3,3]32; B[4,7]-5; B[4,7]-5; 2 41 3 32 6 7 8 54 9 89 10 4-5
Arrys (tbels) Exemplos TClssif rry [0..20] integer TNum rry [ A.. F ] integer; TLetrs pcked rry [1..20, 1..50] chr; Contclssif TClssif; Contnum TNum; Contletrs TLetrs; Aqui temos finidos 3 tipos tbels ) TClssif - com um dimensão e 21 elementos do tipo inteiro; b) TNum - com um dimensão e 6 elementos do tipo inteiro; c) TLetrs - com dus dimensões (20 linhs e 50 coluns) e portnto com 1000 elementos (20x50) do tipo crácter.
Arrys (tbels) Ut O exemplo que tem servido bse pr o rciocínio, levri então o senvolvimento do seguinte progrm finl Progrm Progrm TempMedi(input,output); TempMedi(input,output); Tempertur Tempertur rry[1..120] rry[1..120] rel; rel; Temp Temp Tempertur; Tempertur; I I integer; integer; Medi, Medi, Totl Totl rel; rel; Ler Ler vlores vlores ds ds s s e e fzer fzer som som totl totl Totl0; Totl0; For For I1 I1 to to 120 120 do do begin begin write( Indique write( Indique,I,,I, ); ); redln(temp[i]); redln(temp[i]); TotlTotl+Temp[I]; TotlTotl+Temp[I]; End; End; Clculr Clculr médi médi MediTotl/120; MediTotl/120; Apresentr Apresentr resultdo resultdo Writeln( A Writeln( A médi médi ds ds s s é é,medi);,medi);
Arrys (tbels) Ut Exercícios 1 - Fç um progrm que recolh 10 letrs do tecldo e no finl s presente pel orm contrári (Dic use pens um tbel unidimensionl). 2 - Fç um progrm, pr turms 10 lunos, que escrev o número dos lunos que tiverm not superior à médi gerl d turm (Dic use dus tbels unidimensionis). No exercício 2 note que ) o progrm tem pedir o número do luno e respectiv not e tem gurdr esses ddos modo que possm ser ssocidos; b) qundo cb inserção nots o progrm clcul então médi d turm; c) vi os ddos rmzendos (nrº e not do luno) e compr cd um ds nots que lá tem com médi d turm; d) finlmente, escreve o número dos lunos que tiverm um not cim d médi.
Arrys (tbels) Ut Exercícios (cont.) 3 Reformule o exemplo presentdo no cetto 9 modo utilizr um tbel bidimensionl com 10 linhs e 12 coluns. 4 Fç um progrm que ceite do tecldo 6 nomes. De seguid o progrm verá perguntr o utilizdor que nome sej pesquisr e responr esse nome foi encontrdo ou esse nome não foi encontrdo cso respectivmente o encontre, ou não, n list 6 nomes previmente inseridos. O progrm verá estr preprdo pr repetir ess pesquis tnts vezes qunts o utilizdor pretenr (Dic use um tbel unidimensionl que rmzene ddos do tipo string).