Урок по информатике 
в  9  классе

по теме:
Программирование разветвляющихся алгоритмов.
Условный оператор.

Подготовила
 учитель информатики
МБОУ «Гимназия №2»
Пыхтина Юлия Викторовна 

г. Курчатов 
2015

Тема урока: «Программирование разветвляющихся алгоритмов. 
Условный оператор» 
Цели урока:
1)	Дидактическая: формирование у учащихся представлений о новом для них виде разветвляющегося алгоритма — условном операторе; усвоение правильности описания этого вида ветвлений в блок-схеме и программе на языке Паскаль; формирование практических навыков по изменению программы, отладке и просмотру полученных результатов (связь с прошлыми уроками); контроль усвоения полученных знаний учащимися при выполнении самостоятельного задания; закрепление в д/з.
2)	Воспитательная: выработка терпения и аккуратности при исправлении программы и, особенно, при поиске и исправлении ошибок (язык со строгим синтаксисом); выработка последовательности действий по алгоритму; оказание помощи товарищу при поиске ошибок в программе.
3)	Развивающая: развитие наблюдательности при работе с алгоритмом, записанном в виде блок-схемы и программы; осознание полученного результата; сравнение условного оператора в задаче, разобранной учителем и задачи, поставленной перед учеником.

Учащиеся должны уметь:
•	написать блок-схему и программу с использованием условных операторов;
•	выполнить программу на ПК и проверить результат;
•	проверить правильность полученного результата.
Учащиеся должны знать:
•	форму записи условного оператора в блок-схеме и программе;
•	его место в блок-схеме и программе;
•	последовательность выполнения программы.

Тип урока: Систематизация и обобщение знаний и умений.  Практическая работа.

Планируемые образовательные  результаты:
Предметные – умение записывать на языке программирования короткие алгоритмы, содержащие алгоритмическую конструкцию ветвление;
Метапредметные – умение самостоятельно планировать пути достижения целей; умение соотносить свои действия с планируемыми результатами; осуществлять контроль своей деятельности, определять способы действий в рамках предложенных условий, корректировать свои действия в соответствии с изменяющейся ситуацией; умение оценивать правильность выполнения учебной задачи; 
Личностные – алгоритмическое мышление, необходимое для профессиональной деятельности в современном обществе; представление о программировании как сфере возможной профессиональной деятельности.

Используемые на уроке средства ИКТ: 
•	персональный компьютер (ПК) учителя
•	мультимедийный проектор
•	экран
•	ПК обучающихся

Формы работы:
•	Актуализация опорных знаний – фронтальная работа;
•	Практическая работа ;
•	Проблемное обучение.

ПЛАН ПРОВЕДЕНИЯ УРОКА:
1.	ОРГАНИЗАЦИОННЫЙ  ЭТАП   
2.	ЦЕЛИ И ЗАДАЧИ   
3.	АКТУАЛИЗАЦИЯ ЗНАНИЙ  
4.	ОБОБЩЕНИЕ И СИСТЕМАТИЗАЦИЯ ЗНАНИЙ  
5.	ПРИМЕНЕНИЕ ЗНАНИЙ И УМЕНИЙ В НОВОЙ СИТУАЦИИ   
6.	КОНТРОЛЬ   -   Тест
7.	РЕФЛЕКСИЯ   
8.	ДОМАШНЕЕ ЗАДАНИЕ 

ХОД УРОКА:
1.	ОРГАНИЗАЦИОННЫЙ  ЭТАП   
–Здравствуйте, ребята! Садитесь.
 Проверить готовность учащихся к уроку, правильную организацию рабочего места. Отметить отсутствующих в журнале.
2.	АКТУАЛИЗАЦИЯ ЗНАНИЙ   
– Вся наша жизнь связана с построением алгоритмов. Алгоритмы бывают разными. Примерами использования алгоритмов являются пословицы.
– Алгоритмы в пословицах  (слайд)
– Эпизод из сказки  «Гуси-лебеди»  (слайд)
–  Какой вид алгоритма представлен в этих примерах?
–   Т. е., везде ставится условие, от выполнения которого зависит дальнейшее действие героев.

3.	ЦЕЛИ И ЗАДАЧИ   

