'

Повторение действий в turbo pascal. Циклы

Понравилась презентация – покажи это...





Слайд 0

Повторение действий в turbo pascal. Циклы


Слайд 1

Типы циклов цикл с предусловием цикл с постусловием цикл с параметром


Слайд 2

Основные понятия Тело цикла – повторяющиеся действия Итерация – один проход цикла Начальные установки – определение значений переменных, которые используются в циклах с предусловием и с постусловием


Слайд 3

Цикл с предусловием while <условие> do <тело цикла>; Условие – простое или составное логическое выражение Формат:


Слайд 4

Примеры a : = 3; while a < 4 do a: = sqr(a); a : = 10; while true do a : = a*10; a : = 10; while false do a : = a*10;


Слайд 5

Задача Преобразовать значение угла в градусах к стандартному диапазону ±1800 путем исключения полных оборотов окружности (±3600).


Слайд 6

Решение var a : integer; begin readln(a); while abs(a) > 180 do if a > 0 then dec(a,360) else inc(a,360); writeln(a); end.


Слайд 7

Для n>=0, не применяя формулы, вычислить сумму чисел от 1 до n i:=0; S:=0; Readln(n); While x<n Begin i:=i+1; s:=s+i; End; do


Слайд 8

C клавиатуры вводятся натуральные числа. Последовательность этих чисел заканчивается нулем. Найти их сумму. Readln(a); S:=0; While a<>0 do Begin S:=s+a; End;


Слайд 9

Цикл с постусловием repeat <тело цикла> Until <условие>; Формат:


Слайд 10

Примеры x : = 4; repeat writeln (x); until true; x : = 4; repeat writeln (x); until false;


Слайд 11

Задача Найти методом подбора целочисленное решение Диофантова уравнения 5х-3у=1.


Слайд 12

Решение var x, y : integer; begin x : = 1; y : = 1; repeat if 5*x – 3*y >1 then inc(y) else inc(x); until 5*x – 3*y =1; writeln (x:5, y:5); end.


Слайд 13

Цикл с параметром Этот оператор применяется, если требуется выполнить тело цикла заранее заданное количество раз. Параметр - переменная порядкового типа - на каждой итерации увеличивается или уменьшается на одно значение.


Слайд 14

Формат оператора for <параметр> : = <выражение 1> to <выражение 2> do <тело цикла>; S:=0; for i:=1 to 20 do s:=s+i;


Слайд 15


Слайд 16

for i:=1 to 20 do s:=s+i;


Слайд 17

Формат оператора for <параметр> : = <выражение 1> downto <выражение 2> do <тело цикла>; S:=0; for i:=20 downto 1 do s:=s+i;


Слайд 18

for i:=20 downto 1 do s:=s+i;


Слайд 19

Задача Найти нечетные и кратные 3 числа в диапазоне от 30 до 60. Распечатать их в порядке убывания.


Слайд 20

Решение var i : byte; begin for i := 60 downto 30 do if ( i mod 3 =0) and ( odd i ) then writeln ( i ); end.


Слайд 21

Замечания Если тело цикла содержит несколько действий, то эти действия заключаются в операторные скобки begin … end. В теле цикла запрещается явное преобразование счетчика. После нормального завершения цикла значение счетчика не определено.


Слайд 22

Замечания Для аварийного выхода из циклов или внеочередного перехода к следующей итерации существуют две процедуры модуля SYSTEM: BREAK - прекращает выполнение тела цикла и переходит к оператору, следующему за циклом; CONTINUE – передает управление на условие продолжения или завершения тела цикла, так что начинается следующая итерация.


Слайд 23

Общие рекомендации Используйте цикл с параметром, когда знаете, сколько раз должно выполняться тело цикла; Используйте цикл с постусловием, если необходимо, чтобы тело цикла выполнилось хотя бы один раз; Используйте цикл с предусловием, если хотите, чтобы проверка была произведена прежде, чем выполнится тело цикла.


×

HTML:





Ссылка: