Ciklo sakinys for

Žinomo kartojimų skaičiaus ciklas for

Dažnai susiduriame su veiksmais, kuriuos reikia atlikti daug kartų. Kartojimo veiksmams užrašyti programavimo kalba vartojama speciali programavimo konstrukcija – ciklas. Ciklai būna kelių rūšių. Paskalyje ciklai yra trijų rūšių – while, for ir repeat. Vienas iš jų yra žinomo kartojimų skaičiaus ciklas – for. Ciklo for sintaksė: for ck := pr to gr do sakinys;ck – ciklo kintamasis. Jis turi būti diskrečiojo tipo (sveikojo arba simbolinio).pr – ciklo kintamojo pradinė reikšmė – konstanta, kintamasis arba reiškinys. Ji turi būti to paties tipo konstanta, kaip ir ciklo kintamasis.gr – galutinė ciklo kintamojo reikšmė – konstanta, kintamasis arba reiškinys. Ji turi būti to paties tipo konstanta, kaip ciklo kintamasis bei pradinė ciklo kintamojo reikšmė.Jeigu gr < pr, tai ciklo sakinys visai nevykdomas ir ck reikšmė lieka neapibrėžta. Jei pr  gr, tai ck reikšmė padidinama vienetu ir vėl atliekamas po do esantis sakinys. Veiksmai kartojami tol, kol ck = gr. Vadinasi, ciklas atliekamas gr – pr + 1 kartų. Pvz.: raskite skaičių nuo 1 iki 10 sumą. begin s := 0; for i := 1 to 10 do s := s + i; write (s); end. Ciklo viduje ciklo kintamojo (ck) reikšmės keisti negalima. Jei cikle for vartojami keli sakiniai, tai jie jungiami į vieną sudėtinį begin … end; sakinį. Pvz.: raskite dviženklius skaičius, kurie dalijasi iš savo skaitmenų sumos: begin writeln (‘šie skaičiai dalijasi iš savo skaitmenų sumos: ‘); for i := 10 to 99 do begin s1 := i div 10; s2 := i mod 10; p := s1 + s2; if i mod p = 0 then write (i:4); end; readln; end. Pvz.: Programos fragmentas skaičiuoja nlaip = nk: begin readln (n); readln (k); nlaip := 1; for i := 1 to k do nlaip:=nlaip * n; write (nlaip); end.

Ciklo kintamojo reikšmė automatiškai didinama vienetu. Jei ciklo sakinyje for vietoje žodžio to rašome downto, tai ciklo kintamojo reikšmė yra cikliškai mažinama vienetu:

for ck := gr downto pr do sakinys;Jei gr < pr, tai ciklas neatliekamas nei karto.