– Тема нашего сегодняшнего урока “ Программирование разветвляющихся алгоритмов. Условный оператор ”.
Сегодня на уроке мы с Вами:
•	Повторим основные понятия по алгоритмам и способам представления, формы записи команды ветвления, общий вид условного оператора и структуру программы.
•	Продолжим составлять разветвляющиеся алгоритмы к различным задачам.
•	Составим и введем программы  с применением условного оператора  и проверим их работу на примерах.

4.	ОБОБЩЕНИЕ  И  СИСТЕМАТИЗАЦИЯ  ЗНАНИЙ   (20-25 мин)

– Давайте посмотрим на экран и ответим на вопросы.

1)	Какие алгоритмы называются разветвляющимися?
Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
2)	Назовите две формы ветвления. 
Полная форма  и Сокращенная форма (неполная форма)
3)	Как на языке Паскаль записывается полная форма  ветвления?
IF (условие) TНEN (оператор 1) ELSE (оператор 2) 
4)	Как на языке Паскаль записывается сокращенная форма  ветвления?
IF (условие) TНEN (оператор) 
5)	Определите значения переменной x после выполнения фрагмента программы:                     
a := 2;
x := a+2; 
if    x > 4   then
x := x+2*a 
else  x:= a-x; 
                                  	Ответ:
X = -2

6)	Определите значения переменной Z после выполнения фрагмента программы:
x := 5;
y := 24;
y := y - 2*x; 
if    (x > y)  and  (y < 0)    then
       z := x + y
else  z:= x - y;	Ответ:
Z = -9 

7)	Составить условие, которое является истинным, когда:
a)  каждое из чисел A и B больше 100;
(A > 100)   and   (B > 100);
б)  только одно из чисел A и B чётное;
((A mod 2 < > 0)   and   (B mod 2 = 0))  or ((A mod 2 = 0)   and   (B mod 2 < > 0));
в)  хотя бы одно из чисел A и B положительное;
(A > 0)   or   (B > 0);
г)  каждое из чисел A и  B   кратно 3;
(A mod 3 = 0)   and   (B mod 3 = 0);
д)  только одно из чисел A и  B  меньше 50.
((A < 50)   and   (B >= 50))  or  ((A >= 50)   and   (B < 50));

8)	Записать условие, которое является истинным, когда точка с координатой  (x,y)  попадает в заштрихованные участки, включая их участки:
    
              y
            1     2    3      x
                                
             -1
  - 2                                   
                                                   If  ((x >= 1) and  (x <= 3))  and  ((y >= -2) and  (y <= -1))

5.	ПРИМЕНЕНИЕ ЗНАНИЙ И УМЕНИЙ В НОВОЙ СИТУАЦИИ   
 – Применим теоретические знания к составлению программ.
Задание 1.   Какая задача решается с помощью следующего алгоритма?  

S mod 2=0

X

ЧИСЛО –
ЧЕТНОЕ

ЧИСЛО –
НЕЧЕТНОЕ

a:= x div 100

S:= a+b+c

b:= x div 10

x:= x mod 100

НАЧАЛО

c:= x mod 10

КОНЕЦ

                                                                        

–  Как нужно дополнить алгоритм, 
чтобы узнать, 
является ли полученное число 
четным/нечетным?

                     
                   да                                            нет

Задание 2.  Какая задача решается с помощью следующего алгоритма?

