На этом уроке мы познакомимся c организацией логических циклических структур на языке Турбо-Паскаль.
Для чего применяются циклы? Для чего применяются циклы? Как записывается арифметический цикл ? Как записывается арифметический цикл ? Что такое переменная –счетчик цикла? Что такое переменная –счетчик цикла? Какого типа она должна быть? Какого типа она должна быть? С каким шагом она изменяется? С каким шагом она изменяется?
При составлении программ часто возникают ситуации, когда 1. Заранее не известно количество повторений цикла; 2. Переменная – счетчик цикла должна изменяться с шагом 1. В таких случаях используют
- Это циклическое повторение блока команд, пока выполняется (или не выполняется) некоторое условие
1. В цикле While проверка условия выполнения цикла находится в начале цикла, а в Repeat – в конце. Цикл Repeat всегда выполняется хотя бы один раз, а цикл While может не выполнятся ни разу. 2. В цикле While выход из цикла осуществляется, если условие ложно, а в Repeat – если условие истинно. 3. Между словами Repeat и Until можно размещать несколько операторов без Begin и End, а цикл While…do может содержать только один оператор тела цикла; поэтому нужно использовать Begin и End.
Найти все двузначные числа, кратные 7. Начало Конец k:=14 K<=99 k:=k+7 Вывести k + - Program Kratn_7; Uses Crt; Var k: integer; Begin Clrscr; k:=14; While k<=99 do Begin Writeln(k); k:=k+7; end; readln; end. При использовании логических циклов необходимо всегда заботиться о том, чтобы переменная, использующаяся в условии завершения цикла, каким-то образом обязательно изменялась в теле цикла. Это может быть команда присваивания ( как в данной программе) или команда ввода.
Program Summa_2; Uses Crt; Var sum, x: real; K: integer; Begin Clrscr; sum:=0; k:=1; While sum<=10 do Begin Sum:=sum+1/k; k:=k+1; end; Writeln('Kolichestvo elementov=',k); readln; end. Начало Конец sum:=0 k:=1 sum<=10 Sum:=sum+1/k k:=k+1 Kolichestvo elementov =k + - При каком количестве слагаемых последовательности их сумма превысит 10?
Сегодня мы познакомились с логическими циклами While и Repeat. Узнали об их отличиях и особенностях применения. Рассмотрели примеры использования цикла WHILE. Обратили особое внимание на необходимость изменения в цикле переменной, которая участвует в условии завершения цикла.
С клавиатуры вводится произвольная последовательность положительных чисел, за которой следует 0. Определить: Максимальное число в этой последовательности Количество четных чисел.
Домашнее задание § 14, стр 113 1(а, б, в) § 14, стр 113 1(а, б, в) § 15, стр § 15, стр 115 1
1. Когда нельзя использовать цикл FOR? 2. Как записывается цикл WHILE? 3. Как записывается цикл REPEAT? 4. Назовите различия циклов WHILE и REPEAT.
Написать программу, которая «задумывает» число в диапазоне от 1 до 9 и предлагает пользователю угадать это число за 5 попыток. Пояснения к программе: Компьютер может «задумать» число с помощью функции Random Количество повторений цикла в этой задаче может быть от 1 до 5 – то есть, заранее не известно Так как пользователь должен сделать хотя бы одну попытку, то логично использовать команду цикла Repeat…until.
Program Ugaday_chislo; const Npop=5; var comp, igrok, n: integer; Begin Randomize; comp:=random(9)+1; Writeln ('Game "Угадай число" '); Writeln (Комптьютер загадывает число от 1 до 9); Writeln (Вы должны угадать это число'); Writeln (за 5 попыток'); repeat n:=n+1; Write (Введите число- '); readln(igrok); until (n=npop) or (comp=igrok); if comp = igrok then Writeln ('Win') else Writeln (' No win Chislo - ',comp); readln; end.
Алгоритм: Для того, чтобы не «потерять» заданное число, введем переменную y, значение которой сначала будет =x. С- целая часть от деления числа y на 10 R- остаток от деления y на 10 K- кол-во цифр в числе x Последовательно будем находить целую часть и остаток от деления числа y на 10. Именно остаток от деления будет очередной цифрой x. На каждом шаге будем изменять число y : присваивать ему значение целой части от деления y на 10. Для нахождения количества цифр организуем счетчик, значение которого будет увеличено на 1. Процесс повторяется пока значение числа y не станет меньше 1. Найти все цифры и их количество заданного произвольного целого числа x>0.
Program Zifry; Uses Crt; var x, y, c: longint; r, k: integer; Begin clrscr; Writeln ('Enter zeloe chislo do 10 snakov'); Readln (x); writeln; y:=x; k:=0; Writeln ('Zifry zadannogo chisla:'); repeat r:=y mod 10; c:=y div 10; k:=k+1; y:=c; Writeln (k,' zifra = ',r); until y<1; Writeln ('Chislo - ',x,' coderjit ', k, ' zifr'); readln; end. начало Ввод целого числа 0<x<10 k:=0;y:=x r:=y mod 10 c:=y div 10 k:=k+1; y:=c Цифры заданного числа x: k- ая цифра = r Число Х содержит k цифр Конец y<1 + -
Сегодня рассмотрели примеры использования цикла REPEAT.
Вывести на экран таблицу значений функции x 2 на отрезке[0,1] с шагом 0.1. Каждое число вывести в 8 позициях на отдельной строке.(Использовать команду Repeat)
Выучить конспект, повторить § 14 и 15. Написать программу, которая проверяет знание учениками таблицы умножения. Сомножители определяются с помощью функции Random. Каждому ученику дается 5 попыток, за которые программа выставляет оценку. Программу написать 3-мя способами – с использованием циклов For, While и Repeat.