Презентация по информатике Циклы с предусловиями и постусловиями в языке программирования Pascal
Циклы с предусловием «Пока» и с постусловием «До» в языке программирования Pascal Бочкарева Людмила Андреевна учитель информатики и ИКТ Как записывается арифметический цикл ? Для какого-либо повторяющегося действия For i:=A to B do S Для чего применяются циклы? Какого типа она должна быть? С каким шагом она изменяется? integer Что такое переменная – счетчик цикла? Это переменная, которая изменяет своё значение от заданного начального значения до конечного значения с некоторым шагом 1 Определите, какое количество раз выполняются операторы цикла? FOR X := 10 TO 12 do writeln (5,’ ‘); Какое значение примет переменнаяY после выполнения цикла: Y:=0;
FOR X := 3 TO 5 do Y: = Y+X; Какое значение выдаст программа на экране монитора? FOR X := 5 DOWNTO 1 DO write (x,’ ‘); 3 раза Y=12 5 4 3 2 1 Проверка домашнего задания 1. Подсчитать произведение чисел от 1 до 100 2. Напечатать числа следующим образом: 10 10.4 11 11.4 12 12.4 … … 25 25.4 05.11.14 При составлении программ часто возникают ситуации, когда 1. Заранее не известно количество повторений цикла;2. Переменная – счетчик цикла должна изменяться с шагом ≠ 1.В таких случаях используют P-условие Выполнение оператора цикла с предусловием начинается с проверки условия, записанного после слова while. Если оно истинно, то выполняется <тело цикла>, а затем вновь проверяется условие и т.д. Как только на очередном шаге окажется, что условие ложно, то выполнение <тела цикла> прекратится. 2. Если условие заранее ложно, то тело цикла может быть не выполнено ни разу3. Если <тело цикла> состоит из нескольких операторов, то они объединяются операторными скобками.4. Если условие все время будет истинно, то произойдет зацикливание Задача 1. Найти все двузначные числа, кратные 7. Начало Конец k:=14 K<=99 k:=k+7 Вывести k + - Program pr1;
При использовании логических циклов необходимо всегда заботиться о том, чтобы переменная, использующаяся в условии завершения цикла, каким-то образом обязательно изменялась в теле цикла. Это может быть команда присваивания ( как в данной программе) или команда ввода. end. readln; end; k:=k+7; Writeln(k); Begin While k<=99 do k:=14; Clrscr; Begin Var k: integer; Uses Crt; Вывести в строку все трёхзначные числа кратные 5. Задача 2 Какое самое наибольшее трёхзначное число ? 999 Какие числа делятся на пять ? 15…210…365… Какое наименьшее трёхзначное число, делящееся на 5 ? 100 P-условие Сначала выполняется тело цикла, затем проверяется условие, если оно ложно, то тело цикла выполняется еще раз до тех пор пока условие не станет истиннымНе зависимо от проверки условия, тело цикла выполняется хотя бы один раз3. Repeat и Until сами являются операторными скобками4. Если условие все время будет ложно то произойдет зацикливание Оператор цикла с постусловием repeat <тело цикла> until <условие>; Program pr3; Начало Конец sum:=0 k:=1 k>10 Sum:=sum+1/k
k:=k+1 ‘Summa=‘,sum + - Задача 3. Найти сумму последовательности Uses Crt; Var K: integer;
sum: real; Begin Clrscr; sum:=0; k:=1; Repeat Sum:=sum+1/k; k:=k+1; Until k>10; Writeln(‘Summa=‘,sum:5:3); readln; end. Задача 4 Найти сумму квадратов чисел на отрезке [0;1] с шагом 0.1. (Использовать цикл Repeat) Чему будет равно начальное значение суммы? Сумма = 0 Чему будет равно начальное значение управляющей переменной цикла? 0 Дан отрезок от 0 до 1 с шагом 0.1, какая получается последовательность? 0 0.1 0.2 0.3 0.4 … 1 Как подсчитать сумму КВАДРАТОВ этих чисел? 0*0 + 0.1*0.1 + 0.2*0.2 + … + 1*1 Домашнее задание Составить программу нахождения чётных чисел в интервале от 10 до 40 (цикл WHILE)Составить программу нахождения суммы последовательности (цикл REPEAT) Сегодня мы познакомились с логическими циклами While и Repeat.Рассмотрели примеры использования этих циклов.Узнали об их отличиях и особенностях применения. В цикле While проверка условия выполнения цикла находится в начале цикла, а в Repeat – в конце. Цикл Repeat всегда выполняется хотя бы один раз, а цикл While может не выполнятся ни разу.В цикле While выход из цикла осуществляется, если условие ложно, а в Repeat – если условие истинно.Между словами Repeat и Until можно размещать несколько операторов без Begin и End, а цикл While…do может содержать только один оператор тела цикла; поэтому нужно использовать Begin и End.