ПЛАН ОТКРЫТОГО УРОКА

advertisement
ПЛАН ОТКРЫТОГО УРОКА
Учебная дисциплина: «Информатика и ИКТ»
Группа: АН-183
Длительность: 90 минут
Тема: «Разветвляющиеся алгоритмы»
Тип занятия: урок сообщения новых знаний
Вид занятия: урок смешанный
Цель занятия:
 обучающая: формирование знаний и умений в области
составления разветвляющихся программ с использованием
различных видов условий;
 воспитательная: воспитание интереса к изучаемой
дисциплине, бережное отношение к вычислительной технике;
 развивающая: развитие логического мышления при
составлении алгоритмов решения задач;
Межпредметные связи: использование знаний учащихся по
дисциплине «Математика»;
Методическое обеспечение занятия: раздаточный материал, ТСО
(ПК), презентация.
Содержание занятия:
1 Организационная часть.
2 Проверка теоретических знаний по пройденному материалу.
3 Подготовка учащихся к сознательному усвоению нового материала
4 Изучение нового материала по теме «Разветвляющиеся
алгоритмы».
5 Проверка понимания учащимися нового материала.
6 Отработка навыков составления и отладки разветвляющихся
программ.
7 Постановка домашнего задания.
8 Подведение итогов занятия.
I. Проверка теоретических знаний по пройденному материалу.
Вопросы для проверки теоретических знаний пройденного
материала:
1 Из каких разделов состоит структура программы языка Паскаль?
program <имя программы>;
<раздел описаний>;
begin
< тело программы>;
end.
2 Как правильно составить имя программы?
(Имя может состоять из любого количества букв или цифр, но
должно начинаться с буквы).
Для чего используется слово uses? Ответ выберите из
предложенных вариантов:
а) это логическая операция;
б) с его помощью подключают стандартные библиотеки;
в) это стандартная константа.
4 Сколько ошибок допущено в разделе описаний программы? (5)
Program 1z
Uses ctr;
a:=20; d = 12;
var;
a, b : integer;
5 Какие типы переменных вы знаете?
(integer – целый, real - вещественный).
6 Что такое оператор, какие операторы на данный момент знаете?
(это команда языка программирования высокого уровня, операторы
вывода, ввода, присвоения – write, read, :.).
7 Что будет выведено на печать?
а) write (‘a=’, a); (a = 50)
б) write (a); (a)
в) write (‘введите данные’); (введите данные)
8 Что выполняет пустой оператор writeln?
(Перемещает курсор в начало следующей строки.)
9 В данном тексте программы найдите ошибки и сформулируйте
условие задачи.
3
program z1;
var a, b,c: integer
begin
writeln (‘введите а и в’);
readln (a, b);
p=a+b+c
write (‘p=’, a:4);
readln;
end.
правильный текст программы
program z1;
uses crt;
var a, b, c, p: integer;
begin
writeln (‘введите а и в’);
readln (a, b);
p:=a+b+c;
write (‘p=’, p:4);
readln;
end.
II. Подготовка учащихся к сознательному усвоению нового
материала
Что такое разветвляющийся алгоритм, чем он отличается от
линейного алгоритма (появляется блок условие), приведите примеры
использования ветвлений в жизни (про развилку, светофор, корни
квадратного уравнения).
III. Изучение нового материала по теме «Разветвляющиеся
алгоритмы»
УСЛОВНЫЙ ОПЕРАТОР
1 Полная форма условного оператора:
if условие then оператор 1 else оператор 2;
Работа оператора: сначала проверяется условие, и, если оно верно,
выполняется оператор 1, иначе выполняется оператор 2.
Задача. Ввести два целых числа и вывести на экран наибольшее из
них.
program qq;
uses crt;
var a, b, max: integer;
begin
writeln('Введите два числа');
read ( a, b );
if a > b then max:=a else max:=b;
writeln ('max= ', max:4);
readln;
end.
2 Неполная форма условного оператора:
if условие then оператор;
Работа оператора: оператор выполняется, если условие истинно,
иначе пропускается.
IV. Проверка понимания учащимися нового материала.
Изменить текст программы для неполной формы условного оператора
(где стоят знаки вопроса) в предыдущей задаче.
program qq;
uses crt;
var a, b, max: integer;
begin
writeln('Введите два целых числа');
read ( a, b );
max := a;
if ??? then
??? (if b>a then max:=b)
writeln ('Наибольшее число ', max);
readln;
end.
V. Отработка навыков составления и отладки разветвляющихся
программ.
1) Написать программу для решения квадратного уравнения,
используя данную блок-схему и полную форму условного оператора.
program kv;
uses crt;
var a, b, c,d: integer;
x1,x2:real;
begin
writeln('Введите
коэффиециенты
уравнения’);
read ( a, b,c );
d := b*b-4*a*c;
if d<0 then
writeln ('Корней нет ')
else x1,x2:=
b  b 2  4ac
;
2a
writeln
('Корни
x1,x2:4:2);
readln;
end.
уравнения
',
2) Изменить текст программы, чтобы она вычисляла корни уравнения
только в случае, когда d=0 и d<0. Формула для вычисления корня
уравнения при d=0 (он будет в этом случае один): x  b 2a
VI. Постановка домашнего задания.
Задача: найти наибольшее число из трех заданных (в конце 2 урока).
Var a,b,c:real;
Begin
Write('введите три числа');
Readln(a,b,c);
If (a>b) and (a>c) then writeln (' max= ',a:0:2);
If (b>a) and (b>c) then writeln (' max= ',b:0:2);
If (c>a) and (c>b) then writeln (' max= ',c:0:2);
Readln
End.
VII. Подведение итогов урока.
Выставление оценок за работу на уроке.
Изучение нового
алгоритмы»
материала
по
теме
«Разветвляющиеся
1. Составной оператор – объединяет несколько операторов в один.
if условие then
begin
оператор 1;
оператор 2;
…;
оператор N;
end;
Зарезервированные слова begin и end называются операторными
скобками. Между ними может быть сколько угодно других операторов,
но считается это все одним составным оператором.
Задача. Найти y = a / b. Если b = 0, то вывести сообщение об ошибке.
program primer1;
uses crt;
var
a, b: integer;
y: real;
begin
writeln (‘введите данные’);
readln (a, b);
if b < > 0 then
begin
y:= a / b;
writeln (‘y=’, y:3:1);
end
else writeln (‘ошибка’);
end.
2. Сложные условия составляются из простых при помощи
логических операций and (и), or (или), not (не).
and – логическое «и» (логическое умножение):
if (a < b) and (a < > 0) then …
or – логическое «или» (логическое сложение):
if (a > 10) or (d = 12) then …
not – логическое отрицание:
if not (a > 0) then …
Проверка понимания учащимися нового материала.
Задача. Фирма набирает сотрудников от 25 до 40 лет включительно.
Ввести возраст человека и определить, подходит ли он фирме
(вывести ответ "подходит" или "не подходит").
Особенность: надо проверить, выполняются ли два условия
одновременно.
Вариант 1.
program qq1;
uses crt;
var x: integer;
begin
writeln('Введите возраст');
read ( x );
if x >= 25 then
if x <= 40 then
writeln ('Подходит')
else writeln ('Не подходит')
readln;
end.
Вариант 2.
program qq2;
var x: integer;
begin
writeln('Введите возраст');
read ( x );
if (x >= 25) and (x <= 40) then
writeln ('Подходит')
else writeln ('Не подходит')
readln; end.
Отработка навыков составления и отладки разветвляющихся
программ
Перечень задач для самостоятельной работы на ПК:
1 Даны три действительных числа. Возвести в квадрат те числа,
значения которых неотрицательны, сделать так чтобы отрицательные
тоже при этом возводились в квадрат. Результат вывести на экран.
program qq1;uses crt;
var a,b,c:real;
begin
writeln('Введите 3 действительных числа:');
readln(a,b,c);
if a>=0 then a:=a*a else a:=sqr(sqr(a));
if b>=0 then b:=b*b else b:=sqr(sqr(b));
if c>=0 then c:=c*c else c:=sqr(sqr(c));
write('a=',a:0:2,' b=',b:0:2,' c=',c:0:2); readln; end.
2. Даны два действительных числа. Меньшее из двух чисел заменить
полусуммой, а большее – их удвоенным произведением. Результат
вывести на экран.
program qq1;uses crt;
var a,b,max,min:real;
begin
writeln('Введите 3 действительных числа:');
readln(a,b,c);
if a>b then begin max:=a; min:=b end else max:=b; min:=a;
max:=2*a*b; min:=(a+b)/2;
write('max=',max:4:2,); write('min=',min:4:2,); readln; end.
1 Вариант
1 Вычислить z = 10 + y, если
2 x  а , если x  10

yx
10 , если x  10
2 Вариант
2 Вычислить y
x  5, если x  0
y 2
x , если x  0
1. Var a,x,y,z:real;
Begin
readln(a,x);
if x>10 then y:=2*x*a; if x>10 then y:=x/10; z:=10+y;
write('z=',z:2:2,); readln; end.
2. Var a,x,y:real;
Begin
readln(x);
if x>=0 then y:=sqr(x); if x<0 then y:=x+5;
write('y=',z:2:2,); readln; end.
Подведение итогов урока.
Используемая литература:
1 Зелинский В.В. Учебник по TURBO PASCAL 7.
Download