Урок информатики 9а класс – 2 подгруппа
Учитель: Ахмадиева И.К.
«Хорошо думать – значит подавить
беспорядочность потока мыслей»
Г.Гийома
Гийом Гюстав (1883-1960) - французский лингвист, автор идеи и концепции психомеханики языка. Преподавал в Школе Высшего образования в Париже
Вопрос: о какой алгоритмической структуре идет речь ,
Шаг за шагом,
Шаг за шагом,
Я команды выполняю,
Никуда не отклоняюсь,
по линеечке иду.
Program square;
var A, B, S : integer;
Begin
writeln ( ‘ введите длины сторон прямоуг-ка ’ );
read ( A , B );
S : = A * B ;
writeln ( ‘ площадь прямоуг-ка = ‘ , S );
End .
Проверка
Блок-схема
№ 1
Программа
№ 2
Какую алгоритмическую структуру напоминает данный фрагмент сказки?
Проверка
Блок- схема
Оператор
№ 5
№ 6
Алгоритм с неполной формой ветвления
Проверка
Блок-схема
Оператор
№ 3
№ 4
Алгоритмическая структура «Выбор»
Проверка
Блок-схема
Оператор
№ 7
№ 8
Работа с карточками №1 ,2 в паре
Задание 1. Найди ошибки в программе и подсчитай их количество.
Проверка
Карточка №1
10
Карточка №2
8
Определите результат выполнения программы на языке программирования Паскаль
- Задание из тренировочного варианта ОГЭ выполняется индивидуально
Проверка
Карточка №3
Карточка №4
7
Карточка №5
1
Карточка №6
2
5
Сказка « C естрица Аленушка и братец Иванушка»
Какую алгоритмическую структуру
вы увидели в этой сказке?
Проверка
Цикл с предусловием
Цикл с постусловием
№ 10
Цикл с параметром
№ 9
№ 11
Легенда о создателе шахмат
По преданию, индийский принц
Сирам, восхищенный игрой в шахматы, призвал к себе ее создателя, ученого Сету, и сказал:
- Я желаю достойно наградить тебя за прекрасную игру. Я достаточно богат, чтобы исполнить любое твое желание.
Сета попросил принца положить на первую клетку шахматной доски 1 зерно, на вторую - 2 зерна, на третью - 4 зерна и т. д.
Проблемная ситуация: смог ли принц Сирам выполнить желание Сеты?
Математическая модель:
1 + 2 + 4 + 8 + 16 + ... =
= 1 + 1∙2 +2∙2 +4∙2 +8∙2 + ...=
= 2° + 2¹ + 2²+ 2³ + ... + 2 63 .
Назовите алгоритмическую структуру для решения данной задачи .
Программирование циклов
Операторы цикла
Цель урока.
Научиться использовать операторы цикла языка программирования Паскаль при решении различных задач.
Что дает нам знания основ программирования?
«Каждый человек должен учиться
программировать, потому что это
учит нас думать»
С.Джобс
Стив Джобс
Американский предприниматель, изобретатель и промышленный дизайнер, получивший широкое признание в качестве пионера эры информационных технологий. Один из основателей IT -технологий, председатель совета директоров и CEO корпорации Apple. Один из основателей и CEO киностудии Pixar.
Задачи урока
- Знакомство с операторами цикла языка программирования Паскаль.
- Научиться программировать циклы на языке Паскаль при решении различных задач
- Продолжить изучение среды программирования PascalABC
do тело цикла ; Цикл с постусловием (цикл - до) Repeat тело цикла until условие ; Цикл с параметром (цикл - для) for i:=In to Ik do тело цикла ; for i:=In downto Ik do тело цикла ; for i:=In to Ik do тело цикла ; for i:=In downto Ik do тело цикла ; " width="640"
ОПЕРАТОРЫ ЦИКЛА
- Цикл с предусловием (цикл - пока)
While условие do тело цикла ;
- Цикл с постусловием (цикл - до)
Repeat тело цикла until условие ;
- Цикл с параметром (цикл - для)
- for i:=In to Ik do тело цикла ; for i:=In downto Ik do тело цикла ;
- for i:=In to Ik do тело цикла ;
- for i:=In downto Ik do тело цикла ;
do тело цикла ; Пока условие – истинно , выполняется тело цикла. Тело цикла может быть простым или составным оператором. Тело цикла может не выполнится ни одного раза условие нет да тело цикла " width="640"
ЦИКЛ С ПРЕДУСЛОВИЕМ (ЦИКЛ - ПОКА)
While условие do тело цикла ;
Пока условие – истинно , выполняется тело цикла. Тело цикла может быть простым или составным оператором. Тело цикла может не выполнится ни одного раза
условие
нет
да
тело цикла
until условие ; Повторяется выполнение тела цикла до истинности условия. Тело цикла с постусловием выполняется хотя бы один раз. тело цикла условие да нет " width="640"
ЦИКЛ С ПОСТУСЛОВИЕМ (ЦИКЛ - ДО)
Repeat тело цикла until условие ;
Повторяется выполнение тела цикла до истинности условия. Тело цикла с постусловием выполняется хотя бы один раз.
тело цикла
условие
да
нет
; for i:=In downto Ik do тело цикла ; i – параметр цикла – простая переменная порядкового типа; In – выражение того же типа, определяющее начальное значение параметра; Ik – выражение того же типа, определяющее конечное значение параметра; In – выражение того же типа, определяющее начальное значение параметра; Ik – выражение того же типа, определяющее конечное значение параметра; Цикл повторяется, пока значение параметра лежит в интервале между In и Ik. i:=In, Ik тело цикла " width="640"
ЦИКЛ С ПАРАМЕТРОМ (ЦИКЛ - ДЛЯ)
- for i:=In to Ik do тело цикла ;
- for i:=In downto Ik do тело цикла ;
i – параметр цикла – простая переменная порядкового типа;
In – выражение того же типа, определяющее начальное значение параметра;
Ik – выражение того же типа, определяющее конечное значение параметра;
- In – выражение того же типа, определяющее начальное значение параметра; Ik – выражение того же типа, определяющее конечное значение параметра;
Цикл повторяется, пока значение параметра лежит в интервале между In и Ik.
i:=In, Ik
тело цикла
СКОЛЬКО РАЗ ВЫПОЛНИТСЯ ТЕЛО ЦИКЛА?
Команда
Х
i
5
x:=5
1) x:=5;
for i:=-1 to 5 do
x:=x+1;
Ответ:
7
2) s:=0;
for i:=4 to 1 do
s:=s+1;
Ответ:
ни разу
-1
for i:=-1
0
6
x:=x+1
1
7
x:=x+1
x:=x+1
2
8
x:=x+1
3
9
x:=x+1
10
4
11
x:=x+1
5
КАКОЕ ЗНАЧЕНИЕ ПРИМЕТ ПЕРЕМЕННАЯ Х В РЕЗУЛЬТАТЕ ВЫПОЛНЕНИЯ АЛГОРИТМА:
команда
x
while x
x:=x+3;
x:=x+1;
Ответ:
13
x:=3
3
4
3
5
4
6
5
7
6
8
7
9
8
9
12
x:=x+3
x:=x+1
13
КАКОЕ ЗНАЧЕНИЕ ПРИМЕТ ПЕРЕМЕННАЯ Х В РЕЗУЛЬТАТЕ ВЫПОЛНЕНИЯ АЛГОРИТМА:
while x
begin
x:=x+3;
x:=x+1;
end;
Ответ:
11
Команда
х
x:=3
3
3
7
11
7
11
СКОЛЬКО РАЗ БУДЕТ ПОВТОРЕН ЦИКЛ , ЧЕМУ БУДУТ РАВНЫ S, A, B?
a:=1; b:=1;
While a+b
begin
a:=a+1;
b:=b+2;
end;
S:=a+b;
Ответ:
2 раза
S=8, a=3, b=5
команда
a
b
a+b
s
a:=1;b:=1
1
2
1
2
2
5
3
5
3
8
5
8
8
ОПРЕДЕЛИТЕ ЗНАЧЕНИЕ ПЕРЕМЕННОЙ S ПОСЛЕ ВЫПОЛНЕНИЯ ПРОГРАММЫ:
Var a,S: integer;
Begin
S:=0;
For a:=5 downto 1 do
S:=s+2*a;
Writeln('S=', S);
End .
Ответ:
S=30
команды
s
a
S:=0
0
5
4
S:=0+2*5
10
S:=10+2*4
3
18
24
2
S:=18+2*3
28
1
S:=24+2*2
30
S:=28+2*1
Задание: ВЫЧИСЛИТЬ СУММУ степеней числа 2, степень лежит в пределах от 0 до 63
Математическая модель:
1 + 2 + 4 + 8 + 16 + ... =
= 1 + 1∙2 +2∙2 +4∙2 +8∙2 + ...=
= 2° + 2¹ + 2²+ 2³ + ... + 2 63 .
Program summa1;
Var N , i,S: integer;
Begin
Write( ' N= ' ); readln(N);
S:=0; i:=0;
While i
begin
S:=S+2 i ;
i:=i+1;
end;
Writeln( 'S=', S);
End.
начало
S - сумма
i- степень (от 0 до 63)
ввод N
S:=0; i:= 0
нет
i
да
S:=S+ 2 i ;
i:=i+1
Вывод S
конец
N; Writeln( 'S=', S); End. начало ввод N S:=0; i:= 0 S:=S+ 2 i i:=i+1 да i63 нет Вывод S конец " width="640"
Математическая модель:
1 + 2 + 4 + 8 + 16 + ... =
= 1 + 1∙2 +2∙2 +4∙2 +8∙2 + ...=
= 2° + 2¹ + 2²+ 2³ + ... + 2 63 .
Задание: ВЫЧИСЛИТЬ СУММУ степеней числа 2, степень лежит в пределах от 0 до 63
Program summa2;
Var N,i,S: integer;
Begin
Write( ' N= ' ); readln(N);
S:=0; i:=0;
Repeat
S:=S+2 i ;
i:=i+1;
Until iN;
Writeln( 'S=', S);
End.
начало
ввод N
S:=0; i:= 0
S:=S+ 2 i
i:=i+1
да
i63
нет
Вывод S
конец
Задание: ВЫЧИСЛИТЬ СУММУ степеней числа 2, степень лежит в пределах от 0 до 63
Program summa3;
Var N, i, S: integer;
Begin
Write( ' N= ' ); readln(N);
S:=0;
For i:=0 to N do
S:=S+2 i ;
Writeln( 'S=' , S);
End.
начало
ввод N
S:=0;
i:= 0 , N
S:=S+2 i
Вывод S
конец
N; Program summa3; Var N, i, S: integer; Begin Write( ' N= ' ); readln(N); S:=0; Writeln( 'S=', S); End. For i:=0 to N do S:=S+2 i ; Writeln( 'S=' , S); End. * * " width="640"
Выберите рациональный вариант программы
Program summa1;
Var N , i,S: integer;
Begin
Write( ' N= ' ); readln(N);
S:=0; i:=0;
While i
begin
S:=S+2 i ;
i:=i+1;
end;
Program summa2;
Var N,i,S: integer;
Begin
Write( ' N= ' ); readln(N);
S:=0; i:=0;
Writeln( 'S=', S);
End.
Repeat
S:=S+2 i ;
i:=i+1;
Until iN;
Program summa3;
Var N, i, S: integer;
Begin
Write( ' N= ' ); readln(N);
S:=0;
Writeln( 'S=', S);
End.
For i:=0 to N do
S:=S+2 i ;
Writeln( 'S=' , S);
End.
*
*
Памятка для выбора типа оператора цикла
Цикл с предусловием ( цикл while ) применяйте, если необходимо, чтобы проверка была прежде, чем выполнение тела цикла , цикл может не выполнится ни разу, если исходное значение будет ложным
Цикл с постусловием ( цикл repeat ) применяйте,
если необходимо, чтобы тело цикла выполнялось
хотя бы один раз.
Цикл для (цикл for ) применяйте, если точно
знаете, сколько раз должно быть выполнено тело
цикла .
Практическая работа на ПК
Карточка №7
Проверка
Номер
задания
Варианты
Задание 1
1
6.6
Задание 2
2
Задание 3
4.5
3
56
5.4
55
4
37
22
5
4.2
91
14
7.9
6
16
11
7
4.2
1496
17.9
285
7
8
29
204
15.9
30
46
140
Домашнее задание
- §15, вопросы и задания
- Карточка домашнего задания
(задания разного уровня сложности, выбрать одно из трех заданий)
«Чтобы дойти до цели, надо, прежде всего, идти!»
Оноре де Бальзак
Оноре де Бальзак
Французский писатель, один из основоположников реализма в европейской литературе. Крупнейшее произведение Бальзака - серия романов и повестей «Человеческая комедия», рисующая картину жизни современного писателя французского общества.
Подведение итогов работы
- Заполните карточку контроля
- Подсчитайте итоговую оценку
Рефлексия
Спасибо! До новых открытий знаний!