Конспект урока по информатике на тему: Циклические алгоритмы
Конспект урока по информатике на тему: Циклические алгоритмы
Большинство практических задач требует многократного повторения одних и тех же действий, т. е. повторного использования одного или нескольких операторов.
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Цель: изучение алгоритмической структуры циклы, создание моделей и алгоритмов для решения практических задач.
Ход урока
Актуализация знаний
Повторить понятие алгоритма, основные конструкции алгоритмического языка.
Уметь разрабатывать математическую модель, алгоритм и блок схему решения задачи.
Иметь понятие о языках программирования и их назначении.
Уметь работать в среде программирования.
Знать структуры программы.
Уметь записывать выражения, содержащие числовые и символьные величины.
Знать структуры операторов и особенности их работы.
Уметь применять операторы при написании программ с линейными и ветвящимися структурами.
Уметь на компьютере создавать и запускать программы на отладку.
II. Теоретический материал урока
Большинство практических задач требует многократного повторения одних и тех же действий, т. е. повторного использования одного или нескольких операторов.
Пусть требуется ввести и обработать последовательность чисел. Если чисел всего пять, можно составить линейный алгоритм. Если их тысяча, записать линейный алгоритм можно, но очень утомительно и нерационально. Если количество чисел к моменту разработки алгоритма неизвестно, то линейный алгоритм принципиально невозможен.
Другой пример. Чтобы найти фамилию человека в списке, надо проверить первую фамилию списка, затем вторую, третью и т.д. до тех пор, пока не будет найдена нужная или не будет достигнут конец списка. Преодолеть подобные трудности можно с помощью циклов.
Циклом называется многократно исполняемый участок алгоритма (программы). Соответственно циклический алгоритм — это алгоритм, содержащий циклы.
Различают два типа циклов: с известным числом повторений и с неизвестным числом повторений. При этом в обоих случаях имеется в виду число повторений на стадии разработки алгоритма.
Существует 3 типа циклических структур:Цикл с предусловием; Цикл с постусловием; Цикл с параметром;
Иначе данные структуры называют циклами типа «Пока», «До», «Для».
Графическая форма записи данных алгоритмических структур: Цикл типа Пока Цикл типа ДО Цикл типа ДЛЯ
Цикл с предусловием (иначе циклпока) имеет вид: whileусловиеdo begin серия команд; end; где условие– выражение логического типа.
Цикл может не выполняться ни разу, если значение логического выражения сразу же оказывается ложь.
Серия команд, находящихся между begin и end, выполняются до тех пор, пока условие истинно.
Для того чтобы цикл завершился, необходимо, чтобы последовательность инструкций между BEGIN и ENDизменяла значение переменных, входящих в условие.
Цикл с постусловием (иначе циклдо) имеет вид: В алгоритмическом языке нет команды которая могла бы описать данную структуру, но ее можно выразить с помощью других команд(Например, ветвления).
repeatсерия команд untilусловие где условие– выражение логического типа.
Обратите внимание: Последовательность инструкций междуrepeatиuntilвсегда будет выполненохотя бы один раз;
Для того чтобы циклзавершился, необходимо, чтобы последовательность операторов междуrepeatиuntilизменяла значения переменных, входящих в выражениеусловие.
Инструкцияrepeat, как и инструкцияwhile, используется в программе, если надо провести некоторые повторяющиеся вычисления (цикл), однакочисло повторов заранее не известно и определяется самим ходом вычисления.
Цикл с параметром (иначе циклдля)имеет вид: Для i ота доb шаг h делайНц Серия команд кц
Сериякоманд i:=а, b, h h = +1 fori:= atobdo begin сериякоманд end;
h= -1 fori:= b downtoado begin Cериякоманд; end; где i- параметр цикла; a – начальное значение цикла;
b- конечное значение цикла; h-шаг изменения параметра. Структура данного цикла иначе называют цикломiраз.
Эта команда выполняется таким образом: параметру i присваивается начальное значение а, сравнивается с конечным значением b и, если оно меньше или равно конечному значению b, выполняется серия команд. Параметру присваивается значение предыдущего, увеличенного на величину h - шага изменения параметра и вновь сравнивается с конечным значением b.
На языке программирования Паскаль шаг изменения параметра может быть равным одному или минус одному.
Если между begin и end находится только один оператор, то операторные скобки можно не писать. Это правило работает для цикла типа «Пока» и «Для».
Рассмотрим пример решения задач с использованием данных структур Пример.
Вычислить произведение чисел от 1 до 5 используя различные варианты цикла
Математическая модель: Р= 1·2·3·4·5=120 Составим алгоритм в виде блок-схемы. Нач i:=1 P:=1 iP:=P*Ii:=i+1 кон
P да нет Для проверки правильности алгоритма заполним трассировочную таблицу. Шаг Операция Р I Проверка условия
1 P:=1 1 2 i:=1; 1 1 3 iда (истина) 4 i
2да (истина) 5 iда (истина) 6 iда (истина) 7
iда (истина) 8 iнет (ложь)
Проверка условия происходит в несколько шагов: проверка условия и выполнение команд на одной из ветвей. Поэтому в трассировочной таблице записываются не команды алгоритма, а отдельные операции, выполняемые компьютером на каждом шаге.
Шаг первый: Р присваивается значение один.
Шаг второй: i присваивается значение один.
Шаг третий: при i равном единице проверяем условие один меньше или равен пяти, да, условие истинно, значит Р присваивается значение один умноженное на один, будет два. Для i: один плюс один, будет два.
Шаг четвертый:при i равном двум проверяем условие два меньше или равен пяти, да, условие истинно, значит Р присваивается значение 2 умноженное на один, будет 2. Для i: два плюс один, будет три.
Шаг пятый:при i равном трем проверяем условие три меньше или равен пяти, да, условие истинно, значит Р присваивается значение два умноженное на три, будет шесть. Для i: три плюс один, будет четыре.
Шаг шестой:при i равном четырем проверяем условие четыре меньше или равен пяти, да, условие истинно, значит Р присваивается значение шесть умноженное на четыре, будет двадцать четыре. Для i: четыре плюс один, будет пять.
Шаг седьмой:при i равном пяти проверяем условие пять меньше или равен пяти, да ,условие истинно, значит Р присваивается значение двадцать четыре умноженное на пять, будет сто двадцать. Для i: пять плюс один, будет шесть.
Шаг восьмой:при i равном шести проверяем условие шесть меньше или равен пяти, нет, условие ложно, тогда мы выходим из цикла, а в результате получаем последнее значение равное сто двадцати.
Program Pr1; Var i: integer; Begin P:=1; i:=1; While i
Для цикла с постусловием построим блок-схему и трассировочную таблицу.
В результате получаем последнее значение равное сто двадцати на седьмом шаге
И для Цикла с параметром построим блок-схему и трассировочную таблицу.
В результате получаем последнее значение равное сто двадцати на шестом шаге
Задача: Вывести на экран числа от 1 до 5 в: a) прямом порядке; b) обратном порядке. Математическая модель: a) 1 2 3 4 5; b) 5 4 3 2 1.
Блок-схема и программа решения задачи представлена для чисел в прямом порядке и обратном порядке.
Запишем рассмотренные алгоритмы на языке программирования Паскаль.
III. Подведение итогов урока И так мы рассмотрели следующие вопросы:
1.Алгоритмическая структура цикл; 2.Виды алгоритмических структур: а)Цикл с предусловием; б)Цикл с послеусловием; в)Цикл с параметром;
3. Рассмотрели способы записи данных структур; 4.Разобрали примеры решения задач с помощью этих структур.