Цель: познакомить учащихся с задачами из различных областей, уметь применять полученные знания на практике, развить навыки самостоятельного выполнения задач программирования и практической работы с ПК, проверить усвоение материала.
ХОД УРОКА
I. Проверка домашнего задания.
Условие задачи: определить зарплату работнику по больничному листу, проболевшему К дней при следующих условиях, если стаж работы до 6 лет – 60%, от 6-8 – 80%, более 8 – 100 %, если несовершеннолетний –100 %, зарплата работника Z рублей в день.
Далее задача усложняется – определять зарплату до тех пор пока есть больничные листы
II. Знакомство новыми задачами.
На данном уроке учащиеся самостоятельно решают задачи, с последующей проверкой на ПК. Причем не требую на данном уроке полный текст алгоритма или программы в тетради.
Задача 1.
Написать программу, которая проверяет знания таблицы умножения. Программа должна вывести 10 различных примеров и выставить оценку, за 10 правильных ответов – “отлично”, за 9-8 – “хорошо”, 7,6 – “удовлетворительно”, 5 и менее – “плохо” .
Разбор задачи.
Задача 2.
Составить программу, имитирующую работу микрокалькулятора. Программа должна выводить две строки: первая содержит два произвольных числа, разделенных пробелом: вторая символ арифметического действия.
Пример:
2 2,
х
4
Учитель обращает внимание: именно, так работают калькуляторы в некоторых сотовых телефонах.
Задача 3.
Написать программу, которая “задумывает” число в диапазоне от 1 до 10 и предлагает пользователю угадать число из 5 попыток (разбор задачи).
III. Практическая работа.
Решить одну из предложенных задач на ПК.
IV. Итог урока.
V. Домашнее задание: написать программы ко всем трем предложенным задачам.
1.
Var kol, n1, n2, otv, rez: integer; Begin
Kol:= 0; Randomize; For I:=1 to 10 do
Begin
N1:= random(9) + 1; N2:= random(9) + 1; Rez: = n1 + n2; Write(‘ ‘,n1,’x’,n2,’=’); Read (otv); If otv = rez Then kol:= kol + 1 Else begin Writeln(‘вы ошиблись’,n1,’x’,n2,’=’,rez) End
End;
Writeln (‘правильных ответов’, kol); Write (‘ваша оценка:’); Case kol of
10: writeln(‘5’); 9,8: writeln(‘4’); 7,6: writeln(‘3’); 0..5: writeln(‘2’);
readln
End.
2.
Var oper:char; х, y, z: real;
Begin
Repeat
Writeln; Readln(x,y);Write(‘oper:’); Readln(oper); Case oper of‘+’ : z:= x + y; ‘-’ : z:= x - y; ‘*’ : z:= x * y; ‘/’ : z:= x/y; else writeln(‘Ошибка ввода’);
writeln(‘rez = ’,rez)
End.
3.
const pop=5; Var n,comp,igrok: integer;
Begin
Randomize; comp:= random(9) +1; writeln; repeatn:= n + 1; write(‘->’); readln(igrok);until (n = pop) or (comp = igrok); if comp = igrokthen writeln(‘вы выиграли’) else writeln(‘вы проиграли: компьютер задумал число ’, comp);readln;
End.