Особенность разветвляющихся алгоритмов состоит в том, что последовательность выполнения шагов алгоритма может изменяться.
За реализацию ветвления в языке Паскаль предусмотрен оператор ветвления. Он имеет вид (запишите + на доску):
if <логическое выражение> then
<операторы 1>
else
<операторы 2>;
Эта конструкция соответствует полному ветвлению. Обратите особое внимание на отсутствие знака ";" перед ключевым словом если. Правило действие конструкции: … [объяснить]
Сокращенная форма логического оператора, которая соответствует сокращенной форме ветвления имеет вид (запишите + на доску):
if <логическое выражение> then
<операторы 1>;
Обратите внимание, что в данном случае точка с запятой у оператора 1 ставится. Правило действия конструкции: … [объяснить]
Управляющие конструкции if можно вкладывать друг в друга.
Чтобы было понятнее, решим такую задачу:
Пусть необходимо для заданного Х вычислить значение А по формулам:
A= –Х, если Х < 0
X = X * 2; А = Х – 3; , в противном случае
If x < 0 then
A := -X
Else
Begin
X := X * 2;
A := X – 3;
End;
5. ПРАКТИЧЕСКАЯ ЧАСТЬ
[Задания выполняются учащимися индивидуально. Работа может проводиться как на компьютере в системе программирования Pascal, так и в тетрадях]
Задача 1. Определить, какое из двух чисел больше.
write(’Введите два числа: ’);
readln(B,D);
if D<B then write(’первое число больше’);
if D>B then write(’второе число больше’);
if D=B then write(’числа равны’);
Задача 2. Является ли целое число однозначным.
write(’Введите целое число: ’);
readln(E);
if abs(E)<=9 then write(число однозначное)
else write(число неоднозначное);
Задача 3. Делителем каких из трёх любых целых чисел является число 7.
write(’Введите целые числа A,B,C : ’);
readln(A,B,C);
if (A mod 7)=0 then writeln(’7 делитель ’, A) else writeln(’7 не делитель ’, A);
if (B mod 7)=0 then writeln(’7 делитель ’, B) else writeln(’7 не делитель ’, B);
if (C mod 7)=0 then writeln(’7 делитель ’, C) else writeln(’7 не делитель ’, C);
Задание 4. Записать проверку того, что точка с координатами (X,Y) лежит на координатной плоскости:
1. в третьей четверти;
2. на оси Х;
3. является началом координат;
4. не лежит в первой четверти;
5. лежит либо во второй либо в третьей четвертях;
6. лежит внутри параболы у=х^2-4 под осью Х;
7. лежат на окружности с центром (0,0) радиусом r;
8. числа x и y лежат вне окружности с центром (0,0) радиусом r.
Задание 5. Запишите в виде условия:
1. число а является квадратом целого числа n;
2. число x содержит не более трёх цифр;
3. сумма двух последних цифр равна 7;
4. число а не является двухзначным отрицательным.
6. ИТОГ УРОКА:
Подведем итоги, скажите своими словами:
- Что такое ветвление?
- Назовите основную особенность разветвляющихся алгоритмов?
- Как реализуется ветвление в языка Pascal?
- Какие виды условных операторов вы знаете?
7. ВОПРОСЫ УЧЕНИКОВ.
8. ДОМАШНЕЕ ЗАДАНИЕ
1. Знание основных определений по теме урока.
2. Выполнение заданий из практической части, которые не были сделаны в классе
Приложение 6.
Дидактическая игра "Весёлые крестики-нолики"
Цель урока:
Обучающая: -проверка знаний
- повышение интереса к изучению предмета
- воспитание навыка быстрого мышления
Развивающая: - развитие творческой активности учащихся
- развитие познавательных интересов
Воспитывающая -коллективная работа в микро группах
- ответственность за коллективное решение
Тип урока: Закрепление полученных знаний
Задачи урока: четкая организация работы в микрогруппах
обобщение ЗУН в игровой форме
2. Виды алгоритмов
3. Понятие пошагового исполнения алгоритма
Уметь: 1. Быть "исполнителем" алгоритмов
2. Анализировать полученные результаты
3. Достигать цели с минимальными затратами
4. Выполнять задания в коллективе
Методы: 1. Игровой
2. Наглядный
3. Иллюстративный.
4. Поисковый
Формы организации учебной деятельности: групповая
Две команды по 5-6 человек. Все парты немного сдвинуты назад. Около доски две парты для выполняющих задания.
ДОСКА
КРЕСТИКИ нолики
Учитель. Сегодня мы с вами проводим урок - дидактическая игра “Веселые крестики – нолики” по теме “Линейные и циклические программы и алгоритмы”. На этом уроке мне бы хотелось посмотреть как вы:
- понимаете что такое исполнитель, алгоритм, линейные и циклические программы;
- умеете записывать на алгоритмическом языке алгоритмы линейной и циклической структуры;
- умеете разрабатывать и исполнять алгоритм на основе модели (задачи).
Итак, начнем урок с того, что вспомним некоторые теоретические моменты уже изученных нами тем. Задание для вас следующее: на парте у каждой группы лист, на этом листе написаны тексты заданий. Есть набор карточек с ответами, причем есть ложные карточки, которые нужно положить сверху этих заданий. Одна группа работает на доске.
1.
Программа – запись ……. на языке конкретного исполнителя.2. Последовательность действий, допустимых для исполнителя, это …………
3. Общий вид, какой команды записан:
Повторить (…) раз
Конец
4. Поверьте, верна ли система команд исполнителя "Черепаха":
подними перо
опусти хвост
вперед
назад
вправо
вниз
подними хвост
5. Продолжите определение: линейная программа – это…………
6. Какая формула используется для расчета угла поворота
при построении "звезд", если количество углов нечетно?
Начало. К доске выходит Вовка из Тридевятого царства..
- Эй, вы двое из Ларца,
Одинаковы с лица,
Ваша помощь пригодится,
Помогайте мне трудиться.
- Мы здесь! (выходят два молодца)
- Короче, хочу научиться выигрывать в крестики-нолики. Ну, давайте, учите.
На доске нарисовано:
- Легко! (начинают лепить крестики и нолики где попало, не считаясь с очередностью)
Дело почти доходит до драки.
Вовка:
- Идите отсюда, ничего вы не знаете! Ну, ничего, чтоб царя обыграть, придумаю-ка я свои крестики-нолики. Что сидите и смотрите? Сейчас мне помогать будете. Я буду давать вам задания. Будете у меня соревноваться. Какая команда в задании выиграет, та команда и будет иметь право поставить свой знак в любую клеточку – крестик или нолик. А победит та команда, которая к концу игры будет иметь больше заполненных клеточек. Вот вы будете крестиками, а вы ноликами. Эй, двое из Ларца, раздать эмблемы!
(Двое раздают эмблемы)
Вовка. Вычеркнув то, что не так,
Получите результат.
1 задание
Даны программы. Вычеркнуть те команды, которые принадлежат другому исполнителю, придайте программе циклический вид, получите результат программы (дети работают на плакатах, решение вывешивается на доску).
Для крестиков:
Начальное число 0.
Программа
Прибавь 1
Прибавь 1
Вычти 1
Прибавь 1
Раздели на 2
Умножь на 2
Умножь на 2
Прибавь 1
Раздели на 2
Прибавь 1
Умножь на 2
Конец программы
Для ноликов:
Начальное число 122
Программа
Раздели на 2
Вычти 1
Раздели на 2
Раздели на 2
Прибавь 1
Вычти 1
Конец программы
Вовка. Вот команды вам, ребятки!
Быстро стройтесь по порядку!
Даны команды, расставить их в нужном порядке и дать название алгоритму. К доске выходит столько человек от каждой команды, сколько команд в задании. Им выдаются карточки с командами.
Для крестиков:
Достать ключ из кармана
Вставить его в замочную скважину
Повернуть 2 раза влево
Вынуть ключ из замочной скважины
Открыть дверь
Для ноликов:
Подойти к ларьку
Достать кошелек
Вынуть из кошелька 10 рублей
Купить шоколадку
Съесть ее
Напишите программу с использованием цикла, при помощи которой вы получите следующее изображение. Используйте исполнитель "Робот". (дети работают на плакатах, решение вывешивается на доску).
Для крестиков: Для ноликов:
Задание 4
Вовка. Получите число и сделайте так,
Чтобы там было не больше указанных команд.
Для крестиков:
Переведите кузнечика из точки 4 в точку 21. Для этого составьте:
1) линейную программу, чтобы она содержала не более 5 команд;
2) циклическую программу.
Программа
Вперед 7
Вперед 7
Назад 2
Назад 2
Вперед 7
Конец программы
Для ноликов:
Переведите кузнечика из точки 0 в точку 17. Для этого составьте:
1) линейную программу, чтобы она содержала не более 5 команд;
2) циклическую программу.
Программа
Вперед 7
Вперед 7
Вперед 7
Назад 2
Назад 2
Конец программы
Задание 5
Что получится в результате выполнения программы:
(команды работают на плакатах, затем обмениваются решениями и проверяют их).