Конспект урока для 10 класса «Решение алгоритмических задач. Исполнение фрагмента программ»
Класс: 10.
Форма урока: решение задач.
Цели:
-
закрепить знания систем команд и конструкций алгоритмов-исполнителей;
-
формировать операционный стиль мышления.
Задачи:
Обучающие:
-
систематизация знаний учащихся по теме: «Алгоритмизация и основы программирования в среде Паскаль».
Развивающие:
-
развитие познавательного интереса, памяти, внимания;
-
научить рациональному способу построения алгоритма;
-
развивать логическое мышление.
Воспитательные:
-
воспитание целеустремленной, конкурентоспособной личности учащихся;
-
воспитание уважительного отношения к своему труду и труду окружающих.
Требования к знаниям и умениям:
Учащиеся должны знать:
— что называется интерпретацией;
— отличие операторов mod и div.
Учащиеся должны уметь:
— определять значения переменных после прохождения блок-схемы;
— определять значения переменных после прохождения фрагмента алгоритма, написанного на языке Паскаль;
— работать с командным исполнителем программы.
Программно-дидактическое обеспечение:
-
видеопроектор;
-
ноутбук;
-
карточки с заданием.
План урока.
1. Организационный момент.
2. Актуализация знаний по теме: «Алгоритмизация и основы программирования в среде Паскаль».
3. Изучение нового материала.
4. Закрепление изученного.
5. Подведение итогов урока.
6. Домашнее задание.
Ход урока.
1. Организационный момент.
2. Актуализация знаний по теме «Алгоритмизация и основы программирования в среде Турбо Паскаль».
Фронтальный опрос.
У. Ребята! Мы с вами уже начали изучать тему: «Алгоритмизация и основы программирования» и сейчас мы ее немного вспомним.
1. Как называется четкая, понятная исполнителю серия команд, позволяющая выполнить данную задачу.
(Алгоритм)
2. Как называется алгоритм, действия которого выполняются строго по порядку?
(Линейный алгоритм)
3. Как называется алгоритм, действия в котором выполняются в зависимости от выполнения или невыполнения некоторого условия?
(Разветвляющийся алгоритм или ветвление)
4. Как называется алгоритм, действия которого выполняются несколько раз?
(Циклический алгоритм или цикл)
5. Как называется набор инструкций для компьютера, направленных на решение конкретной задачи?
(Компьютерная программа)
6.Как называется множество величин, объединенных совокупностью допустимых операций?
(Тип данных)
7. Как называется предложение языка программирования, задающее полное описание некоторого действия, которое необходимо выполнить?
(Оператор)
8. Как мы можем запустить написанную нами программу в среде ТР?
(с помощью меню команды RanRan или комбинацией клавиш CTRL+F9)
9. Назовите основные формы представления алгоритма
(Словесная, табличная, графическая (блок-схема))
10. Назовите свойства алгоритма
-
дискретность (выполнение алгоритма разбивается на последовательность законченных действий-шагов);
-
детерминированность (способ решения задачи однозначно определен в виде последовательности шагов);
-
понятность (алгоритм не должен содержать предписаний, смысл которых может восприниматься неоднозначно);
-
результативность (при точном исполнении команд алгоритма процесс должен прекратиться за конечное число шагов, и при этом должен быть получен ответ на вопрос задачи);
-
массовость (алгоритм правильно работает на некотором множестве исходных данных, которое называется областью применимости алгоритма).
11. Из чего состоит алфавит языка ТП?
(буквы латинского алфавита, знаки цифры от 0 до 9, символы)
12. Назовите основные элементы программирования
(ввод, данные, операции, вывод, условное выполнение, подпрограммы)
Работа в парах.
У. Молодцы! А сейчас давайте с вами посмотрим на таблицу:
Реализация элементов блок-схемы алгоритма на языке Паскаль.
Ваша задача добавить пустые клетки таблицы нужные операторы, схемы или действия.
Реализация элементов блок – схемы алгоритма на языке Паскаль.
В программе | Действия | |
|
| Начало работы программы |
| END. | Конец работы программы |
|
| На экране появляется значение переменной C. |
| WRITE (‘результат=’,S) | На экране появляется текст результат= и значение переменной S. |
|
| Надо вводить два числа с клавиатуры |
|
| После выполнения операторов, переменным присваиваются следующие значения: C=4T, D=A+B, I=I+1 (операторы присваивания) |
| IF A>B THEN BEGIN ELSE BEGIN | Если условие A>B верно, то выполняется группа операторов ОП.1, в противном случае – группа операторов ОП.2 (условный оператор) |
Ответ.
Реализация элементов блок – схемы алгоритма на языке Паскаль.
В программе | Действия | |
| BEGIN | Начало работы программы |
| END. | Конец работы программы |
| WRITE (C) | На экране появляется значение переменной C. |
| WRITE (‘результат=’,S) | На экране появляется текст результат= и значение переменной S. |
| READ (X,Y) | Надо вводить два числа с клавиатуры |
| C:=4*T ; | После выполнения операторов, переменным присваиваются следующие значения: C=4T, D=A+B, I=I+1 (операторы присваивания) |
| IF A>B THEN BEGIN ELSE BEGIN | Если условие A>B верно, то выполняется группа операторов ОП.1, в противном случае – группа операторов ОП.2 (условный оператор) |
У. А теперь группа, которая первая правильно заполнила таблицу на карточке, заполнит ее на доске, а вы ребята проверите свои таблицы.
У. Какие из перечисленных далее описаний можно рассматривать как алгоритмы и почему?
-
Порядок безопасного перехода проезжей части улицы по нерегулируемому пешеходному переходу.
-
Правила дорожного движения в целом.
-
Метод перевода десятичных чисел в другую систему счисления.
-
Доказательство теоремы Пифагора.
-
Правило правописания сочетаний –жи- и –ши- в русском языке.
-
Способ решения головоломки «кубик Рубика».
-
Каталог товаров, имеющихся в продаже в магазине.
-
Инструкция по распаковке, установке, подключению и настройки телевизора.
(1, 3, 6, 8)
3. Изучение нового материала.
У. А теперь откройте тетради, запишите число, классная работа и тему нашего урока
«Решение алгоритмических задач. Исполнение фрагмента программ».
У. Давайте с вами решим пример.
Пример 1. Определить значение целочисленной переменной х после выполнения следующего фрагмента программы:
У. В блок-схеме присутствует цикл, т.е. одни и те же команды многократно повторяются. Для того, чтобы не ошибиться при выполнении блок-схемы, удобно составить таблицу, в которую заносятся заносятся значения переменных и результаты проверки условия на каждом шаге. Знак <> — обозначает неравно.
О. Каждое однократное выполнение тела цикла называется интерацией.
Значение х | Значение у | x<>y
| x>y
| |
0 | 55 | 75 | 55<>75 – да (выполняем тело цикла) |
|
1 | 55 | 75 |
| 55>75 – нет (вычитаем х из у) |
1 | 55 | 20 |
|
|
| 55 | 20 | 55<>20 – да (выполняем тело цикла) |
|
2 | 55 | 20 |
| 55>20 – да (вычитаем у из х) |
2 | 35 | 20 |
|
|
| 35 | 20 | 35<>20 – да (выполняем тело цикла) |
|
3 | 35 | 20 |
| 35>20 – да (вычитаем у из х) |
3 | 15 | 20 |
|
|
| 15 | 20 | 15<>20 – да (выполняем тело цикла) |
|
4 | 15 | 20 |
| 35>20 – нет (вычитаем х из у) |
4 | 15 | 5 |
|
|
| 15 | 5 | 15<>5 – да (выполняем тело цикла) |
|
5 | 15 | 5 |
| 15>5 – да (вычитаем у из х) |
5 | 10 | 5 |
|
|
| 10 | 5 | 10<>5 – да (выполняем тело цикла) |
|
6 | 10 | 5 |
| 10>5 – да (вычитаем у из х) |
6 | 5 | 5 |
|
|
| 5 | 5 | 5<>5 – нет (алгоритм завершен) |
|
Итак, переменная х после выполнения данного фрагмента программы приняла значение 5.
Ответ: 5
У. Ребята, подумайте, какому алгоритму соответствует данная блок-схема?
Данная блок-схема соответствует известному алгоритму Евклида нахождения НОД двух чисел. Поэтому ответ можно получить и без формального выполнения алгоритма, используя, например, такую цепочку умозаключений: «55 делится нацело на 5 (по признаку делимости на 5); 55=5*11; 75 нацело на 11 не делится, но тоже делится на 5, следовательно НОД чисел 55 и 75 равен 5.
Если по внешнему виду блок-схемы нелегко понять, какой именно алгоритм она реализует, то для решения подобных задач следует пользоваться общим способом – пошаговым исполнением блок-схемы с заполнением таблицы.
Работа в группах
Дети объединяются в группы, и учитель раздает карточки с заданием.
Карточка 1. Определите значение переменной с после выполнения фрагмента алгоритма:
Карточка 2. Определите значение переменной a после выполнения фрагмента алгоритма:
Карточка 3. Определить значение переменной В после выполнения следующего фрагмента алгоритма.
Карточка 4. Определите значение переменной А после выполнения следующего алгоритма:
Карточка 5. Определите значение переменной s после выполнения следующего фрагмента алгоритма:
У. Давайте решим следующие примеры. Но сначала запишем, что mod – стандартная операция, вычисляющая остаток от деления нацело первого аргумента на второй, а div – стандартная операция, вычисляющая результат деления нацело первого аргумента на второй.
Пример 2. Определите значение целочисленных переменных после выполнения фрагмента программы:
x:=5;
y:=7;
t:=x;
x:=y mod x;
y:=t;
Решение. Составим и заполним таблицу
Значение х после шага | Значение у после шага | Значение t после шага | |
х=5 | 5 | Не определено | Не определено |
у=7 | 5 | 7 | Не определено |
t=x | 5 | 7 | 5 |
x=y mod x | 2 | 7 | 5 |
y=t | 2 | 5 | 5 |
Ответ: х=2, у=5, t=5
Работа в группах.
Карточка 1. Определите значение целочисленных переменных после выполнения фрагмента программы:
a:=42;
b:=14;
a:=a div b;
b:=a*b;
a:=b div a;
Карточка 2. Определите значение целочисленных переменных после выполнения фрагмента программы:
a:=2468;
b:=(a mod 1000)*10;
a:=a div 1000+b;
Карточка 3. Определите значение целочисленных переменных после выполнения фрагмента программы:
x:=4;
y:=16;
t:=x;
x:=y mod x;
y:=t+1;
Карточка 4. Определите значение целочисленных переменных после выполнения фрагмента программы:
a:=37;
b:=a mod 10;
c:=a div 10;
Карточка 5. Определите значение целочисленных переменных после выполнения фрагмента программы:
a:=20;
b:=7;
a:=a div b;
b:=a*b;
a:=b div a;
У. Молодцы! Вы все справились с заданием. Теперь давайте с вами вспомним как работает командный исполнитель и решим следующие примеры.
Пример 3. Что нарисует Улитка, выполнив следующую программу?
ПРОГРАММА
переведи в точку (2,0)
переведи в точку (2,-4)
переведи в точку (-2,-4)
переведи в точку (-2,0)
переведи в точку (0,0)
подними перо
переведи в точку (1,-1)
опусти перо
переведи в точку (1,-3)
переведи в точку (-1,-3)
переведи в точку (-1,-1)
переведи в точку (1,-1)
подними перо
переведи в точку (-2,0)
опусти перо
переведи в точку (0,2)
переведи в точку (2,0)
КОНЕЦ
Пример 4. Цепочка из трех бусин формируется по следующему правилу:
На первом месте в цепочке стоит одна из бусин А, Б, В. На втором – одна из бусин Б, В, Г. На третьем месте – одна из бусин А, В, Г, не стоящая в цепочке на первом или втором месте. Какая из следующих цепочек создана по этому правилу:
1) АГБ 2)ВАГ 3)БГГ 4)ББГ
Решение.
На первом месте в цепочке стоит одна из бусин А, Б, В.
После выполнения второго условия остаются варианты:
АБ, АВ, АГ,
ББ, БВ, БГ,
ВБ, ВВ, ВГ
На третьем шаге складываются цепочки:
АБВ, АБГ, АВГ, АГВ,
ББА, ББВ, ББГ, БВА, БВГ, БГА, БГВ,
ВБА, ВБГ, ВВА, ВВГ, ВГА
Итого 16 цепочек, из четырех предложенных подходит только ББГ
5. Подведение итогов урока
Учитель оценивает работу класса и называет учащихся, отличившихся на уроке.
6. Домашнее задание
Повторить тему: «Алгоритмизация и основы программирования в среде Турбо Паскаль», решить задачи:
1. Исполнитель Черепашка перемещается на экране, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:
Вперед n, где n – целое число, вызывающая передвижение черепашки на n шагов в направлении движения.
Направо m, где m – целое число, вызывающая изменение направления движения на m градусов по часовой стрелке.
Запись Повтори 4[Команда1 Команда2] означает, что последовательность команд в скобках повторится 4 раза.
Черепашке был дан для исполнения следующий алгоритм:
Повтори 4[Вперед 10 Направо 120].
Какая фигура появится на экране?
2. Определите значение целочисленных переменных а и b после выполнения фрагмента программы:
a:= 1819;
b:= (a div 100)*10+9;
a:= (10*b–a) mod 100;
3. Определите значение переменной a после выполнения фрагмента алгоритма: