Реализация программ с циклом с предусловием. Формат и действие оператора После слова WHILE выполняется проверка условия. При значении условия «истина»

Презентация:



Advertisements
Похожие презентации
program Stepeny a; Uses Crt; var a,b,c : real; begin writeln ( Введите числа a и b ); readln ( a, b ); c := a; while c < b do begin writeln (c:8:2) ;
Advertisements

program Stepeny_a; Uses Crt; var a,b,c : real; begin writeln ( Введите числа a и b ); readln ( a, b ); c := a; while c < b do begin writeln (c:8:2) ;
LOGO ЦИКЛ С ПАРАМЕТРОМ. СРАВНИТЕЛЬНАЯ ХАРАКТЕРИСТИКА С ЦИКЛАМИ С УСЛОВИЕМ Кременчугская общеобразовательная школа I-III ступеней 17 «Выбор» имени Н.Г.
Оператор цикла с предусловием Пашкова Ольга Анатольевна г. Воткинск,
Язык программирования Паскаль 7 часть. for i:=n1 to n2 do begin оператор_1; оператор_2; end; В теле цикла со счетчиком имеется возможность использовать.
АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ В TURBO PASCAL Условие Оператор ДаНет Учитель информатики: Коваленко Татьяна Викторовна
Цикл – это команда исполнителю многократно повторить указанную последовательность действий.
Оператор цикла с предусловием. Оператор цикла с предусловием используется в тех случаях, когда заранее неизвестно число повторений цикла. Форма записи.
Цель : Показать сходство и различие вложенных циклов в языках программирования QBasic и Turbo Pascal 7.0.
Операторы цикла с условием 9 класс Раздел: Основы алгоритмизации и программирование на языке Pascal.
1 Программирование на языке Паскаль Тема 4. Циклы.
Организация программ циклической структуры. Виды циклов: Цикл с предусловием (while) Цикл с постусловием (repeat) Цикл с параметром (for)
Задача: даны два числа, найти их наибольший общий делитель.
Циклы на языке Pascal повторение. Циклы позволяют многократно выполнять одну или группу команд, причем в тексте программы нет необходимости записывать.
Организация повторений в Паскале. i,1,n Действие 1 Действие 2 i,1,n Действие 1 Действие 2 FOR i:=1 TO N DO BEGIN действие 1; действие 2; END; FOR i:=1.
Задача: даны два числа, найти их наибольший общий делитель.
ЦИКЛ «ДО» i:=1,n действия … FOR i:=1 TO n DO Begin Действия End; …
Тема урока Переменная. Тип данных. Ввод и вывод данных.
Организация повторений в Паскале. Найди ошибки: Program new Uses crt; Var a, b, c integer Begin clrscr Readln(a,b); C:=a*a+b*b Wreteln(c); End.
Операторы цикла © М.Е.Макарова. Цикл - это команда исполнителю повторить заданное количество раз, указанную последовательность команд В языке программирования.
Транксрипт:

Реализация программ с циклом с предусловием

Формат и действие оператора После слова WHILE выполняется проверка условия. При значении условия «истина» (true) выполняется тело цикла, записанное после слова DO. Далее управление вновь передаётся на проверку условия. Если же значение условия «ложь» (false) цикл заканчивается и следует продолжение программы. WHILE условие DO оператор;

Формат и действие оператора !Если после слова DO тело цикла состоит из более одного оператора, то они записываются в операторных скобках BEGIN – END WHILE условие DO BEGIN оператор 1; оператор 2; … оператор n-1; оператор n; END; WHILE условие DO BEGIN оператор 1; оператор 2; … оператор n-1; оператор n; END;

Формат и действие оператора !В цикле с предусловием тело цикла может не выполниться ни разу, если при первой же проверке условия его значение принимает значение «ложь». Например: k:=3; WHILE k>=5 DO BEGIN s:=s+k; k:=k+1; END; 3>=5 Тело цикла не выполнится ни разу

Формат и действие оператора !Условие оператора с предусловием необходимо подбирать таким образом, чтобы в определённый момент его значение изменилось с «истина» на «ложь», иначе возникнет «зацикливание» программы. Например: k:=6; WHILE k>=5 DO BEGIN s:=s+k; k:=k+1; END; 6>=5 «зацикливание» 7>=5 k:=7 k:=8 8>=5

Примеры реализации цикла «пока» в виде программ

Написать программу вычисления произведения целых положительных чисел и суммы отрицательных чисел, вводимых с клавиатуры, а также количество отрицательных и положительных чисел. Вычисление прекратить при вводе числа 0 Пример работы программы: Введите первое число 7 Введите следующее число -18 Введите следующее число Введите следующее число -6 Введите следующее число 5 0 Количество положительных чисел = 4 Произведение положительных чисел =630 Количество отрицательных чисел = 3 Сумма отрицательных чисел = -28

