Презентация _Циклы While и Repeat_. Арифметические и итерационные Арифметический цикл
Скачать 492 Kb.
|
ЦИКЛЫЦикл – это повторяющаяся последовательность операторов. Циклы бывают арифметические и итерационные Арифметический цикл – это такой цикл, число повторений которого известно заранее. В Pascal такой цикл обычно реализуется с помощью оператора for. Итерационный цикл – это такой цикл, число повторений которого заранее неизвестно и выход из цикла производится в случае выполнения или невыполнения какого-то условия. В Pascal такие циклы обычно реализуются с помощью операторов while и repeat Цикл forЦикл forПринцип работы: Сначала счетчику цикла присваивается начальное значение. Если это значение не больше конечного значения, то выполняется тело цикла. Затем значение счетчика увеличивается на 1 и опять сравнивается с конечным значением. Если оно по-прежнему не больше конечного значения, то оператор выполняется еще раз и так далее. Замечание: если тело цикла состоит из одного оператора, то begin и end можно опустить Принцип работы: как и в первом случае, пока начальное значение не меньше конечного значения, то выполняется тело цикла. Затем значение счетчика уменьшается на 1 Задачи:1) Написать программу, которая выводит на экран все натуральные числа от 1 до n 2) Написать программу, которая подсчитывает сумму натуральных чисел от 1 до n 3) Написать программу, которая считает xn для вещественного x и натурального n 4) Написать программу, которая выводит на экран: 20 40 80 160 320 5) Написать программу, которая подсчитывает произведение натуральных чисел от 1 до n Решение Решение задач ОГЭДан фрагмент программы. Чему будет равна переменная s в результате работы данной программы? Решение: В этой задаче есть цикл for. Тело цикла будет выполняться 4 раза (при n=2,3,4,5). s=2 n=2 s=2+2*2=6 n=3 s=6+3*2=12 n=4 s=12+4*2=20 n=5 s=20+5*2=30 Программа выводит значение переменной s, значит на экране будет число 30 Ответ: 30 Задачи Даны фрагменты программы. Что будет напечатано на экране в результате работы данных программ?Цикл While (цикл с предусловием)Общий вид цикла whileЦикл while организует выполнение тела цикла неизвестное заранее число раз. Выход осуществляется, если условие окажется ложным. Принцип работы: перед каждым выполнением цикла анализируется условие: если оно истинно, выполняется тело цикла и управление передается на повторную проверку условия. Если условие ложно – цикл завершается и управление передается на оператор, следующий за циклом while. Замечания:Если условие во время цикла не будет изменяться, то возможна ситуация зацикливания, т.е. цикл не закончится никогда. Поэтому внутри цикла должны находится операторы, приводящие к изменению условия, чтобы цикл мог корректно завершиться Если тело цикла состоит из одного оператора, то begin и end можно опустить Пока истинно условие i<=n, будет выполняться тело цикла: 1) вывод числа i 2) увеличиваем на единицу значение i Задача: написать программу, которая выводит на экран все натуральные числа от 1 до n Решение: умеем составлять алгоритм с циклом forПрограмма с циклом for Program m1; var i,n:integer; begin writeln('Введите n'); readln(n); for i:=1 to n do write(i,' '); end. Программа с циклом while Program m2; var i,n:integer; begin writeln('Введите n'); readln(n); i:=1; while i<=n do begin write(i,' '); i:=i+1; end; end. var k, s: integer; begin s:=0; k:=1; while s < 66 do begin k:=k+3; s:=s+k; end; write(k); end. var k, s: integer; begin s:=0; k:=0; while k < 30 do begin k:=k+3; s:=s+k; end; write(s); end. var k, s: integer; begin s:=1; k:=0; while k < 13 do begin s:=s+2*k; k:=k+4; end; write(s+k); end. var n, s: integer; begin n := 4; s := 0; while n <= 8 do begin s := s + n; n := n + 1 end; write(s) end. var k, s: integer; begin s:=0; k:=0; while s < 100 do begin s:=s+k; k:=k+4; end; write(k); end. var k, s: integer; begin s:=5; k:=0; while k < 15 do begin k:=k+2; s:=s+k; end; write(s); end. Задачи:1) Напечатать целые числа -10, -5, 0, 5…20 2) Найти произведение чисел из диапазона от A до B (A<=B) с шагом h Вход: 1 15 5 Вход: 10 100 30 Выход: 66 Выход: 2800000 3) Для заданного натурального n и действительного x подсчитать сумму Вход: 3 Вход: 2 Выход: 14 Выход: 5 4) Напечатать таблицу перевода расстояний в дюймах в сантиметры для значений 10, 11, 12,…20 дюймов (1 дюйм=2,54 см) Выход: 10 дюймов=25,4 см 11 дюймов=27,94 см … 20 дюймов=50,8 см Решение___Задачи'>Решение Задачи:5) Напечатать все целые значения от A до B с шагом h. Вход: 1 10 2 Вход: 5 20 5 Выход: 1 3 5 7 9 Выход: 5 10 15 20 6) Найти сумму чисел из диапазона от A до B с шагом 3. Вход: 1 15 Вход: 0 10 Выход: 35 Выход: 18 7) Для заданного натурального n и действительного x подсчитать сумму Вход: 3 Вход: 5 Выход: 1.83 Выход: 2.28 8) Напечатать таблицу соответствия между весом в фунтах и весом в килограммах для значений 5,10,15…50 фунтов (1 фунт=0,453 кг) Выход: 5 фунтов=2,265 кг 10 фунтов=4,53 кг … 50 фунтов=22,65 кг Решение Цикл repeat (цикл с постусловием)Общий вид циклаПринцип работы: выполняется тело цикла. Если <условие> истинно, то выполнение цикла завершится. Если <условие> ложно, то снова выполняется тело цикла Замечания:т. к. условие завершения цикла проверяется в конце цикла, то операторы тела цикла выполнятся хотя бы один раз В цикле repeat, так же как и в операторе while возможна ситуация зацикливания в случае, если <условие> всегда будет оставаться ложным Программа с циклом while Program m2; var i,n:integer; begin writeln('Введите n'); readln(n); i:=1; while i<=n do begin write(i,' '); i:=i+1; end; end. Программа с циклом repeat Program m3; var i,n:integer; begin writeln('Введите n'); readln(n); i:=1; repeat write(i,' '); i:=i+1; until i>n end. Задачи:1) Напечатать все целые значения от A до B с шагом h. Вход: 1 10 2 Вход: 5 20 5 Выход: 1 3 5 7 9 Выход: 5 10 15 20 2) Для заданного натурального n и действительного x подсчитать сумму Вход: 3 Вход: 2 Выход: 14 Выход: 5 3) Для заданного натурального n и действительного x подсчитать сумму Вход: 3 Вход: 5 Выход: 1.83 Выход: 2.28 Решение |