– Запишем соответствующую программу на языке Паскаль 
(1 ученик – на доске, остальные в тетради)
Program kvyr;
var a,b,c,D,x1,x2:real;
begin
writeln ('Введите a,b,c=');
readln (a,b,c);
d:=b*b-4*a*c;
if D<0 then  writeln ('Корней нет)
else   begin   *операторные скобки*
X1:=(-b+sqrt(D))/2/a;
X2:=(-b-sqrt(D))/2/a;
writeln ('Корни уравнения:');
writeln ('X1=',X1);
writeln ('X2=',X2)
end
end.	Пример входных данных	
Пример выходных данных	

a= 2,  b=4 ,  c=7 	
Корней нет 	

a= 4,  b= -12 ,  c=9 	
x1= 1.5   ;    x2= 1.5 	

a= -1, b=-5 ,  c=14 	
x1= -7      ;     x2= 2 	

6.	КОНТРОЛЬ              Перед вами лежит тест. Дайте ответы на его вопросы. 
ВАРИАНТ 1
1. К какому типу относится переменная А:=26?
а) char;  б) integer;    в) boolean;   г) real.
2. Определите, является ли число М четным. Какое условие можно использовать в этой задаче?
а) M mod 2=0;    б) M/2=0;    в) M div 2 =0;    г) M='четное'.
3. Входит ли число А в диапазон значений (4;10]? Какое составное условие нужно поставить в этой задаче?
а) (A>4) and (A<=10);   б) (A<4) and (A>=10);   
в) (A>4) or (A<=10);     г) not (A>4) and not (A<=10).
4. Какое условие следует использовать для вычисления Y по формулам: Y=(X+1)2, при X<1; Y=cosX, при X≥1?
а) if x>=1 then y:=cos(x) else y:=sqr(x+1); 
б) if x<1then y:=cos(x) else y:=sqr(x+1);   
в) if x>=1 then y:=sqr(x+1) else y:=cos(x);     
г) if x>1 then y:=cos(x) else y:=sqr(x+1);
5. Что будет выведено на экран после выполнения фрагмента программы?
begin
a:=1; b:=2;
if (a>=1) and (b>=2) then n:=a+b else n:=a-b;
writeln(n);
end.
а) 3;     б) -1;     в) 1;    г) 2.
	ВАРИАНТ 2
1. К какому типу относится переменная А:=0.25?
а) char;  б) integer;    в) boolean;   г) real.
2. Определите, является ли число М нечетным. Какое условие можно использовать в этой задаче?
а) M mod 2<>0;    б) M/2<>0;    в) M div 2<>0;   г) M='нечетное'.
3. Входит ли число А в диапазон значений [4;10)? Какое составное условие нужно поставить в этой задаче?
а) (A>=4) and (A<10);   б) (A<=4) and (A>10);   
в) (A>=4) or (A<=10);    г) not (A>=4) and not (A<10).
4. Какое условие следует использовать для вычисления Y по формулам: Y=(X+1)2, при X≥1; Y=cosX, при X<1?
а) if x>=1 then y:=cos(x) else y:=sqr(x+1); 
б) if x<1then y:=cos(x) else y:=sqr(x+1);   
в) if x>=1 then y:=sqr(x+1) else y:=cos(x);     
г) if x>1 then y:=cos(x) else y:=sqr(x+1);
5. Что будет выведено на экран после выполнения фрагмента программы?
begin
a:=1; b:=1;
if (a>=1) and (b>=2) then n:=a+b else n:=a-b;
writeln(n);
end.
а) 3;     б) -1;     в) 1;    г) 0.	
Ответы к тесту
ВАРИАНТ 1	
	
ВАРИАНТ 2	

1	
2	
3	
4	
5	
	
1	
2	
3	
4	
5	

Б	
А	
А	
А	
А	
	
Г	
А	
А	
В	
Г	

7.	РЕФЛЕКСИЯ   

Сегодня на уроке мы:
•	Повторили основные понятия по алгоритмам и способам представления, формы записи команды ветвления, общий вид условного оператора и структуру программы.
•	Научились составлять разветвляющиеся алгоритмы к различным задачам, используя три способа представления алгоритмов;
•	Научились составлять и вводить программу, с применением условного оператора к стандартным математическим задачам и проверили ее работу на конкретных примерах.
•	Мы достигли цели урока?

8.	ДОМАШНЕЕ ЗАДАНИЕ   

§ 4.5, задачи:

1.	Написать программу, определяющую по координатам точки, в какой четверти она находится.
var
  x,y:integer;
begin
  writeln('Введите x');
  readln(x);
  writeln('Введите y');
  readln(y);
  if (x>=0)and(y>=0) then writeln('1-четверть')else
  if (x>=0)and(y<=0) then writeln('4-четверть')else
  if (x<=0)and(y>=0) then writeln('2-четверть')else
  writeln('3-четверть')
end.	

2.	Определите значение переменной  c  после выполнения следующего фрагмента программы.
a:= 10; 
b:= 6;
b:= b+а;
if   a > 2*b  then  
     if   b < –3  then  
c:= a–2*b 
                else   c:= 2*a
else   c:= –3*b;
	
На следующем уроке мы с вами продолжим составлять программы.
Молодцы! Вы сегодня с пользой для себя поработали. 
Спасибо за урок. Все свободны.