Определим переменные: x – число, вводимое с клавиатуры s – сумма отрицательных чисел p – произведение положительных чисел k – количество положительных чисел m – количество отрицательных чисел

Program Wer; Uses crt; Var s,p,x,k,m:integer; Begin Clrscr; s:=0; p:=1; k:=0; m:=0; Writeln(Введите первое число); Readln(x); While x<>0 do begin if x>0 then begin p:=p*x; k:=k+1; end else begin s:=s+x; m:=m+1; end; Writeln(Введите следующее число); Readln(x); end; Writeln(Количество положительных чисел =, k); Writeln(Произведение положительных чисел =, p); Writeln(Количество отрицательных чисел =, m); Writeln(Сумма отрицательных чисел =, s); Readkey; End. Объявляем переменные Присваиваем начальное значение Условие цикла Тело цикла Вывод результатов Процедура задержки экрана Ввод первого числа до цикла

Подарок Мой богатый дядюшка подарил мне один доллар в мой первый день рождения. В каждый следующий день рождения он удваивал свой подарок и прибавлял к нему столько долларов, сколько лет мне исполнилось. Написать программу, указывающую, к какому дню рождения подарок превысит 100$. Определим переменные: k – число лет s – сумма в долларах

Program Podarok; Uses crt; var k, s:integer; Begin k:=1; s:=1; While s<=100 do begin k:=k+1; s:=s*2+k; end; Writeln( К, k, дню рождения сумма >100$ ); Readkey; End. Присваиваем начальное значение Увеличиваем количество лет

Алгоритм Эвклида Это алгоритм вычисления наибольшего общего делителя (НОД) двух целых положительных чисел Он основан на следующих свойствах величин: пусть a и b - одновременно 0, и пусть a b. Если b=0, то НОД(a,b) = a, Если b 0, то для чисел a,b,c, где c - остаток от деления a на b (c = a mod b) выполнено равенство: НОД(a,b)=НОД(b,c) Например: НОД(15,6)=НОД(6,3)=НОД(3,0)=3 Пример работы программы: Введите два числа 15 6 НОД=3 Введите два числа 15 6 НОД=3

Program Evklid; Uses crt; Var a,b,c: integer; Begin Clrscr; Writeln (Введите a, b. (a>b)); readln( a, b); While b>0 do begin c:= a MOD b; a:= b; b:= c; end; Writeln (NOD(a,b)=, a); Readkey; End. Объявляем переменные Условие цикла Тело цикла Вывод результата

«Бегущий» символ Используя возможности модуля CRT, написать программу, в которой символ «звёздочка» (*) пробегает по всему периметру экрана из верхнего левого угла. *********************** *********************** * * * * * * * * * * * * * *

«Бегущий» символ Определим переменные: x – позиция в строке y – номер строки Начальное значение: x:= 3; y:= 2; Количество символов в строке – 76 (max 80) Количество строк – 48 (max 50) отступ от края экрана

Program Stroka; Uses crt; Var x,y: integer; Begin Clrscr; x:=3; y:=2; While x<=77 do begin GoToXY(x,2); Write(*); Delay(10000); x:=x+1; end; While y<=48 do begin GoToXY(x,y); Write(*); Delay(10000); y:=y+1; end; Процедура позиционирования курсора Процедура временной задержки (аргумент задается в микросекундах), если требуется выводить символы не сразу, а постепенно Для вывода символа в направлении из верхнего левого в нижний правый угол экрана значение x и y изменяется на +1.

While x>=4 do begin GoToXY(x,y); Write(*); Delay(10000); x:=x-1; end; While y>=2 do begin GoToXY(x,y); Write(*); Delay(10000); y:=y-1; end; Readkey; End. Для вывода символа в направлении из нижнего правого угла в нижний левый угол экрана значение x изменяется на -1. Для вывода символа в направлении из нижнего левого угла в верхний левый угол экрана значение y изменяется на -1.

Самостоятельная работа: Царевна - лягушка съедает ежедневно на 20% комаров больше, чем в предыдущий день, и еще 2 комара. Через сколько дней количество съеденных комаров в день превысит 100, если в первый день было съедено 12 комаров. Составьте программу для решения задачи.

Проверка: Program Frog; var m:integer; x:real; Begin m:=1; x:=12; while x<=100 do begin m:=m+1; x:=x*1.2+2; end; Writeln(Через,x:4:2, дней); Readkey; End.