Презентация "Программирование циклических алгоритмов" 9 класс

Подписи к слайдам:
ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ Алгоритмизация и программирование

ЭОР к технологической карте.

Презентацию подготовила Макошина Н.В.

Учитель информатики I категории

МОУ «Шумиловская СОШ»

2016 год

УМК Босова 9 класс (8 класс ФГОС)

Цитаты к уроку: Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds, создатель ОС Linux

Повторение – мать учения.

— латинская пословица

Актуализация знаний:

Кубик

Блума

ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ Тема урока: Цель урока: формирование умения применять циклические алгоритмы при решении задач

Задачи урока:

о циклических алгоритмах

Узнать:

Познакомиться:

Научиться:

с операторами цикла в PascalABC

записывать и выполнять циклы в PascalABC

Ключевые слова

  • while ( цикл-ПОКА, цикл с предусловием)
  • repeat (цикл-ДО, цикл с постусловием)
  • for (цикл-ДЛЯ, цикл со счётчиком)
Цикл -
  • это многократное повторение одних и тех же команд (операторов).

for

while

Repeat

Цикл «ДЛЯ» (цикл со счётчиком)
  • это такой циклический алгоритм, в котором число повторений известно. 

Программирование циклов с заданным числом повторений

Общий вид оператора:

for <параметр>:=<начальное_значение>

to <конечное_значение> do <оператор>

Здесь:

<параметр> - переменная целого типа;

<начальное_значение> и <конечное_значение> - выражения того же типа, что и параметр;

<оператор> - простой или составной оператор - тело цикла.

Тело цикла

i = i1, i2

Задача. Найти сумму n первых чисел натурального ряда.

Начало

n

S:=0

S:=S+i

S

i:=1 to n

да

нет

конец

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

x>= 25

i := i +1

x := x +0.1*x

i

Задача.
  • Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел, которые вводятся с клавиатуры. Для завершения ввода вводится ноль.
Var a,s,k: integer; sr: real; 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. Алгоритм Евклида "Поиск наибольшего общего делителя двух чисел"
  • Задать два числа.
  • Если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае — продолжить выполнение алгоритма.
  • Определить большее из чисел.
  • Заменить большее число разностью большего и меньшего из чисел.
  • Повторить алгоритм с шага 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. Физминутка Практическая работа. Алгоритм:

Если выполнили, зовёте учителя

4

1

2

Копировать по сети файл «Задание для учащихся»

Переместить в свою личную папку

Выполняете задание по указанному уровню

3

Если есть замечания, исправляете их

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-torvalds.jpg
  • Картинка Learn http://s3.amazonaws.com/geekbrains-uploads/geekbrains/public/ckeditor_assets/pictures/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