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.




Kapcsolódó cikkek