Teorija

Programma, kuras darbību aptur lietotājs
(ar Repeat...Until ciklu)
Svarīgi!
Programmas mērķis:
1) Prasīt lietotājam ievadīt kādu veselu skaitli un tad pieskaitīt to iepriekš iegūtajai summai (kura sākumā, protams, ir 0), kuru uzreiz pēc tam izvadīt uz ekrāna.
2) Pēc tam piedāvāt lietotājam izvēli - nospiest taustiņu q (vai Q), ja viņš grib beigt darbu. Ja tiek nospiests jebkurš cits taustiņš, programma atgriežas pie pirmā punkta.
 
Mainīgie lielumi
Vajadzīgi divi mainīgie lielumi: skaitļiem (summai un ievadītajam skaitlim) un simbolam (nospiestajam taustiņam). Pirmajiem diviem der tips integer, trešajam - tips char.
varSumma,Skaitlis:integer;Simbols:char;
 
Un noteikti programmas sākumā mainīgajam Summa ir jāpiešķir vērtība 0 - jo tobrīd vēl nekas nav saskaitīts.
Summa:=0;
 
Cikla karkass
Vislabāk ir izmantot ciklu Repeat...Until, jo skaitļa ievade un pieskaitīšana notiks vismaz vienu reizi.
Ar beigu nosacījumu - Taustinjsj ir vienāds ar 'q' vai arī vienāds ar 'Q'.
(Simbols='q')or(Simbols='Q')
 
Saliekot kopā ar pašu ciklu, sanāk šādi:
repeat{darbībasciklaiekšienē}until(Simbols='q')or(Simbols='Q');
 
Cikla saturs
Ciklā jāveic šādas darbības:
1) Jānodrošina skaitļa ievadīšana un saglabāšana.
write('Ievadietskaitli:');readln(Skaitlis);
2) Jāpieskaita tas iepriekšējai summai.
Summa:=Summa+Skaitlis;
3) Jāizvada jaunā summas vērtība.
writeln('Tagadsummasveertiibair',Summa);
4) Jāpiedāvā nospiest kāds taustiņu, pēc tam jāsaglabā tam atbilstošais simbols.
writeln('Laibeigtudarbu,nospiediettaustinjuq(vaiQ)!');Simbols:=readkey;
 
Cikls kopumā
repeatwrite('Ievadietskaitli:');readln(Skaitlis);Summa:=Summa+Skaitlis;writeln('Tagadsummasveertiibair',Summa);writeln('Laibeigtudarbu,nospiediettaustinjuq(vaiQ)!');Simbols:=readkey;until(Simbols='q')or(Simbols='Q');
 
Rezultāts
Saliekot visu kopā, sanāk šāda programma:
programpiemeers5;usescrt;varSumma,Skaitlis:integer;Simbols:char;beginclrscr;Summa:=0;repeatwrite('Ievadietskaitli:');readln(Skaitlis);Summa:=Summa+Skaitlis;writeln('Tagadsummasveertiibair',Summa);writeln('Laibeigtudarbu,nospiediettaustinjuq(vaiQ)!');Simbols:=readkey;until(Simbols='q')or(Simbols='Q');{Šoreizbezkomandasreadkeylaipēctaustiņa'q'nospiešanasnebūtuliekapauze.}end.