
Cyklus v jazyku Pascal (druhá časť)prvá časť -- druhá časť Po teoretickom úvode nasleduje niekoľko praktických príkladov na použitie cyklov. Spočítame súčet čísel od 1 do 100. Začneme od nuly, a postupne pridávame hodnotu počítadla, ktoré ide od 1 do 100. var
pocitadlo : Integer;
medzisucet : Integer;
begin
medzisucet := 0;
for pocitadlo := 1 to 100 do begin
medzisucet := medzisucet + pocitadlo
end;
WriteLn('Sucet cisel od 1 do 100 je ', medzisucet)
end
Vypíšeme jednotlivé písmená daného reťazca. A keď už ten reťazec rozoberieme na jednotlivé písmená, zároveň ich poskladáme v opačnom poradí. Vytvoríme si obrátený reťazec, ku ktorému budeme písmená postupne pridávať na začiatok. Dĺžku reťazca získame pomocou funkcie "Length". var
retazec : String;
pocitadlo : Integer;
znak : Char;
retazec_naopak : String;
begin
retazec := 'Bryndzove halusky';
retazec_naopak := '';
for pocitadlo := 1 to Length(retazec) do begin
znak := retazec[pocitadlo];
WriteLn('Na pozicii cislo ', pocitadlo, ' je znak ', znak);
retazec_naopak := znak + retazec_naopak
end;
WriteLn('Retazec naopak je ', retazec_naopak)
end
Vypýtame si od používateľa päť čísel. Potom ich všetky vypíšeme... ale do jedného riadku. To znamená, že ich nebudeme vypisovať pomocou "WriteLn" ale pomocou "Write", a až nakoniec riadok ukončíme pomocou "WriteLn". Na záver vypíšeme najväčšie a najmenšie číslo, a súčet všetkých čísel. (Začína to byť zložité? Nebojte sa.) Súčet naštartujeme od nuly, ale čím máme naštartovať najmenšie a najväčšie číslo? Pomôžeme si trikom a na naštartovanie použijeme prvé z týchto piatich čísel. Ďalej budeme doteraz nájdené najmenšie a najväčšie číslo porovnávať s nasledujúcimi číslami. Ak nájdeme menšie než doteraz najmenšie, prípadne väčšie než doteraz najväčšie, zapamätáme si to nové číslo. var
cisla : Array[1..5] of Integer;
pocitadlo : Integer;
najmensie : Integer;
najvacsie : Integer;
sucet : Integer;
begin
for pocitadlo := 1 to 5 do begin
Write('Zadajte cislo: ');
ReadLn(cisla[pocitadlo])
end;
najmensie := cisla[1];
najvacsie := cisla[1];
sucet := 0;
Write('Zadali ste cisla:');
for pocitadlo := 1 to 5 do begin
Write(' ', cisla[pocitadlo]);
if cisla[pocitadlo] < najmensie then begin
najmensie := cisla[pocitadlo]
end;
if cisla[pocitadlo] > najvacsie then begin
najvacsie := cisla[pocitadlo]
end;
sucet := sucet + cisla[pocitadlo]
end;
WriteLn('.');
WriteLn('Najmensie je ', najmensie);
WriteLn('Najvacsie je ', najvacsie);
WriteLn('Sucet je ', sucet)
end
Na tomto poslednom príklade vidím pár vecí, ktoré by sa dali vylepšiť. Šesťkrát sa tam opakuje "cisla[pocitadlo]", čiže to číslo, na ktoré práve ukazuje počítadlo, a to je trochu neprehľadné. Program by bol síce o čosi dlhší, ale aj o čosi prehľadnejší, keby sme si vytvorili novú premennú "cislo", do ktorej si na začiatku cyklu uložíme hodnotu "cisla[pocitadlo]", a ďalej už budeme pracovať s touto premennou. Pomohli sme si trikom, že do premenných "najmensie" a "najvacsie" sme na začiatku vložili prvé z piatich čísel. Ale potom ideme od prvého čísla po piate a porovnávame... to prvé číslo porovnávame celkom zbytočne. Čo keby sme teda opakovali iba od druhého po piate číslo? To prvé číslo sa však využíva aj na iné veci, takže ho potrebujeme na začiatok priradiť do premennej "sucet", a takisto vypísať v úvodnom príkaze "Write". No čo? To je domáca úloha. Snáď nečakáte, že budem všetko programovať za vás? ;-) |
Viliam Búr [sk] domáca stránka (feed) viliam@bur.sk ICQ: 133571943 Blog: JavaScript pre začiatočníkov (3) JavaScript pre začiatočníkov (2) Linky: Sponzorované odkazy: |