ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Цикл с постусловием.
Механизм работы: повторять, пока условие не станет истинным. Этот цикл всегда выполняется хотя бы 1 раз.
Пример. Найти сумму положительных членов арифметической прогрессии: 17; 11 …
Пример. Вычислить n!
Циклы в Pascal
Паскаль предусматривает использование трех операторов цикла: • оператор цикла с параметром for • оператор цикла с предусловием while • оператор цикла с постусловием repeat Цикл с параметром Цикл с параметром используется в тех случаях, когда число повторений заранее известно. Общий вид: for <параметр>:=<начальное значение> to <конечное значение> do <оператор>; Значение параметра меняется с шагом 1. Оператор представляет тело цикла, которое может быть простым или составным оператором.
Пример 1. Вывести квадраты первых десяти натуральных чисел.
Program primer; Var i, x: integer; begin for i:=1 to 10 do begin {перебираем натуральные числа от 1 до 10} x:=sqr(i); {возводим очередное число в квадрат} write(x, ' '); {выводим полученное значение} end; readln end. Пример 2. Найти сумму 1 + 1/3 + 1/5 +...(N слагаемых).
Program primer; Var I, N: integer; S: real; begin Write('N='); Readln(N); {вводим количество слагаемых} S:=0; {обнуляем сумму} For I:=1 to N do {выполняем цикл N раз, добавляя к сумме по од ному слагаемому} S:=S+1/(2*I-1); Writeln('S=',S:5:2); {выводим значение суммы с двумя десятичными знаками} Readln end. Пример 3. Подсчитать количество двузначных чисел, кратных 3.
Program primer; Var i, k: integer; begin k:=0; for i:=10 to 99 do begin if i mod 3=1 then k:=k+1; end; writeln ('k=', k); readln; end. Пример 4. Найти сумму четных делителей введенного целого числа.
Program primer; Var i, S, n: integer; begin Write (‘n=’); Readln(n); S:=0; for i:=2 to (n div 2) do if (n mod i=0) and (i mod 2=0) then s:=s+i; writeln('S=', S); readln; end.
Если необходимо, чтобы параметр цикла менялся с шагом -1, следует вместо to записать downto. For i:=10 downto 1 do Writeln (i);
Не нашли, что искали? Воспользуйтесь поиском:
|