12.01.2017 г. _______________________
Тема: Решение задач на ветвление. Программирование диалога с компьютером
Место урока в теме: урок предусматривает использовать знания линейных программ и программ, использующих ветвление. После этого урока начинается изучение программирование циклов.
Краткая аннотация: Данный урок состоит из двух частей: теоретической и практической. В ходе изучения теории рассматривается порядок выполнения действий учащихся при создании дружественного интерфейса в программировании. Выполняя практическую часть, дети учатся применять полученные знания.
Цель урока: систематизировать и обобщить сведения полученные учащимися по теме "Программирование ветвления "; акцентировать внимание учащихся на программирование диалога между пользователем и компьютером.
Задачи урока: 
Образовательные: 
•	активизация и закрепление знаний учащихся по теме "Программирование ветвления"; 
•	систематизация и расширение знаний учащихся о действиях с информацией; 
Развивающие: 
•	развитие логического мышления учащихся – умений выделять главное, существенное, обобщать имеющуюся информацию; 
•	развитие у учащихся навыков самостоятельной работы; 
•	развитие воображения; 
•	формирование положительной самооценки. 
Воспитательные: 
•	формирование у учащихся познавательной потребности, интереса к предмету за счет использования на уроке различных методов; 
•	воспитание дисциплинированности; 
•	формирование чувства коллективизма и здорового соперничества; 
•	повышение грамотности устной речи учащихся. 
Тип урока: комбинированный урок- закрепление
Оборудование урока: 
•	компьютеры с операционной системой MS Windows; 
•	мультимедийный проектор, экран; 
•	презентация, подготовленная в Power Point; 
Раздаточный материал - листок с материалом к уроку, задания для работы в группах.
План урока: 
1.	Организационный момент 
2.	Актуализация знаний 
3.	Объяснение материала (мотивация, постановка учебной задачи и планирование её решения) 
4.	Работа в парах над задачей (разработка сценария) 
5.	Программирование задачи и её защита 
6.	Подведение итогов, домашнее задание 

Ход урока:
1.	Организационный момент.
Учитель: 
Здравствуйте ребята. Садитесь. Хочется надеяться, что сегодняшний урок разбудит у Вас, девятиклассников, жажду новых познаний, ведь «великий океан истины» по-прежнему расстилается перед Вами не исследованным до конца. 
Тема нашего урока: «Программирование диалога с компьютером». (Слайд № 1)
Откройте тетради, запишите число и тему урока. Обратите внимание на эпиграф. Сегодня на уроке мы с Вами поговорим о двух понятиях: программах и диалоге. Попытаемся научиться составлять программы на компьютере с использованием соответствующего задаче диалога. (Слайд № 2)
Что-то новое всегда кажется на первый взгляд сложным, поэтому давайте работать вместе.
Вместе не трудно, вместе не тесно,
Вместе легко и всегда интересно!
2.	Повторение ранее изученного материала.
Сегодня на уроке мы будем составлять программы используя линейные алгоритмы и алгоритмы на ветвление. Зарисуйте, пожалуйста, блок-схемы для линейных программ и программ на ветвление? Любой вывод на экран происходит по оператору вывода, записанному в программе. Запишите оператор вывода данных на экран?
3.Объяснение материала (мотивация, постановка учебной задачи и планирование её решения) 
Что же такое диалог с компьютером?
Если вы исполняли рассмотренные выше программы на компьютере, то почувствовали определенное неудобство при работе с машиной. Во-первых, непонятно, когда машина начи¬нает ожидать ввода данных, какие данные и в каком порядке нужно вводить (это ведь можно и забыть). Во-вторых, резуль¬таты получаются в виде чисел на экране, без всяких пояснений их смысла. Ясно, что люди между собой так не общаются.
Любую программу составлять нужно так, чтобы ее исполнение имитировало диалог между компьютером и пользователем в понятной для человека форме.
Прежде чем начать составление программы, нужно проду¬мать сценарий такого диалога.
Сценарий работы программы — это описание ее общения с пользователем (пользовательского интерфейса). Интерфейс обязательно должен быть дружественным.
Например, составим сценарий работы программы, вычис¬ляющей сумму двух целых чисел. На экране компьютера по¬следовательно должны появляться следующие строки (для примера предположим, что будем вводить числа 237 и 658):
Введите первое слагаемое: А= 237
Введите второе слагаемое: В = 658
А + В = 895
 Пока!
Здесь курсивом записаны символы, которые выводит компьютер по программе, а прямым жирным шрифтом — символы, вводимые пользователем.
Следовательно, с помощью оператора вывода на экран вы¬носятся не только результаты решения задачи, но и все эле¬менты диалога со стороны компьютера.
На листочке «Материал к уроку» записана программа, которая реализует наш сценарий. Рассмотрим её внимательно. Весь диалог реализуется с помощью оператора вывода. В этой программе используется возможность включать в список вывода символьные строки, заключенные в апост¬рофы, и арифметические выражения. Выражение А+В снача¬ла вычисляется, а потом полученное число выводится на эк¬ран. Конечно, для вычисления суммы можно было написать отдельный оператор присваивания, но можно и так, как в этом примере.
Еще обратите внимание на оператор writeln без списка вывода. Он обеспечивает пропуск строки на экране.
Вот программа, которая реализует наш сценарий:
Program Summa;
Var A, B: integer;
Begin write (‘Введите первое слагаемое А=’);
Readln (A);
Write(‘введите второе слагаемое: В=’);
Readln(B);
Writeln;
Writeln (‘A+B=’, A+B);
Writeln (‘Пока!’)
End.

