Similar presentations:
Решение задач с использованием оператора циклов
1. Решение задач с использованием оператора циклов
2. ОПРОС по теме: «Решение задач с использованием оператора циклов»
1. Что такое цикл?2. Для чего предназначена метка? В каком
разделе она указывается?
3. Какой формат записи метки в
программе?
4. Что такое тело цикла?
5. Что обозначает оператор GOTO? Для
чего он предназначен?
6. Приведите простейший пример цикла.
3. Оператор цикла for
Цикл for задаёт определённое условие по которому программабудет работать до его выполнения. У цикла for есть характерная
черта – счетчик который обычно обозначается буквой i или j.
Формат оператора for :
for имя := <выражение 1> to < выражение 2> do <оператор>
для
до
делай
Например:
for j:=a+b to 2*s do k:=k+1
4. Принцип работы оператора for
Прежде всего вычисляется выражение1, и переменной цикла(пусть это будет i) присваивается его значение. Затем
вычисляется выражение2 и сравнивается с i. Если i >
выражения2, то оператор for завершает свою работу, так ничего
и не сделав. В противном случае выполняется оператор, стоящий
после do. После выполнения этого оператора значение i
увеличивается на 1 и снова сравнивается с выражением2. Если i
> выражения2, то оператор for завершает свою работу, иначе
снова выполняется оператор, стоящий после do, снова i
увеличивается на 1 и т.д.
5. Блок-схема оператора for
6. Оператор цикла while
Оператор цикла while выполняет действия заранее неизвестноечисло раз. Выход из цикла осуществляется, если некоторое
логическое выражение или его результат окажется ложным. Так
как верность логического выражения проверяется в начале, тело
цикла может не выполнится ни одного разу.
Формат оператора while:
While <условие> do <оператор>.
Пока
делай
Например:
while a>b do b:=b+1.
7. Принцип работы оператора while
Сначала компьютер проверяет истинность условия, стоящегопосле слова while. Если условие истинно, то выполняется
оператор, стоящий после do. Затем снова проверяется
истинность условия и в случае истинности снова выполняется
этот оператор. И т.д. Если условие ложно, то оператор while
прекращает свою работу и компьютер переходит к выполнению
следующего оператора.
8. Блок-схема оператора while
9. Оператор цикла repeat
Оператор repeat аналогичен оператору while, но отличается от него тем, чтопроверка условия производится после выполнения тела (действий) цикла. Это
обеспечивает его выполнение хотя бы один раз в отличие от ранее
разобранных циклов.
Обратите внимание на то, что данный оператор цикла предполагает наличие
нескольких операторов в теле цикла, то есть можно выполнять несколько
действий, поэтому служебные слова Begin и End не нужны.
Формат оператора repeat :
repeat <оператор>, <оператор>,… <оператор> until < условие>
повторяй
до тех пор
Например:
repeat b:=b+1 until a>b
10. Принцип работы оператора repeat
Сначала компьютер по очереди выполняет операторы, стоящиепосле слова repeat, пока не дойдет до слова until, после чего
проверяет истинность условия, стоящего после until. Если
условие ложно, то компьютер снова по очереди выполняет эти
операторы и снова проверяет истинность условия и т.д. Если
условие оказывается истинным, то работа оператора repeat
прекращается и компьютер переходит к выполнению
следующего по порядку оператора.
11. Блок-схема оператора repeat
12. Поэтапное решение задачи
Задание 1. . Напишите программу, которая после выводасообщения «Введите число» делила бы число на 2 до тех пор, пока
частное не будет менее 10.
Этап решения
Описание
1. Постановка задачи – определение исходных
данных и искомых результатов
Дано а – вводимое число, которое является
типом данных real. Необходимо произвести
деление вводимого числа на 2 до тех пор пока
частное будет менее 10
2. Формализация – переход к задаче обработки
некоторый знаковой системы (математ. задаче)
а:=а/2;
а<10
13.
Этап решенияОписание
3. Построение алгоритма – определение
структуры алгоритма,
последовательность команд
Начало
а
а:=а/2
нет
а<10
да
Конец
14.
Этап решения4. Составление программы –
запись и отладка программы на
языке программирования
5. Тестирование
Описание
Program test1;
Var a:Real;
Begin
Writeln (‘Введите число');
Readln (a)
a:=100;
Repeat a:=a/2;
Until a<10;
Writeln(a:0:2);
End.
Протестируйте программу на Турбо Паскале 7.0
15. Поэтапное решение задачи
Задание 2. Напишите программу, которая после вывода сообщения«Начало счета» начала бы счет от 3 до 9 с интервалом 2, а после
выводила бы сообщение «Конец счета». Используйте оператор
while и repeat.
Этап решения
Описание
1. Постановка задачи – определение исходных
данных и искомых результатов
Дано а=3. Нужно задать цикл от 3 до 9 с
интервалом =2.
2. Формализация – переход к задаче обработки
некоторый знаковой системы (математ. задаче)
а= а+2
а<=9
16.
Этап решения3. Построение алгоритма – определение
структуры алгоритма,
последовательность команд
Описание
Начало
а
нет
а<=9
да
а=а+2
Конец счета
Конец
17.
Этап решения4. Составление программы –
запись и отладка программы на
языке программирования
5. Тестирование
Описание
Program test1;
VAR
а:Integer;
BEGIN
Write('Начало счета');
а:=3;
while а<=9 do
begin
Write(а,' ');
а:=а+2;
end;
Write(' Конец счета')
END.
Протестируйте программу на Турбо Паскале 7.0
18. Поэтапное решение задачи
Пример задания аналогичное заданию 3.Напишите программу, которая 5 раз напечатает слово «УРА».
Этап решения
Описание
1. Постановка задачи – определение исходных
данных и искомых результатов
Нужно задать цикл со словом «УРА», которое
будут напечатано 5 раз.
2. Формализация – переход к задаче обработки
некоторый знаковой системы (математ. задаче)
1<=i<=5
19.
Этап решения3. Построение алгоритма – определение
структуры алгоритма,
последовательность команд
Описание
Начало
i
1<=i<=5
нет
да
УРА
Конец
20.
Этап решения4. Составление программы –
запись и отладка программы на
языке программирования
5. Тестирование
Описание
Program test4;
VAR i : Integer;
BEGIN
for i:=1 to 5do
WriteLn('УРА')
END.
Протестируйте программу на Турбо Паскале 7.0
21. Домашнее задание
Семакин И. Г. Информатика. Базовый уровень: учебник для 10класса. С. 143-163.