Циклические алгоритмы
методическая разработка по информатике и икт (9 класс) на тему
Урок посвящен изучению алгоритмической структуры цикла, созданию моделей и алгоритмов для решения практических задач.
Скачать:
Вложение | Размер |
---|---|
Презентация | 851 КБ |
tsiklicheskie_algoritmy.doc | 106.5 КБ |
Предварительный просмотр:
Подписи к слайдам:
ВЕСНА ЛЕТО ОСЕНЬ ЗИМА Сколько циклических алгоритмов можно увидеть вокруг, если внимательно посмотреть на события: чередование времен года
посещения магазинов, школы или секции, получение за контрольные оценок и др.
а) Пока не сдал выпускные экзамены делай начало готовь уроки; посещай школу; конец; б) Пока есть желание, возможность и здоровье делай начало посещай спортивные занятия; конец;
Для реализации повторяющихся действий существуют специальные алгоритмические структуры, получившие название – циклы или команды повторения.
Цикл типа Пока Цикл типа ДО Цикл типа ДЛЯ Условие Серия команд да нет Серия команд i, a, b, h Условие Серия команд да нет Виды циклических алгоритмов Цикл с предусловием Цикл с постусловием Цикл с параметром
Виды циклических алгоритмов Цикл с предусловием Цикл с постусловием Цикл с параметром Цикл типа Пока Цикл типа ДО Цикл типа ДЛЯ Условие Серия команд да нет Условие Серия команд да нет Серия команд i,a,b , h
Цикл с предусловием ( типа « пока» ) Условие Серия команд да нет Пока (условие) нц Серия команд; кц while условие do begin Серия команд; end ; Запись на языке программирования Pascal :
Обратите внимание Цикл заканчивается, когда условие становится не верным (ложным). Если условие с самого начала ложно, то серия команд не выполняется ни разу . while условие do begin Серия команд; end ;
Условие Серия команд да нет В алгоритмическом языке нет команды которая могла бы описать данную структуру, но ее можно выразить с помощью других команд( ветвления). repeat Серия команд; until условие Цикл с постусловием ( типа «До» ) Запись на языке программирования Pascal :
Обратите внимание Серия команд между repeat и until выполняется хотя бы один раз . Цикл заканчивается когда, условие становится верным (истинным) . repeat Серия команд; until условие
Циклы типа repeat и while , используются в программе, если надо провести некоторые повторяющиеся вычисления (цикл), однако число повторов заранее не известно и определяется самим ходом вычисления .
Серия команд i := а , b, h Для i от a до b шаг h делай Нц C ерия команд ; кц Цикл с параметром (типа «ДЛЯ») for i := b do wnto a do begin C ерия команд ; end ; for i := a to b do begin C ерия команд ; end ; h = 1 h = - 1
Пример: Вычислить произведение чисел от 1 до 5 используя различные варианты цикла. Математическая модель: Р = 1 · 2 · 3 · 4 · 5 =120
«Пока» нач i:=1 P:=1 i<=5 P:=P*i i:=i+1 кон P да нет Шаг Операция Р i Проверка условия 1 P:=1 1 2 i:=1; 1 1 3 i<=5 P:=P*I i:=i+1 1 1 1 <=5 , да (истина) 4 i<=5 P:=P*I i:=i+1 2 2 2 <=5 , да (истина) 5 i<=5 P:=P*I i:=i+1 6 3 3 <=5 , да (истина) 6 i<=5 P:=P*I i:=i+1 24 4 4 <=5 , да (истина) 7 i<=5 P:=P*I i:=i+1 120 5 5 <=5 , да (истина) 8 i<=5 P:=P*I i:=i+1 6 <=5 , нет (ложь)
Шаг Операция Р i Проверка условия 1 P:=1 ; 1 2 i:=1; 1 1 3 P:=P*i ; i:=i+1 ; i>5 1 2 2>5 , нет (ложь) 4 P:=P*i i:=i+1 i>5 2 3 3>5 , нет (ложь) 5 P:=P*i i:=i+1 i>5 6 4 4>5 , нет (ложь) 6 P:=P*i i:=i+1 i>5 24 5 5>5 , нет (ложь) 7 P:=P*i i:=i+1 i>5 120 6 6 <=5 , да (истина) «ДО» нач i:=1 P:=1 P:=P*i i:=i+1 i>5 кон P нет нач i:=1 P:=1 P:=P*i i:=i+1 i>5 кон P нет да «ДО» нач i:=1 P:=1 P:=P*i i:=i+1 i>5 кон P нет нач i:=1 P:=1 P:=P*i i:=i+1 i>5 кон P нет да
« ДЛЯ» нач P:=1 I := 1, 5 P:=P*i кон P Шаг Операция Р i Проверка условия 1 P:=1 1 2 i:=1 P:=P*i 1 1 3 i:=2 P:=P*i 2 2 4 i:=3 P:=P*i 6 3 5 i:=4 P:=P*i 24 4 6 i:=5 P:=P*i 120 5
«Пока» «ДО» « ДЛЯ» нач i:=1 P:=1 i<=5 P:=P*i i:=i+1 кон P да нет нач P:=1 I := 1, 5 P:=P*i кон P нач i:=1 P:=1 P:=P*i i:=i+1 i>5 кон P нет да
Program Pr1; Var i: integer; Begin P:=1; i:=1; While i<=5 do begin P:=P*i; i:=i+1; end; Write (‘P = ’, P); end . Program Pr 2 ; Var i: integer; Begin P:=1; i:=1; Repeat P:=P*i; i:=i+1; until i>5; Write (‘ P = ’, P); end . Program Pr3; Var i: integer; Begin P:=1; For i:=1 to 5 do P:=P*i; Write (‘P = ’, P); end . «Пока» «ДО» « ДЛЯ»
Задача Вывести на экран числа от 1 до 5 в: a) прямом порядке ; b) обратном порядке . Математическая модель: a) 1 2 3 4 5 b) 5 4 3 2 1
нач I := 1, 5,1 кон i I := 5, 1,-1 кон i нач Для чисел в прямом порядке h = 1 Для чисел в обратном порядке h= - 1
В результате на экране будет: 1 2 3 4 5 В результате на экране будет: 5 4 3 2 1 Program Pr 4 ; Var i: integer; Begin For i:=1 to 5 do Write (i); end . Program Pr 5 ; Var i: integer; Begin For i:=5 downto 1 do Write (i); end .
И так мы рассмотрели следующие вопросы: Алгоритмическая структура цикл; Виды алгоритмических структур: Цикл с предусловием; Цикл с постусловием; Цикл с параметром; Рассмотрели способы записи данных структур; Разобрали примеры решения задач с помощью этих структур.
Предварительный просмотр:
Автор: Халикова Венера Рафкатовна
Предмет: Информатика и ИКТ. Урок ознакомления с новым материалом
Тема: «Циклические алгоритмы»
Продолжительность: 1 урок - 45 минут
Класс: 9 класс
Технологии: Презентация, интерактивная доска
Цель: изучение алгоритмической структуры циклы, создание моделей и алгоритмов для решения практических задач.
Ход урока
- Актуализация знаний
- Повторить понятие алгоритма, основные конструкции алгоритмического языка.
- Уметь разрабатывать математическую модель, алгоритм и блок схему решения задачи.
- Иметь понятие о языках программирования и их назначении.
- Уметь работать в среде программирования.
- Знать структуры программы.
- Уметь записывать выражения, содержащие числовые и символьные величины.
- Знать структуры операторов и особенности их работы.
- Уметь применять операторы при написании программ с линейными и ветвящимися структурами.
- Уметь на компьютере создавать и запускать программы на отладку.
II. Теоретический материал урока
Большинство практических задач требует многократного повторения одних и тех же действий, т. е. повторного использования одного или нескольких операторов. (Презентация)
Пусть требуется ввести и обработать последовательность чисел. Если чисел всего пять, можно составить линейный алгоритм. Если их тысяча, записать линейный алгоритм можно, но очень утомительно и нерационально. Если количество чисел к моменту разработки алгоритма неизвестно, то линейный алгоритм принципиально невозможен.
Другой пример. Чтобы найти фамилию человека в списке, надо проверить первую фамилию списка, затем вторую, третью и т.д. до тех пор, пока не будет найдена нужная или не будет достигнут конец списка. Преодолеть подобные трудности можно с помощью циклов.
Циклом называется многократно исполняемый участок алгоритма (программы). Соответственно циклический алгоритм — это алгоритм, содержащий циклы.
Различают два типа циклов: с известным числом повторений и с неизвестным числом повторений. При этом в обоих случаях имеется в виду число повторений на стадии разработки алгоритма.
Существует 3 типа циклических структур:
- Цикл с предусловием;
- Цикл с постусловием;
- Цикл с параметром;
Иначе данные структуры называют циклами типа «Пока», «До», «Для».
Графическая форма записи данных алгоритмических структур:
Цикл с предусловием (иначе цикл пока) имеет вид:
Форматы записи операторов алгоритма | Блок-схема | Форматы записи операторов на Паскале |
Пока (условие) нц серия команд кц | while условие do begin серия команд; end; |
где
условие – выражение логического типа.
Цикл может не выполняться ни разу, если значение логического выражения сразу же оказывается ложь.
Серия команд, находящихся между begin и end, выполняются до тех пор, пока условие истинно.
Для того чтобы цикл завершился, необходимо, чтобы последовательность инструкций между BEGIN и END изменяла значение переменных, входящих в условие.
Цикл с постусловием (иначе цикл до) имеет вид:
Форматы записи операторов алгоритма | Блок-схема | Форматы записи операторов на Паскале |
В алгоритмическом языке нет команды которая могла бы описать данную структуру, но ее можно выразить с помощью других команд(Например, ветвления). | repeat серия команд until условие |
где
условие – выражение логического типа.
Обратите внимание:
Последовательность инструкций между repeat и until всегда будет выполнено хотя бы один раз;
Для того чтобы цикл завершился, необходимо, чтобы последовательность операторов между repeat и until изменяла значения переменных, входящих в выражение условие.
Инструкция repeat, как и инструкция while, используется в программе, если надо провести некоторые повторяющиеся вычисления (цикл), однако число повторов заранее не известно и определяется самим ходом вычисления.
Цикл с параметром (иначе цикл для) имеет вид:
Форматы записи операторов алгоритма | Блок-схема | Форматы записи операторов на Паскале |
Для i от а до b шаг h делай Нц Серия команд кц | h = +1 for i:= a to b do begin серия команд end; h = -1 for i:= b downto a do 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 | 1 |
|
|
2 | i:=1; | 1 | 1 |
|
3 | i<=5 P:=P*I i:=i+1 | 1 | 1 | 1<=5, да (истина) |
4 | i<=5 P:=P*I i:=i+1 | 2 | 2 | 2<=5, да (истина) |
5 | i<=5 P:=P*I i:=i+1 | 6 | 3 | 3<=5, да (истина) |
6 | i<=5 P:=P*I i:=i+1 | 24 | 4 | 4<=5, да (истина) |
7 | i<=5 P:=P*I i:=i+1 | 120 | 5 | 5<=5, да (истина) |
8 | i<=5 P:=P*I i:=i+1 |
| 6<=5, нет (ложь) |
Проверка условия происходит в несколько шагов: проверка условия и выполнение команд на одной из ветвей. Поэтому в трассировочной таблице записываются не команды алгоритма, а отдельные операции, выполняемые компьютером на каждом шаге.
Шаг первый: Р присваивается значение один.
Шаг второй: 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<=5 do
begin
P:=P*i;
i:=i+1;
end;
Write (‘P=’, P);
end.
Для цикла с постусловием построим блок-схему и трассировочную таблицу. (слайд16)
В результате получаем последнее значение равное сто двадцати на седьмом шаге
И для Цикла с параметром построим блок-схему и трассировочную таблицу. (слайд17)
В результате получаем последнее значение равное сто двадцати на шестом шаге
Задача:
Вывести на экран числа от 1 до 5 в:
a) прямом порядке;
b) обратном порядке.
Математическая модель:
a) 1 2 3 4 5;
b) 5 4 3 2 1.
Блок-схема и программа решения задачи представлена для чисел в прямом порядке и обратном порядке.
Запишем рассмотренные алгоритмы на языке программирования Паскаль.
(слайд 22)
III. Подведение итогов урока
И так мы рассмотрели следующие вопросы:
- Алгоритмическая структура цикл;
- Виды алгоритмических структур:
- Цикл с предусловием;
- Цикл с послеусловием;
- Цикл с параметром;
- Рассмотрели способы записи данных структур;
- Разобрали примеры решения задач с помощью этих структур.
Список использованной литературы
- Программы для общеобразовательных учреждений. Информатика 2-11 класс. / Составитель М. Н. Бородин. – 2-е изд., М. Бином. Лаборатория знаний, 2007.- 463 с.: ил.
- Информатика и ИКТ. Базовый курс: Учебник для 9 класса / И. Г. Семакин, Л. А. Залогова, С. В. Русаков, Л. В. Шестакова.-3-е изд.- 2-е изд., М.: Бином. Лаборатория знаний, 2007.- 359 с.: ил.
- Преподавание базового курса информатики в средней школе: Методическое пособие / И. Г. Семакин, Т. Ю. Шеина. – 2-е изд., исп. И доп.- М.: Бином. Лаборатория знаний, 2004.- 540 с.: ил.
- Задачник-практикум. Том 1. под ред. И. Г. Семакина - М. Бином. Лаборатория знаний, 2007.- 309 с.: ил.
- Задачник-практикум. Том 2. под ред. И. Г. Семакина М. Бином. Лаборатория знаний, 2007.- 294 с.: ил.
- http://pas1.ru/file Программирование для начинающих.
- http://www.pascal7.ru/ Все о языке программирования Turbo Pascal.
- http://tp7.info/ Сайт о языке программирования Turbo Pascal.
По теме: методические разработки, презентации и конспекты
Проверочная работа по теме "Циклические алгоритмы"
Проверочная работа предназначена для учащихся 8-9 классов....
Циклические алгоритмы на Паскале
Презентация к уроку информатики для 10 класса по теме "Циклические алгоритмы на Паскале"...
Урок "Алгоритмический язык. Программная реализация циклических алгоритмов". (9 класс)
Дидактическая разработка урока по программированию на алгоритмическом языке для 9 класса. На примере решения задач разбирается программная реализация циклических алгоритмов....
Сценарий урока информатики № 5 в 8 классе по теме: «Циклический алгоритм» с применением интерактивной доски
Данный урок является одним (пятым из десяти) из уроков по теме «Базовые алгоритмические структуры в среде программирования», на котором закрепляется понятие циклического алгоритма с известным чи...
Реализация циклического алгоритма в среде Turbo Pascal. Оператор цикла с параметром
Урок по предметной области “Информатика” для 9-10 класса Данный материал представляет разработку урокапо теме “Реализация циклического алгоритма в среде TurboPascal. Оператор цикла с парам...
урок по информатике в 6 классе на тему "Циклический алгоритм"
Конспект урока в 6 кассе по программе Босовой Л.Л. на тему "Циклический алгоритм". Перед учащимися ставится пробема : выяснить тему урока, задать цели и получить результат. Используются как групповые ...
Циклический алгоритм
Открытый урок Тема: « Циклические алгоритмы на языке программирования работа с ними»Учителя: Зеленецкой М.С. в 9В классеЦели урока:1. Образовательная. Организо...