УМК Босова 9 класс (8 класс
ФГОС)
Алгоритмизация и программирование
ПРОГРАММИРОВАНИЕ
ЦИКЛИЧЕСКИХ
АЛГОРИТМОВ
ЭОР к технологической карте.
Презентацию подготовила Макошина Н.В.
Учитель информатики I категории
МОУ «Шумиловская СОШ»
2016 год
Цитаты к уроку:
Болтовня ничего не стоит.
Покажите мне код.
— Linus Torvalds, создатель ОС
Linux
Повторение – мать учения.
— латинская пословица
Актуализация знаний:
Кубик
Блума
Тема урока:
ПРОГРАММИРОВАНИЕ
ЦИКЛИЧЕСКИХ
АЛГОРИТМОВ
Цель урока:
формирование умения применять
циклические алгоритмы при
Задачи урока:
решении задач
о циклических
алгоритмах
Узнать:
Познакомиться:
с операторами
цикла в PascalABC
Научиться:
записывать и
выполнять циклы в
PascalABC
Ключевые слова
•while ( циклПОКА, цикл с
предусловием)
•repeat (циклДО, цикл с постусловием)
•for (циклДЛЯ, цикл со счётчиком)
Цикл -
•это многократное
повторение одних и тех же
команд (операторов).
whil
e
Repe
at
for
Цикл «ДЛЯ» (цикл со
счётчиком)
• это такой циклический
алгоритм, в котором число
повторений известно.
Программирование циклов с
заданным числом повторений
i = i1, i2
Тело цикла
Общий вид оператора:
for <параметр>:=<начальное_значение>
to <конечное_значение> do <оператор>
Здесь:
<параметр> переменная целого типа;
<начальное_значение>
выражения того же типа, что и параметр;
<оператор> простой или составной оператор тело цикла.
<конечное_значение>
и
Задача. Найти сумму n первых чисел натурального
ряда.
Начало
нет
n
S:=0
i:=1 to n
да
S:=S+i
S
конец
Var
i, s,n : integer;
Begin
Write (‘n=’);
Readln (n);
S:=0;
For i:=1 to n do
s:=s+i;
Writeln (‘S=’,
S);
End.
Цикл «while» (цикл с
предусловием)
• это такой циклический
алгоритм, в котором
условие стоит перед
телом.
Программирование циклов с
заданным условием
продолжения работы
не
т
Условие
да
Тело цикла
Общий вид оператора:
while <условие> do <оператор>
Здесь:
<условие>
логическое
пока оно истинно, выполняется тело цикла;
<оператор> простой или составной оператор,
с помощью которого записано тело цикла.
выражение;
Начало
Список данных
x, y, r, q цел
не
т
x, y
r:=x
q:=0
r >=x
да
r:= r y
q:= q +1
r, q
Конец
program n_14;
var x, y, q, r:
integer;
begin
writeln ('Частное и остаток');
write ('Введите делимое x>>');
readln (x);
write ('Введите делитель y>>');
read (y);
r:=x;
q:=0;
while r>=x do
begin
r:=r-y;
q:=q+1
end;
writeln ('Частное q=', q);
writeln ('Остаток r=', r)
end.
Цикл «repeat» (цикл с
постусловием)
• это такой циклический
алгоритм, в котором
условие стоит после тела.
Программирование циклов с
заданным условием
окончания работы
Тело цикла
Условие
да
не
т
Общий вид оператора:
repeat <оператор1; оператор2; …; > until
<условие>
Здесь:
<оператор1>; <оператор2>; … операторы, образующие
тело цикла;
<условие> логическое выражение; если оно ложно, то
выполняется тело цикла.
Разница между «repeat» и
«while»:
•
while сначала проверяет,
потом выполняет своё
тело
• repeat - сначала
выполняет, потом
проверяет. То есть, repeat
в любом случае
выполнится хотя бы один
раз.
program n_15;
var i: integer; x:
real;
begin
writeln ('График
тренировок');
i:=1;
x:=10;
repeat
i:=i+1;
x:=x+0.1*x;
until x>=25;
writeln ('Начиная с ', i, 'го
дня спортсмен будет пробегать 25
км')
end.
Начало
Список данных
i – цел
x вещ
i := 1
x := 10
i := i +1
x := x +0.1*x
x>= 25
нет
да
i
Конец
Задача.
•Написать программу,
вычисляющую сумму и среднее
арифметическое
последовательности
положительных чисел, которые
вводятся с клавиатуры. Для
завершения ввода вводится
ноль.
Var
a,s,k: integer;
sr: real;
Begin
s:=0;
k:=0;
repeat
readln(a);
s:=s+a;
k:=k+1;
until a=0;
sr:=s/(k-1);
writeln(‘s=‘,s);
writeln(‘sr=‘,sr:0:2);
end.
Алгоритм Евклида "Поиск
наибольшего общего делителя
двух чисел"
1. Задать два числа.
2. Если числа равны, то взять любое из
них в качестве ответа и
остановиться, в противном случае —
продолжить выполнение алгоритма.
3. Определить большее из чисел.
4. Заменить большее число разностью
большего и меньшего из чисел.
5. Повторить алгоритм с шага 2.
Программа
Var x,y:Integer;
Begin
Writeln(‘Введите x,y’);
ReadLn(x,y);
While (x<>y) do
If x>y then
x:=x-y
else
y:=y-x;
WriteLn(‘НОД=’,x);
End.
Практическая работа.
Алгоритм:
Копировать по сети файл «Задание для учащихся»
1
Переместить в свою личную папку
2
3
Выполняете задание по указанному уровню
4
Если выполнили, зовёте учителя
5
Если есть замечания, исправляете их
Домашнее задание
1. Составьте программу, выводящую на экран
таблицу соответствия мер длины: дюймов в
сантиметры для значений от 0 до 15. 1 дюйм
= 2.54 см.
2. Решить кроссворд: http://
LearningApps.org/2834847
Рефлексия – облако
тегов
• сегодня я узнал...
• было трудно…
• я понял, что…
• я научился…
•
я смог…
• было интересно узнать, что…
• меня удивило…
• мне захотелось…
Использованные ресурсы
• Информатика и ИКТ: учебник для 9 класса / Л.Л. Босова, А.Ю. Босова. – М.:
БИНОМ. Лаборатория знаний, 2013;
• Информатика. Методическое пособие 7-9 класс ФГОС / Л.Л. Босова, А.Ю.
Босова. – М.: БИНОМ. Лаборатория знаний, 2015;
• Редактор блок-схем http://alglib.sources.ru/aboutbls.php
• Паскаль для школьников/ Д.М. Ушаков, Т.А. Юркова. – СПб.: Питер, 2013.
• Презентация Пасечник Н.А. https://
drive.google.com/file/d/0B2nnqJjVUYzGVjFJajVDeWVDQ2c/view?usp=sharing
• Технологическая карта составлена в соответствии с рекомендациями
ЛОИРО https://drive.google.com/file/d/0B4Rxnw_iZeBSWmdZNWtRSlczRkU/view
• Фотография Л. Торвальдса http://
stoicka.ru/Joomla_3.2.0_Full_Package_Russian/images/lajnus-torvalds/lajnus-torval
ds.jpg
• Картинка Learn http://
s3.amazonaws.com/geekbrains-uploads/geekbrains/public/ckeditor_assets/pict
ures/595/content_istock_000026328646medium-700x524.jpg
• Анимация для физминутки - http://
www.chitalnya.ru/upload2/659/782564638648182144.gif
• Практикум - http://kpolyakov.spb.ru/school/ogetest/b9.htm
• Дз - http://LearningApps.org/2834847
• Панда - http://lenagold.ru/fon/clipart/p/pand/panda08.gif