Тема:
«Решении задач при помощи циклов»
Подготовила:
учитель информатики Галутва Н.В.
Цель урока:
???
(Поднимите руки, кто планирует сдавать ОГЭ по информатике? На экзамене решение этой (№15) задачи даст 3 балла)
На уроке мы будем решать эту задачу:
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 4 . Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — количество чисел, кратных 4.
(скажите, какова ваша цель на сегодняшнем уроке?):
Обобщение знаний при решении задач c использованием циклов и ветвления с применением div и mod.
Цель урока:
Задачи:
образовательные:
повторение алгоритмических структур: ветвление, цикл, а так же действий div и mod;
анализа и отладки программ в среде PascalABC;
развивающие:
развивать логическое и алгоритмическое мышление;
развивать навыки самоконтроля;
воспитательные:
воспитывать познавательный интерес к изучению информатики.
Структура урока:
Организационный этап ;
Мотивация к учебной деятельности Постановка цели, задач;
Повторение;
Проверка понимания;
Закрепление (практическая работа);
Итоги урока;
Домашнее задание;
Оценка учащихся.
Давайте подумаем,
что значит кратно 4?
(какие действия мы
можем использовать)?
Отделяем цифры от чисел
div
mod
18 div 5 =
26 mod 4 =
13 mod 5 =
63 div 10 =
54 mod 10 =
Определите значение переменной после выполнения алгоритма (раздаю каждому по 1 заданию на карточках и мы вместе заполняем тест):
Карточки можно сделать заранее, я использую материалы с сайта К.Полякова ссылка на сайт http://kpolyakov.spb.ru/school/test10/p37.htm
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 4. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — количество чисел, кратных 4.
(задача с сайта решу ОГЭ)
Пример работы программы:
Входные данные
3
Выходные данные
16
2
26
24
Простое условие
if
else
then
условие
действие 2
действие 1
if условие
then действие 1
else действие 2
А если число должно быть:
- кратно 2 и 5 одновременно;
- положительное или кратно 7;
- чётное и положительное
Сложное условие
if
else
then
условие
or
if (условие) and (условие)
then действие 1
else действие 2
not
Напишите программу, которая в последовательности натуральных чисел определяет:
- количество чисел, кратных 4.
- программа получает на вход количество чисел в последовательности,
- а затем сами числа .
В последовательности всегда имеется число, кратное 4.
- Количество чисел не превышает 1000 .
- Введённые числа не превышают 30 000.
Программа должна вывести одно число —
- количество чисел, кратных 4.
???
Вспомните, какие структуры цикла есть?
с параметром
с предусловием
с постусловием
program _________;
var _________:integer;
begin
write ('введите число');
read (переменная);
repeat
Тело цикла
until условие выхода
write( вывод ответа);
end .
program ______;
var _______:integer;
begin
write ('ввод данных');
read (переменная);
while условие выполнения do
begin
Тело цикла
end ;
write( вывод ответа);
end .
program _____;
var _______:integer;
Begin
Write (‘ввод данных’);
Read (переменная);
for ___:= __ to __ do begin
Тело цикла
end ;
write (вывод ответа) ;
end .
Укажите, где какой цикл?
физминутка
Напишите программу, которая в последовательности натуральных чисел определяет:
- количество чисел, кратных 4.
- программа получает на вход количество чисел в последовательности,
- а затем сами числа .
В последовательности всегда имеется число, кратное 4.
- Количество чисел не превышает 1000 .
- Введённые числа не превышают 30 000.
Программа должна вывести одно число —
- количество чисел, кратных 4.
Какой структурой проще решить задачу???
Структура программы.
Заполните самостоятельно в тетради шаблон программы:
program _ название ____;
var ____________________:integer;
begin
write ;
read ;
For i:= _____ to ____ do
Begin
Write
Read
If_____________
then __________
Write (______________);
end; end .
Проверяем?!
program pr;
var b,n,i,k:integer;
begin
write ('введите число цифр');
read (n);
for i:= 1 to n do begin
write ('введите число ');
read (k);
if k mod 4 = 0
then b:=b+1;
end ;
write (b);
end .
А если число должно быть:
- кратно 2 и 5 одновременно;
- положительное или кратно 7;
- чётное и положительное
Предложите варианты заполнения программы!
program pr;
var b,n,i,k:integer;
begin
write ('введите число цифр');
read (n);
for i:= 1 to n do begin
write ('введите число ');
read (k);
if mod = 0
Then ;
end ;
write (b);
end .
Практическая работа
Напишите программу, которая в последовательности чисел определяет сумму чисел чётных и кратных 8 . Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 8. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число — сумму чисел, кратных 8.
Напишите программу, которая в последовательности чисел определяет сумму и количество чисел положительных чётных и кратных 8 . Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, четное, кратное 8. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число — сумму чисел, четное, кратных 8.
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6 и оканчивающихся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 6 и оканчивающихся на 4.
Цикл с предусловием
Напишите программу, которая в последовательности натуральных чисел определяет сумму трёхзначных чисел, кратных 4. Программа получает на вход натуральные числа, количество введённых чисел неизвестно , последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: сумму трёхзначных чисел, кратных 4.
Шаблон для решения задачи
program ______;
var _______:integer;
begin
write ('ввод данных');
read (переменная);
while условие выполнения do
begin
Тело цикла
end ;
write( вывод ответа);
end .
Проверяем
Напишите программу, которая в последовательности целых чисел определяет количество двузначных чисел, кратных 8. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество двузначных чисел, кратных 8.
var w, b: integer;
begin
b:=0;
readln(w);
while w0 do
begin
if (w mod 8 = 0) and (w 9) and (w then
b := b + 1;
end;
writeln(b);
end.
Итог:
Оцените, достигли ли вы поставленной в начале урока цели и на сколько?
Оцените свою работу на протяжении всего урока по пятибалльной системе.
В разработке урока используются практические задачи с сайтов:
1. https ://inf-oge.sdamgia.ru /
2. http ://kpolyakov.spb.ru/school/oge.htm