Компьютерная программа совсем не обязательно должна иметь математическое содержание. Вот пример сценария, судя по которому компьютер выполняет роль электронной няньки, заботящейся о здоровье школьника. Приводятся два варианта развития сценария, в зависимости от ответа ребенка.
Вариант 1:
Ты вчера был болен. Измерь-ка темпера¬туру.
Сообщи, какая у тебя температу¬ра: 36.5
Ты здоров, дружок! Можешь идти в школу. Желаю успехов! 
Вариант 2:
Ты вчера был болен. Измерь-ка температуру! 
Сообщи, какая у тебя температура: 37.3 
Ты еще болен! Раздевайся и ложись в постель. Поправляйся, дружок!
Алгоритм этой программы содержит ветвление. Идея ал¬горитма состоит в том, что значение температуры ребенка сравнивается с величиной нормальной температуры челове¬ка: 36,6 °С. И если у ребенка температура выше, то он нездо¬ров.
По этому алгоритму получается следующая программа на Паскале:
Program nanny;
Var T: real;
Begin writeln (‘Ты вчера был болен.
                      Измерь-ка температуру!’);
Write(‘Сообщи какая у тебя температура:’);
Readln(T);
If T>37
Then begin
Writeln (‘Ты ещё болен! Раздевайся и ложись в постель.’);
Writeln (‘Поправляйся, дружок!’)
End
Else begin
Writeln (‘Ты здоров, дружок! Можешь идти в школу.’);
Writeln (‘Желаю успехов!’)
end
End.

Обратите внимание на два момента: во-первых, перед сло¬вом else ни в коем случае нельзя ставить точку с запятой; во-вторых, в записи и при вводе вещественных чисел целая и дробная части числа отделяются десятичной точкой. Составляя подобную программу, вы сами организуете ин¬терфейс компьютера с пользователем вашей программы. Этот интерфейс обязательно должен быть дружественным. Содержание диалога должно быть понятным и удобным.
Ребята у кого есть вопросы по этому материалу? (дети задают вопросы, учитель отвечает)
4. Следующий этап работы - работа в парах. На каждую пару дается задание подобное тому, что мы разобрали. Ваше задание продумать сценарий диалога для решения этой задачи за партой, потом за компьютером создать программу на Паскале реализующую диалог.
5. Программирование задачи и её защита 
6.Подведение итогов: выставление оценок за задачи.  
Домашнее задание: Гл.3 параграф 14. Листок с задачами,  для двух из которых надо написать сценарий диалога и программу его реализующий.
Загляните в компьютер. Сколько еще не познанного вокруг! Какое поле деятельности для пытливого ума, умелых рук и любознательных натур! 
Спасибо за урок, до свидания!






















    1.     
           Program Summa;
Var A, B: integer;
Begin write (‘Введите первое слагаемое А=’);
Readln (A);
Write(‘введите второе слагаемое: В=’);
Readln(B);
Writeln;
Writeln (‘A+B=’, A+B);
Writeln (‘Пока!’)
End.

2. Program nanny;
Var T: real;
Begin writeln (‘Ты вчера был болен.
                      Измерь-ка температуру!’);
Write(‘Сообщи какая у тебя температура:’);
Readln(T);
If T>37
Then begin
Writeln (‘Ты ещё болен! Раздевайся и ложись в постель.’);
Writeln (‘Поправляйся, дружок!’)
End
Else begin
Writeln (‘Ты здоров, дружок! Можешь идти в школу.’);
Writeln (‘Желаю успехов!’)
end
End.
    1.     
           Program Summa;
Var A, B: integer;
Begin write (‘Введите первое слагаемое А=’);
Readln (A);
Write(‘введите второе слагаемое: В=’);
Readln(B);
Writeln;
Writeln (‘A+B=’, A+B);
Writeln (‘Пока!’)
End.

2. Program nanny;
Var T: real;
Begin writeln (‘Ты вчера был болен.
                      Измерь-ка температуру!’);
Write(‘Сообщи какая у тебя температура:’);
Readln(T);
If T>37
Then begin
Writeln (‘Ты ещё болен! Раздевайся и ложись в постель.’);
Writeln (‘Поправляйся, дружок!’)
End
Else begin
Writeln (‘Ты здоров, дружок! Можешь идти в школу.’);
Writeln (‘Желаю успехов!’)
end
End.




Program nedely;
var a: integer;
begin
writeln ('Введите число');
readln (a);
if a=1 then writeln ('Сегодня понедельник');
if a=2 then writeln ('Сегодня вторник');
if a=3 then writeln ('Сегодня среда');
if a=4 then writeln ('Сегодня четверг');
if a=5 then writeln ('Сегодня пятница');
if a=6 then writeln ('Сегодня суббота');
if a=7 then writeln ('Сегодня воскресенье');
end.
Тема: Решение задач на ветвление. Программирование диалога с компьютером