a nyilatkozat
Ez a fajta ciklus operátor úgynevezett
Utasítások között kezdetét és végét. végre, ahányszor által megadott [(endValue - startValue) + I].
Ez megfelel az összes értéket a számláló az elejétől a végéig bezárólag.
Ha startValue több mint endValue. then utasítások között kezdődnek és végződnek nem teljesülnek, még egyszer.
Például, a ciklus - a program fragment:
Az I: = 10 és 14 do levelet (i: 3);
megjelenít egy számsorozat formájában:
Alternatív 2 (a csökkenő számlálót).
Utasítások között kezdetét és végét. végre, ahányszor által megadott [(startValue - endValue) + I].
Ha startValue kevesebb endValue. then utasítások között kezdődnek és végződnek nem teljesülnek, még egyszer.
Például, a ciklus - a program fragment:
Az I: = 14 downto 10 do levelet (i: 3);
megjelenít egy számsorozat formájában:
Ha a számláló változó a karakter típus char, az üzemeltető:
CH: = 'a', hogy 'e' do write (ch: 2);
megjeleníti a betűsor formájában:
CH: = 'e' downto 'a' do write (ch: 2);
megjeleníti a betűsor formájában:
Felhívjuk figyelmét - hurok hasznos rendezésére kimeneti adatok programot. Együtt az if és a funkció readln megengedi lapszámozásról.
Például, ha a következő ciklus program felfüggeszti kiadási töltés után az oszlopot számok a képernyő gomb megnyomása előtt.
i: = 1-től 50 do
kezdődik
writeln (i);
ha i mod 24 = 23, akkor readln;
végén;
• operátor (felhasználó) alkalmazásra hurok rögzített. ismert vagy meghatározható végrehajtása során a program az ismétlések számát;
• az iterációk számát határozza meg a kezdeti és végső értékekhez számláló. Az üzemeltető biztosítja a hurok test mindaddig, amíg nem minden értéket próbált ciklusparaméter kezdeti és végső;
• számláló változó kell lennie szekvencia típus. Gyakran - egész szám. kevesebb - char, boolean vagy az egyik felhasználó beírja (lásd 2.1.2 ..). Valós típusú elfogadhatatlan;
• A kezdeti és a végső paraméterek értékei lehetnek állandók, változók, kifejezések, és szerepelnie kell az azonos típusú adatokat. A kezdeti és a végső értékeket a ciklus paraméter nem változott az a ciklus végrehajtása;
• befejezése után az üzemeltető a normál ciklus paraméter értéke egyenlő a végső értéket. Ha az az állítás nem hajtják végre, a ciklus paraméter értéke nincs meghatározva;
• A ciklus paraméter változhat (növekedés vagy csökkenés) minden alkalommal a ciklus törzse csak egy. Ha szüksége van egy fokozatos változást a paraméternek, ciklusok ismételje meg, és közben.
Egy példa a hatása az üzemeltető lehet felsorolt 3,22, amely megjeleníti azt a fordító táblázatot Celsius-fokban (° C) Fahrenheit (F) az értékek 15 ° C és 30 ° C közötti, 1 fokos. Translation végezzük képlet alkalmazásával: F = C * 1,8 + 32.
Listing 3.22. Táblázat transzfer Celsius-fok Fahrenheit
var
nbsp nbsp I: egész szám;
nbsp nbsp F: real;
kezdődik
nbsp nbspWriteln ( 'alacsony');
nbsp nbspfor I: = 15-30 csinálni
nbsp nbsp nbsp kezdődik
nbsp nbsp nbsp nbsp F: = 1 * 1,8 + 32;
nbsp nbsp nbsp nbsp WriteLn ( 'Celsius =', I, 'F =', F: 5: 2)
nbsp nbsp nbsp végén;
végén.
A blokk változó ismertetett nyilatkozat ciklus paraméter azt írja egész és egy változó F - Hőmérséklet a típus igazi Fahrenheit. I. függvényváltozókat mellett a vezérlő változó olyan változó, amely tárolja egész értékeket Celsius hőmérséklet. A program elején jelenik meg a felirat „hőmérséklet”. majd ismételje üzemben egy táblázatban megjeleníti a kapcsolat a hőmérséklet Celsius és Fahrenheit. Táblázat nyomtatás az üzemeltető által végzett WriteLn (TLO Celsius = '1,' F =”, F: 5: 2)
A hurok a következőképpen kell végrehajtani.
Az első alkalommal az üzemeltető kiszámítjuk a kezdeti érték (15) és a végén (30), ciklus paraméterei, és a manipulált változó I inicializálunk 15.
Ezután a ciklus a következőképpen végezzük:
1. állapotának ellenőrzése I 30. ciklus törzsének utasítás nem kerül végrehajtásra, és a vezérlő program átvitelre kívül a nyilatkozatot. Példánkban az üzemeltető végén; .Programma kilép.
3. Az érték a ciklus I növeljük, és vezérlés átkerül fejlécének ciklus ellenőrizni feltételekkel.
Ezután a ciklus megismétlődik az 1. igénypont.
Listing 3.23 tartalmazza a program „Test a szorzótábla,” megváltozott oly módon, hogy ő kérte a diák pontosan öt kérdésre, és a végén tesztel egy évfolyam egy öt pontból álló rendszer. Természetesen, az ilyen készítményben a probléma a legjobb megoldás az lenne, egy ciklus.
Listing 3.23. Teszt A szorzótábla (variáns № 4)
használja crt;
var s1, s2, otvet, k, prav: integer;
kezdődik
nbsp nbsp véletlenszerű; <инициализация датчика случайных чисел>
nbsp nbsp clrscr; <очистка экрана>
nbsp nbsp k: = 1-től 5 do
nbsp nbsp nbsp kezdődik
nbsp nbsp nbsp nbsp S1: = random (18) 2; s2: = random (18) 2;
nbsp nbsp nbsp nbsp write ( 'Mi', s1, '*', s2, '?'); readln (otvet);
nbsp nbsp nbsp nbsp ha otvet = s1 * s2, akkor
nbsp nbsp nbsp nbsp nbsp kezdődik
nbsp nbsp nbsp nbsp nbsp nbsp write ( 'Right!'); prav: = prav + 1;
nbsp nbsp nbsp nbsp nbsp vége
nbsp nbsp nbsp nbsp mást write ( 'Érvénytelen.');
nbsp nbsp nbsp végén;
nbsp nbsp clrscr; <очистка экрана>
nbsp nbsp writeln ( 'Az Ön értékelése:' prav); readln;
végén.
Listing 3,24 tartalmaz egy programot, amely kiszámítja az átlagos, és meghatározza a minimális és maximális száma egy sorozatban a valós számok, be a billentyűzetről.
Listing 3.24. Meghatározása az átlag, minimum és maximum Számcsoport
var
nbsp nbsp egy: real; <очередное число>
nbsp nbsp n: egész szám; <количество чисел>
nbsp nbsp összege, átlag: real; <сумма и среднее арифметическое>
nbsp nbsp min, max: valós; <минимальное и максимальное число>
nbsp nbsp i: integer; <счетчик цикла>
kezdődik
nbsp nbsp write ( „Adja meg a számát sorszámok:”); readln (n);
nbsp nbsp writeln ( 'Enter szekvencia');
nbsp nbsp write ( '->'); readln (a); <вводим первое число последовательности>
nbsp nbsp <предположим, что:>
nbsp nbsp perc: = A; <первое число является минимальным>
nbsp nbsp max: = A; <первое число является максимальным>
nbsp nbsp összege: = a;
nbsp nbsp <введем остальные числа>
nbsp nbsp i: = 1-től n-1 do
nbsp nbsp nbsp kezdődik
nbsp nbsp nbsp nbsp write ( '->'); readln (a);
nbsp nbsp nbsp nbsp összege: = összege + egy;
nbsp nbsp nbsp nbsp ha a max, akkor max: = A;
nbsp nbsp nbsp végén;
nbsp nbsp átlagos: = összege / n;
nbsp nbsp writeln ( 'száma az egész számok:', N);
nbsp nbsp writeln ( 'számtani átlag:', átlag: 7: 3);
nbsp nbsp writeln ( 'minimális száma:', min: 7: 3);
nbsp nbsp writeln ( 'Max:', max: 7: 3);
végén.
Listing 3.25 tartalmaz egy programot, amely kiszámítja a részösszegként n kifejezések a sorozat 1, -1/3, +1/5, -1/7 +. konvergáló a p értékét / 4.
Listing 3.25. A számítás a részleges összege a tagok száma
var
nbsp nbsp x: real; <член ряда>
nbsp nbsp summ: real; <частичная сумма>
nbsp nbsp N: szó; <количество суммируемых членов>
nbsp nbsp i: szó; <счетчик цикла>
kezdődik
nbsp nbsp write ( „Adja meg a számát összegezte szempontjából a sorozat:”); readln (n);
nbsp nbsph: = 1; summ: = 0;
nbsp nbsp i: = 1-től n-do
nbsp nbsp nbsp kezdődik
nbsp nbsp nbsp nbsp summ: = summ + 1 / x;
nbsp nbsp nbsp nbsp ha x> 0, akkor X: = - (x + 2) else x: = - (x-2);
nbsp nbsp nbsp végén;
nbsp nbsp writeln ( 'száma összege:', summ: 10: 6);
nbsp nbspwriteln ( 'pi értékét / 4:', pi / 4: 10: 6);
végén.