"Оператор цикла с условием в Pascal"
план-конспект урока по информатике и икт по теме
Данная презентация может быть использована при изучении в языке программирования Pascal оператора цикла с условием.
Скачать:
Вложение | Размер |
---|---|
![]() | 310.84 КБ |
Предварительный просмотр:
Подписи к слайдам:
Оператор цикла с предусловием Формат оператора : while < условие > do < оператор > Тело цикла Условие да нет Здесь while ( пока ) и do (выполнить ) --- служебные слова. < условие > - логическое выражение; пока оно истинно, выполняется тело цикла; < оператор > - простой оператор , с помощью которого записано тело цикла. while < условие > do begin операторы циклической части программы end; или:
Оператор цикла с предусловием while < условие > do begin операторы циклической части программы end; Выполнение оператора: 1). Вычисляется логическое выражение и проверяется условие. 2). Пока значение логического выражения истинно выполняются операторы циклической части. 3). Как только оно становится ложным , происходит выход из цикла . Если с самого начала значение логического выражения ложно, то операторы циклической части не выполняются ни разу. Возможен случай, когда в циклической части стоит оператор перехода ( goto ) , передающий управление за пределы цикла. В такой ситуации цикл может завершится до его естественного окончания.
Задача 1 Мой богатый дядюшка подарил мне один доллар в мой первый день рождения. В каждый следующий день рождения он удваивал свой подарок и прибавлял к нему столько долларов, сколько лет мне исполнилось. Рассмотрим программу, указывающую, к какому дню рождения подарок превысит 100$. program PODAROK ; var i , S : integer ; begin i:=1; S:=1; while S< = 100 do begin i:= i+1; S:=S*2+i end ; writeln ( ' сумма = ‘, S ) writeln ( ' количество лет = ‘, i ) end .
Задача2 Перед вами программа вычисления суммы элементов ряда: Вычисления заканчиваются , когда очередное слагаемое становится меньше 0.05 1 / N>0.05 да S=S+1 / N N=N+1 N=1, S=0 нет печать S , N Блок-схема: Program SUMMA; var S: real; N: integer ; begin S:=0; N:=1; while 1 / N>0.05 do begin S:= S+1 / N; N:=N+1 end; writeln ( ' Сумма = ', S:10:9) end.
Задача 3 Проанализируем алгоритм вычисления суммы ряда: представленный в виде блок-схемы. Вычисления будут закончены, когда очередное слагаемое станет меньше числа 0,001 . Блок-схема :
Program SUMMA; var s: real; n: integer ; begin s :=0; n:= 1; while n /((n+1)*(n+4)) >=0.001 do begin S := S + n / ((n+1)*(n+4 )); n := n + 1 end ; writeln ( ' Сумма = ', s); end. Задача 3 Перед вами программа вычисления суммы ряда : Вычисления заканчиваются тогда, когда очередное слагаемое становится меньше числа 0,001 .
program fact; VAR Factorial , N: Integer ; BEGIN Factorial := 1; { стартовое значение факториала =0! } N := 1; { стартовое значение для условия цикла } WHILE N<=10 DO { заголовок цикла, условие } begin { начало тела цикла } Factorial := Factorial*N; { вычисление факториала N! } N := N + 1 {N должно меняться в цикле} end; { конец тела цикла } WriteLn (’10!= ’,Factorial); { вывод результата} END. Задача4 Рассмотрим алгоритм вычисления факториала: 10! = 1·2·3·4·5·6·7·8·9·10 с помощью программы :
Задача5 Наша задача усложняется. Нужно вычислить сумму: S=1+1/2 !+1/3!+...+1/N ! (при целом N>0 ). Program SUMMA; var s , f: real; i , n: integer ; begin write ( ' Введи N= '); readln (n ); s:=1 ; f :=1 ; i:= 2; while i <= n do begin f :=f*i; s := s+1/f end; writeln ( ' Сумма = ',s:10:9); end. В этой задаче в одном цикле объединено нахождение суммы и вычисление факториала очередного слагаемого.
Задача 6 Рассмотрим программу нахождения наибольшего общего делителя ( NOD ) двух целых чисел : M и N по алгоритму Евклида. program Evklid ; var M, N, NOD: integer; begin writeln ( 'Введите два числа ' ); readln (M, N); while M<>N do if M>N then M:=M-N else N:=N-M; NOD := M ; writeln 'НОД = ', NOD ); end. Начало Ввод M и N M N N=N-M M=M-N M N нет да да нет Вывод M Конец
Здесь: repeat ( повторить ) и until ( до тех пор пока ) -- служебные слова. < оператор1 >; < оператор2 >; … - операторы, образующие тело цикла; < условие > - логическое выражение; если оно ложно, то выполняется тело цикла. Тело цикла Условие да нет Оператор цикла с последующим условием Формат оператора: repeat < оператор1; оператор2; …; > until < условие >
Оператор цикла с предварительным условием Выполнение оператора: 1) . Операторы циклической части ( оператор1; оператор2; …; ) выполняются один раз, затем проверяется логическое условие. 2). Если логическое условие ложно , то снова повторно выполняются операторы циклической части. 3). Условием прекращения циклических вычислений является истинное значение логического выражения после UNTIL . Следует подчеркнуть , что нижняя граница операторов циклической части четко обозначена словом UNTIL , поэтому нет надобности заключать операторы циклической части в скобки вида BEGIN --- END . В то же время и дополнительное наличие скобок не является ошибкой . repeat < оператор1; оператор2; …; > until < условие >
Задача7 Рассмотрим программу вычисления и печати элементов последовательности , каждый из которых вычисляется по формуле : где n – порядковый номер элемента. Вычисления продолжаются пока x n +1 – x n > 0.001 . Программа: Program progr ; var A, B: real; n: integer ; begin n:=1; A := (2*n – 1)/(2*n ); n:=n+1; B = (2*n – 1)/(2*n) repeat writeln (‘ элемент= ', A, ‘ его номер= ‘, n-1); A := (2*n – 1)/(2*n); n:=n+1; B = (2*n – 1)/(2*n ); until ABS (A - B) < 0.001; readln ; end .
Для решения одной и той же задачи могут быть созданы разные программы, например, для следующей задачи: Составить программу, которая организует ввод целых чисел и подсчёт количества введённых положительных и отрицательных чисел. Ввод должен осуществляться до тех пор, пока не будет введён ноль. В задаче в явном виде задано условие окончания работы. Воспользуемся оператором repeat ( повторить ) Различные варианты программирования циклического алгоритма
program n_17; var n, k1, k2: integer ; begin k1:=0 ; k2 :=0; repeat write ('Введите целое число>>'); readln (n); if n>0 then k1:=k1+1; if n<0 then k2:=k2+1; until n=0 ; writeln ('положительных чисел – ', k1 ); writeln ('отрицательных чисел – ', k2 ) end . да нет Ввод n n > 0 Начало Список данных n, k1, k2 - цел n < 0 n = 0 Вывод k1 , k2 Конец k1:= 0 k2 :=0 k1:=k1+1 k2:=k2+1 да да нет нет Подсчет количества положительных и отрицательных чисел.
Ввод осуществляется до тех пор, пока не будет введён ноль. Работа продолжается, пока n 0. Воспользуемся оператором while : program n_18; var n, k1, k2: integer ; begin k1:=0 ; k2:=0 ; n:= 1 ; while n<>0 do begin writeln ('Введите целое число>>'); read (n); if n>0 then k1:=k1+1; if n<0 then k2:=k2+1; end ; writeln ('положительных – ', k1); writeln ('отрицательных – ', k2) end . да n > 0 да нет Ввод n Начало Список данных n, k1, k2 - цел n <> 0 Вывод k1 , k2 Конец k1:= 0 k2 :=0 n:= 1 k1:=k1+1 k2:=k2+1 нет
Выучить конспект урока. 2. Задача. Составьте программу , которая напечатает элементы, каждый из которых вычисляется по формуле: где n - порядковый номер слагаемого . Вывод закончить, когда очередной элемент станет меньше числа 0,001 . Задание на дом:
По теме: методические разработки, презентации и конспекты
Урок информатики по теме: Операторы цикла языка Pascal. 10 класс
Здесь предложен урок по теме: операторы цикда языка Pascal. Данный урок может буть третим/ четтвёртыв по данной теме. Он предусматривает как проверку теоретических знаний обучающихся, так и реше...
![](/sites/default/files/pictures/2023/06/01/picture-22541-1685620871.jpg)
Конспект урока информатики в 9 классе "Операторы ввода и вывода в Pascal"
Урок разработан и проведен в рамках районного семинара учителей информатики. Содержит ЦОР сопровождения урока, выполненный в программе E-PUBLISH. К уроку составлена структурно-информационная карта, оц...
![](/sites/default/files/pictures/2012/08/29/picture-103580.jpg)
Реализация циклического алгоритма в среде Turbo Pascal. Оператор цикла с параметром
Урок по предметной области “Информатика” для 9-10 класса Данный материал представляет разработку урокапо теме “Реализация циклического алгоритма в среде TurboPascal. Оператор цикла с парам...
![](/sites/default/files/pictures/2015/02/17/picture-549862-1424157700.jpg)
"Оператор цикла с параметром в Pascal"
Данная презентация предназначена для изучения оператора цикла с параметром в среде программирования Pascal....
Программирование циклов. Оператор цикла While и For. Решение задач.
конспект урока 9 класс...
![](/sites/default/files/pictures/2020/03/06/picture-904454-1583496911.png)
Урок "Графика на языке программирования Pascal. Использование оператора цикла в программах"
Знакомство с оператором цикла с параметром, создание изображений...