П. р. № 10 «Программирование ветвящихся алгоритмов»
Цели урока:
Усовершенствование знаний программирования Работа с условным оператором и применение его при составлении программ на языке программирования Pascal.
Задачи урока:
Образовательные:
- познакомить учащихся с основными понятиями по данной теме; учить записывать простые и сложные команды ветвления; учить составлять программы на языке Pascal по блок-схеме разветвляющегося алгоритма; учить составлять программы с ветвлением на языке Pascal; продолжать формирование умений учащихся находить ошибки в программах, предвидеть результат выполнения программы. Учащиеся должны знать: - логический тип данных, логические величины, логические операции - правила записи и вычисления логических выражений - условный оператор IF - оператор выбора select case
Развивающие:
развивать у учащихся умения сопоставлять, анализировать, выделять главное, существенное, обобщать, формулировать выводы;
развивать алгоритмического мышления, точности мышления, логического ума, внимательности, познавательный интерес и творческие способности.
- Воспитательные: воспитание культуры умственного труда, самостоятельности, целеустремленности; воспитание информационной культуры.
Методы обучения:
- По способу передачи и восприятия информации: словесные, наглядные, практические. По логическому восприятию: инструктивные и дедуктивные. По характеру мыслительных операций: репродуктивные (активное восприятие и запоминание информации), частично-поисковые (самостоятельная работа, работа в парах). По степени самостоятельности: работа под руководством учителя, самостоятельная работа учащихся.
Тип урока: комбинированный.
Формы учебной работы учащихся: фронтальная работа, индивидуальная работа учащихся.
При изучении темы урока у учащихся формируются навыки использования:
- алгоритма «ветвления»; блок-схем для решения поставленных задач; операторов ветвления в языке программирования Паскаль.
Межпредметные связи: математика.
Программное обеспечение урока:
- Pascal АВС;
Дидактические материалы к учебному занятию: опорный конспект урока.
План урока.
- Актуализация знаний: проверка домашней работы; вопросы. (3 мин) Изучение нового материала. (16 мин) Физкульминутка для глаз (2 мин) Закрепление изученного материала – практическая работа (решение задач на использование ветвлений.) (20 мин) Подведение итогов. Выставление оценок. (2 мин) Домашнее задание. (1 мин)
Алгоритмическая структура ветвления программируется в Паскале с помощью условного оператора IF.
Полное ветвление: IF<логическое выражение> Then<Оператор 1> Else<Оператор 2> Неполное ветвление:
IF<логическое выражение> Then<Оператор>
Задание 1
Для каждой задачи составить программу с ветвлящейся структурой, используя условный оператор IF.
Уровень 1
1. Даны два угла треугольника (в градусах). Определить, существует ли такой треугольник. Если да, то прямоугольный ли он.
Решение Паскаль:
Program rabota_3_3_z_1;
var ugol1,ugol2,ugol3: Real;
Begin
Writeln ('Введите углы в градусах');
Readln(ugol1,ugol2);
if (ugol1+ugol2)>=180 then
begin
Write('Треугольник невозможен');
end;
write('Треугольник возможен он ');
ugol3:=180-ugol1-ugol2;
if (ugol1=90) or (ugol2=90) or (ugol3=90) then
Write('прямоугольный')
else
Write('не прямоугольный');
end.
2. На плоскости X0Y заданы своими координатами точка А. Указать, где она расположена: на какой оси или в какой координатной четверти.
Program rabota_3_3_z_2;
Label 1; //В разделе Label объявляются метки, которые помечают операторы в соответствующей операторной части
var x, y: Real;
Begin
Write ('Введите координаты точки А: x= , y= ');
Readln(x, y);//Вводим координаты точки А
Write('Точка расположена ');
if x=0 then Begin Write('на оси OY');goto 1; end;// Если х=0 выводим сообщение (на оси OY) и переходим на метку 1
if y=0 then Begin Write('на оси OX'); goto 1;end;// Если y=0 выводим сообщение (на оси OX) и переходим на метку 1
if (x>0) and (y>0) then Begin // Если x и y больше 0 выводим сообщение (в первой четверти)
Write('в первой четверти');
goto 1; //переходим на метку 1
end;
if (x<0) and (y>0) then begin // Если x меньше 0 а y больше 0 выводим сообщение (во второй четверти)
Write('во второй четверти');
goto 1; //переходим на метку 1
end;
if (x<0) and (y<0) then Begin // Если x и y меньше 0 выводим сообщение (в третьей четверти)
Write('в третьей четверти');
goto 1; //переходим на метку 1
end
else Write('в четвертой четверти'); //если не одно условие выше не выполняется выводим сообщение (в четвертой четверти)
1:; //метка 1
end.
3. Грузовой автомобиль выехал из одного города в другой со скоростью V1 км/час. Через t часов в этом же направлении выехал легковой автомобиль со скоростью V2 км/час. Составить программу, определяющую, догонит ли легковой автомобиль грузовой через t1 часов после своего выезда.
Program rabota_3_3_z_3;
var V1,t, V2,t1,s1,s2:real;
Begin
Write ('Cкорость грузового автомобиля V1 км/ч -');
read (V1);
Write ('Cкорость легкового автомобиля V2 км/ч -');
read(v2);
Write('Время выезда легкового автомобиля через t час.=');
read(t);
Write ('Время в пути легкового автомобиля t1 час.-');
read (t1);
S1:=V1*(t+t1);
s2:=V2*t1;
If s1<=s2 then Write('Легковой автомобиль догонит грузовой')
else Write('Легковой автомобиль не догонит грузовой');
end. Выставление отметок (комментирование) Д\З §18-20


