Назар аударыңыз. Бұл материалды сайт қолданушысы жариялаған. Егер материал сіздің авторлық құқығыңызды бұзса, осында жазыңыз. Біз ең жылдам уақытта материалды сайттан өшіреміз
Жақын арада сайт әкімшілігі сізбен хабарласады
Бонусты жинап картаңызға (kaspi Gold, Halyk bank) шығарып аласыз
"Алгоритмизация и язык программирования Паскаль"
Дипломдар мен сертификаттарды алып үлгеріңіз!
Материалдың толық нұсқасын
жүктеп алып көруге болады
Урок "Алгоритмизация и язык программирования Паскаль"
9 класс
2018 год
Цели
познавательные:
-
Углубление и систематизация знаний, учащихся по основным понятиям: алгоритм, свойства алгоритма, исполнитель, блок-схема;
-
научить обрабатывать алгоритмы, записывать программы на языке Паскаль;
-
стимулирование интереса учащихся к изучаемой на уроке теме и предмету "Информатика" в целом;
развивающие:
-
развитие алгоритмического и логического мышления учащихся;
-
развитие умения применять полученные знания при решении задач различной направленности;
-
развитие памяти, внимания;
-
развитие познавательного интереса;
-
активизация взаимодействия между учащимися, развитие навыков групповой работы;
воспитательные:
-
воспитание у учащихся самостоятельности, коллективизма, ответственности за себя и других членов коллектива.
-
развивать умение отстаивать свою точку зрения, аргументировано вести диалог с одноклассниками.
Оборудование урока:
-
Ноутбуки;
-
Мультимедийный проектор;
-
Интерактивная доска.
Использованные программы
-
MS PowerPoint
Ход урока
I. Организационный момент.
Учитель сообщает тему и цели урока.
II.Актуализация знаний.
Мы изучаем информатику с 5 класса. На уроках мы узнали многое об информации, устройствах компьютера, алгоритмах. Заинтересовало то, что в нашей повседневной жизни нас окружают алгоритмы, любой человек выполняет свои действия по порядку, раздумывая, правильно ли он поступает.
В настоящее время слово “алгоритм” является одним из важнейших понятий науки информатики и имеет следующее определение: Алгоритм - это описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.
1.Сообщение ученика: История возникновения слова «алгоритм».
Правила выполнения арифметических действий над целыми числами и дробями в десятичной системе счисления впервые были сформулированы выдающимся средневековым ученым по имени Мухаммед ибн Мусса аль – Хорезми (в переводе с арабского это означает «Мухаммед, сын Муссы из Хорезма»), сокращенно Ал – Хорезми.
Ал – Хорезми жил и творил в IX веке. Арабский оригинал его арифметического труда утерян, но имеется латинский перевод XII века, по которому западная Европа ознакомилась с десятичной системой счисления и правилами выполнения в ней арифметических действий.
Ал – Хорезми стремился к тому, чтобы сформулированные им правила были понятны для всех грамотных людей. Достичь этого в веке, когда еще была разработана математическая символика (знаки операций, скобки, буквенные обозначения и тому подобное) было очень трудно. Но Ал-Хорезми удалось выработать в своих трудах такой стиль четкого, строгого словесного предписания, который не давал читателю никакой возможности уклониться от предписанного или пропустить какие – нибудь действий.
В латинском переводе книги Ал-Хорезми правила начинались словами «Алгоризми сказал». С течением времени люди забыли, что «Алгоризми» - это автор правил, и стали сами правила называть алгоритмами. Постепенно «Алгоризми сказал» преобразовалось в «алгоритм гласит».
Таким образом, слово «алгоритм» происходит от имени ученого Ал-Хорезми. Как научный термин первоначально оно обозначало лишь правила выполнения действий в десятичной системе счислении. С течением времени это слово приобрело более широкий смысл и стало обозначать любые точные правила действий.
Научное определение понятия алгоритма дал А. Черч в 1930 году.
2. Вспомним основные свойства алгоритма:
Дискретность (от лат. discretus — разделённый, прерывистый,
раздельность) (алгоритм должен состоять из конкретных действий,
следующих в определенном порядке);
Детерминированность (от. лат. determinate – определенность, точность)
(любое действие должно быть строго и недвусмысленно определено в
каждом случае);
Конечность (каждое действие и алгоритм в целом должны иметь
возможность завершения);
Массовость (один и тот же алгоритм можно использовать с
разными исходными данными);
Результативность (отсутствие ошибок, алгоритм должен приводить к
правильному результату для всех допустимых входных
значениях).
Понятность алгоритма означает, что алгоритм должен содержать только те команды, которые входят в набор команд, который может выполнить конкретный исполнитель;
Точность алгоритма означает, что каждая команда должна пониматься однозначно.
3.Виды
алгоритмов:
- Линейный
алгоритм (описание действий, которые выполняются
однократно в заданном порядке);
- Циклический
алгоритм (описание действий, которые должны повторятся
указанное число раз или пока не выполнено заданное условие);
- Разветвляющийся
алгоритм (алгоритм, в котором в зависимости от условия
выполняется либо одна, либо другая последовательность
действий);
- Вспомогательный
алгоритм (алгоритм, который можно использовать в других
алгоритмах, указав только его имя).
Массив — это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем. Элементы массива располагаются в последовательных ячейках памяти, обозначаются именем массива и индексом. Каждое из значений, составляющих массив, называется его компонентой (или элементом массива).
Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным. Вообще количество индексов элементов массива определяет размерность массива. По этом признаку массивы делятся на одномерные (линейные), двумерные, трёхмерные и т.д.
На практике наиболее распространены следующие формы представления
алгоритмов:
В устной форме.
В письменной форме на естественном языке.
В письменной форме на формальном языке.
Для более наглядного представления алгоритма широко используется
графическая форма – блок-схема, которая
составляется из стандартных графических
объектов.
В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура.
Языки программирования - это формальные языки, предназначенные для записи алгоритмов, исполнителем которых будет компьютер.
Записи алгоритмов на языках программирования называются программами.
Язык Паскаль – универсальный язык программирования.
Алфавит языка
Алфавит языка программирования Паскаль - набор допустимых символов, которые можно использовать для записи программы.
Словарь языка
На листочках даны служебные слова языка Паскаль. Нужно написать значения этих слов.
Используем структуру РЕЛЛИ ТЭЙБЛ. Два участника по плечу поочередно записывают свои ответы на одном листе бумаги.
Операции над целыми числами в языке Паскаль:
-
Операция
Обозначение
Тип результата
Сложение
+
integer
Вычитание
-
integer
Умножение
*
integer
Получение целого частного
div
integer
Получение целого остатка деления
mod
integer
Деление
/
real
Амперса́нд (&) (иногда — амперсенд; от англ. ampersand) — знак, заменяющий слово «и».
Этапы решения задач на компьютере
III. Решение задач на алгоритмы. Используем структуру КОНЭРС. Это обучающая структура на взаимодействие УЧЕНИК – УЧЕНИК, для развития КОММУНИКАЦИИ И СОТРУДНИЧЕСТВА, «углы», обучающая структура, в которой ученики распределяются по разным углам в зависимости от выбранного им варианта ответа. Направляясь к углам класса, ученики осознают, что существует разнообразие точек зрения по данной проблеме. Обучающая структура КОНЭРС призвана для развития коммуникации и сотрудничества, своего собственного мышления, учит ценить и принимать разность точек зрения и идей. Учитель объявляет 3 угла: «линейный алгоритм», «массив чисел», «циклический алгоритм». Перед учащимися лежат карточки №1. Нужно определить к какому алгоритму относится задание, подойти к выбранному углу, обсудить, решить задачи. Учитель опрашивает учащихся из разных углов. Затем решения и ответы вводятся через сканер и каждая группа видит решения через интерактивную доску.
Задание для 1 угла. Линейный алгоритм, записанный на алгоритмическом языке (задание 8 из ОГЭ)
1. а) В программе «:=» обозначает оператор присваивания, знаки «+», «-», «*» и «/» — соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики. Определите значение переменной b после выполнения алгоритма:
а := 1
b := 4
а := 2*а + 3*b
b := a/2*b
В ответе укажите одно целое число — значение переменной b.
Решение.
Выполним программу:
а := 1
b := 4
а := 2*а + 3*b = 2 + 12 = 14
b := a/2*b = 7 · 4 = 28.
б) В программе «:=» обозначает оператор присваивания, знаки «+», «-», «*» и «/» — соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики. Определите значение переменной b после выполнения алгоритма:
а := 4
b := 10
а := b - a*2
b := 24/a*4
В ответе укажите одно целое число — значение переменной b.
Решение.
Выполним программу:
а := 4
b := 10
а := b − a*2 = 10 − 8 = 2
b := 24/a*4 = 12 · 4 = 48.
в) В программе «:=» обозначает оператор присваивания, знаки «+», «-», «*» и «/» — соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики. Определите значение переменной b после выполнения алгоритма:
a := 4
b := 5
a := b + 15
b := 100/a*4
В ответе укажите одно целое число — значение переменной b.
Решение.
Выполним программу:
a := 4
b := 5
a := b + 15 = 20
b := 100/a*4 = 20.
Задание для 2 угла. Простейший циклический алгоритм, записанный на алгоритмическом языке (задание 9 из ОГЭ)
1.а) Запишите значение переменной s, полученное в результате работы следующей программы. Текст программы приведён на трёх языках программирования.
-
Алгоритмический язык
Бейсик
Паскаль
алг
нач
цел s, k
s := 0
нц для k от 3 до 8
s := s + 7
кц
вывод s
кон
DIM k, s AS INTEGER
s = 0
FOR к = 3 TO 8
s = s + 7
NEXT k
PRINT s
Var s,k: integer;
Begin
s := 0;
for k := 3 to 8 do
s := s + 7;
writeln(s);
End.
Решение.
Цикл «for k := 3 to 8 do» выполняется шесть раз. Каждый раз переменная s увеличивается на 7. Поскольку изначально s = 0, после выполнения программы получим: s = 7 · 6 = 42.
б) Определите, что будет напечатано в результате работы следующей программы. Текст программы приведён на трёх языках программирования.
-
Алгоритмический язык
Бейсик
Паскаль
алг
нач
цел s, k
s := 100
нц для k от 1 до 9
s := s - 5
кц
вывод s
кон
DIM k, s AS INTEGER
s = 100
FOR k = 1 TO 9
s = s - 5
NEXT k
PRINT s
END
Var s, k: integer;
Begin
s := 100;
for k := 1 to 9 do
s := s - 5;
write (s);
End.
Решение.
Цикл «for k := 1 to 9 do» выполняется девять раз. Каждый раз переменная s уменьшается на 5. Поскольку изначально s = 100, после выполнения программы получим: s = 100 − 9 · 5 = 55.
в) Определите, что будет напечатано в результате работы следующей программы. Текст программы приведён на трёх языках программирования.
-
Алгоритмический язык
Бейсик
Паскаль
алг
нач
цел s, k
s := 2
нц для k от 1 до 5
s := s*2
кц
вывод s
кон
s = 2
FOR k = 1 TO 5
s = s*2
NEXT k
PRINT s
END
Var s, k: integer;
Begin
s := 2;
for k := 1 to 5 do
s := s*2;
write (s);
End.
Решение.
Цикл «for k := 1 to 5 do» выполняется пять раз. Каждый раз переменная s умножается на 2. Поскольку изначально s = 2, после выполнения программы получим: s = 2 · 2 · 2 · 2 · 2 · 2 = 64.
Задание для 3 угла. Циклический алгоритм обработки массива чисел, записанный на алгоритмическом языке (задание 10 из ОГЭ)
1. а) В таблице Dat хранятся данные измерений среднесуточной температуры за 10 дней в градусах (Dat[1] — данные за первый день, Dat[2] — за второй и т. д.). Определите, какое число будет напечатано в результате работы следующей программы. Текст программы приведён на трёх языках программирования.
-
Алгоритмический язык
Бейсик
Паскаль
алг
нач
целтаб Dat[1:10]
цел к, m
Dat[1] := 2
Dat[2] := 5
Dat[3] := 8
Dat[4] := 5
Dat[5] := 4
Dat[6] := 2
Dat[7] := 0
Dat[8] := 3
Dat[9] := 4
Dat[10] := 5
m := 0
нц для к от 1 до 10
если Dat[к] > m то
m : = Dat[к]
все
КЦ
вывод m
КОН
DIM Dat(10) AS INTEGER
DIM k,m AS INTEGER
Dat(1) = 2: Dat(2) = 5
Dat(3) = 8: Dat(4) = 5
Dat(5) = 4: Dat(6) = 2
Dat(7) = 0: Dat(8) = 3
Dat(9) = 4: Dat(10) = 5
m = 0
FOR k := 1 TO 10
IF Dat(k)>m THEN
m = Dat[k]
ENDIF
NEXT k
PRINT m
Var k, m: integer;
Dat: array[1...10] of integer;
Begin
Dat[1] := 2; Dat[2] := 5;
Dat[3] := 8; Dat[4] := 5;
Dat[5] := 4; Dat[6] := 2;
Dat[7] := 0; Dat[8] := 3;
Dat[9] := 4; Dat[10] := 5;
m := 0;
for k := 1 to 10 do
if Dat[k] > m then
begin
m := Dat[k]
end;
writeln(m);
End.
Решение.
Программа предназначена для нахождения максимального значения среднесуточной температуры. Проанализировав входные данные, приходим к выводу, что ответ 8.
б) В таблице Dat хранятся данные измерений среднесуточной температуры за 10 дней в градусах (Dat[1] — данные за первый день, Dat[2] — за второй и т. д.). Определите, какое число будет напечатано в результате работы следующей программы. Текст программы приведён на трёх языках программирования.
-
Алгоритмический язык
Бейсик
Паскаль
алг
нач
целтаб Dat[1:10]
цел к, m
Dat[1] := 2
Dat[2] := 5
Dat[3] := 7
Dat[4] := 5
Dat[5] := 4
Dat[6] := 2
Dat[7] := 0
Dat[8] := 3
Dat[9] := 4
Dat[10] := 5
m := 10
нц для к от 1 до 10
если Dat[к] < m то
m : = Dat[к]
все
КЦ
вывод m
КОН
DIM Dat(10) AS INTEGER
DIM k,m AS INTEGER
Dat(1) = 2: Dat(2) = 5
Dat(3) = 7: Dat(4) = 5
Dat(5) = 4: Dat(6) = 2
Dat(7) = 0: Dat(8) = 3
Dat(9) = 4: Dat(10) = 5
m = 10
FOR k := 1 TO 10
IF Dat(k) < m THEN
m = Dat[k]
ENDIF
NEXT k
PRINT m
Var k, m: integer;
Dat: array[1...10] of integer;
Begin
Dat[1] := 2; Dat[2] := 5;
Dat[3] := 7; Dat[4] := 5;
Dat[5] := 4; Dat[6] := 2;
Dat[7] := 0; Dat[8] := 3;
Dat[9] := 4; Dat[10] := 5;
m := 10;
for k := 1 to 10 do
if Dat [ k] < m then
begin
m := Dat[k]
end;
writeln(m);
End.
Решение.
Программа предназначена для нахождения значения минимального элемента массива Dat. Проанализировав входные данные, приходим к выводу, что ответ 0.
в) В таблице Dat представлены данные о количестве голосов, поданных за 10 исполнителей народных песен (Dat[1] — количество голосов, поданных за первого исполнителя, Dat[2] — за второго и т. д.). Определите, какое число будет напечатано в результате работы следующей программы. Текст программы приведён на трёх языках программирования.
-
Алгоритмический язык
Бейсик
Паскаль
алг
нач
целтаб Dat[1:10]
цел к, m
Dat[1] := 56
Dat[2] := 70
Dat[3] := 20
Dat[4] := 41
Dat[5] := 14
Dat[6] := 22
Dat[7] := 30
Dat[8] := 12
Dat[9] := 65
Dat[10] := 35
m := 0
нц для к от 1 до 10
если Dat[к] > 25 то
m : = m+1
все
КЦ
вывод m
КОН
DIM Dat(10) AS INTEGER
DIM k,m AS INTEGER
Dat(1) = 56: Dat(2) = 70
Dat(3) = 20: Dat(4) = 41
Dat(5) = 14: Dat(6) = 22
Dat(7) = 30: Dat(8) = 12
Dat(9) = 65: Dat(10) = 35
m = 0
FOR k := 1 TO 10
IF Dat(k) > 25 THEN
m =m+1
ENDIF
NEXT k
PRINT m
Var k, m: integer;
Dat: array[1...10] of integer;
Begin
Dat[1] := 56; Dat[2] := 70;
Dat[3] := 20; Dat[4] := 41;
Dat[5] := 14; Dat[6] := 22;
Dat[7] := 30; Dat[8] := 12;
Dat[9] := 65; Dat[10] := 35;
m := 0;
for k := 1 to 10 do
if Dat[k] > 25 then
begin
m := m+1
end;
writeln(m);
End.
Решение.
Программа предназначена для определения количества исполнителей, за которых подали более 25 голосов. Проанализировав входные данные, приходим к выводу, что таких исполнителей было шесть.
IV. Практическая работа.
Целая часть – div, остаток – mod.
z := x div y
x - число ,
которое будем делить
на y (делимое)
y - число ,
на которое будем делить число x
(делитель)
z -
результат целочисленного деления (целочисленное
частное)
Таким образом,
вот такая запись (55 / 6) нацело = 9 в результате
использования оператора div будет
выглядеть так
z := 55 div 6
z будет равно
9. Запомните ! При использовании оператора div дробная часть будет
отброшена!
А сейчас
поговорим о делении с остатком. Оно не особо отличается и главным
здесь является то , что в результате отбрасывается как раз целая
часть .То есть (40 / 6) с остатком = 4, (10 / 3) с остатком =1, (22
/ 5) с остатком = 2 и т.д. В паскале для этого
есть оператор mod. Записывается
он точно так же.
z := x mod y
x - число ,
которое будем делить
на y (делимое)
y - число ,
на которое будем делить число x
(делитель)
z -
остаток
Например (40 /
6) с остатком = 4 с оператором mod будет
такой
z := 55 mod 6
И как результат
получим z=1 .
Задание 2. Используем структуру РЕЛЛИ ТЭЙБЛ. Два участника по плечу поочередно записывают свои ответы на одном листе бумаги. Это примеры короткого алгоритма на языке программирования. (задание 20 из ОГЭ).
Дописать: (первым начинает тот ученик, который стоит первым по списку).
1. Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 4. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — количество чисел, кратных 4.
Решение.
var n, s, k, g: integer; begin s:=0; readln(n); for k:=1 to n do begin readln(g);
if ___________ then
s:=______;
end;
writeln(s);
end.
Ответ: (g mod 4 = 0) s+1;
Через сканер на экране появляются ответы одной пары. Проверяем, выявляем ошибки, делаем выводы.
2. Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 6.
Решение.
var n, s, k, g: integer;
begin
s:=0;
readln(n);
for k:=1 to n do
begin
readln(g);
if ___________then
s:=_______
end;
writeln(s);
end.
Ответ: (g mod 6 = 0) s+1;
V. Тестирование.
Первая группа учащихся (не сдающие ОГЭ) на ноутбуках выполняют тест в Excel, вторая группа ( сдающие ОГЭ по информатике) составляют программу к задаче 20.
Задание 1
Вопрос:
Алгоритм - это ...
Выберите один из 5 вариантов ответа:
1) правила выполнения определенных действий
2) ориентированный граф, указывающий порядок исполнения некоторого набора команд
3) понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленных целей
4) набор команд для компьютера
5) протокол вычислительной сети
Задание 2
Вопрос:
Укажите наиболее полный перечень способов записи алгоритмов:
Выберите один из 5 вариантов ответа:
1) словесный, графический, псевдокод, программный
2) словесный
3) графический, программный
4) словесный, программный
5) псевдокод
Задание 3
Вопрос:
Суть такого свойства алгоритма как результативность заключается в том, что:
Выберите один из 5 вариантов ответа:
1) алгоритм должен иметь дискретную структуру (должен быть разбит на последовательность отдельных шагов)
2) записывая алгоритм для конкретного исполнителя, можно использовать лишь те команды, что входят в систему его команд
3) алгоритм должен обеспечивать решение не одной конкретной задачи, а некоторого класса задач данного типа
4) при точном исполнении всех команд алгоритма процесс должен прекратиться за конечное число шагов, приведя к определенному результату
5) исполнитель алгоритма не должен принимать решения, не предусмотренные составителем алгоритма
Задание 4
Вопрос:
Суть такого свойства алгоритма как массовость заключается в том, что:
Выберите один из 5 вариантов ответа:
1) алгоритм должен иметь дискретную структуру (должен быть разбит на последовательность отдельных шагов)
2) при точном исполнении всех команд алгоритма процесс должен прекратиться за конечное число шагов, приведя к определенному результату
3) алгоритм должен обеспечивать решение не одной конкретной задачи, а некоторого класса задач данного типа
4) записывая алгоритм для конкретного исполнителя, можно использовать лишь те команды, что входят в систему его команд
5) способ решения задачи определён однозначно в виде последовательности шагов. На любом шаге не допускаются никакие двусмысленности или неопределённости
Задание 5
Вопрос:
Суть такого свойства алгоритма как дискретность заключается в том, что:
Выберите один из 5 вариантов ответа:
1) алгоритм должен иметь дискретную структуру (должен быть разбит на последовательность отдельных шагов)
2) записывая алгоритм для конкретного исполнителя, можно использовать лишь те команды, что входят в систему его команд
3) алгоритм должен обеспечивать решение не одной конкретной задачи, а некоторого класса задач данного типа
4) при точном исполнении всех команд алгоритма процесс должен прекратиться за конечное число шагов, приведя к определенному результату
5) исполнитель алгоритма не должен принимать решения, не предусмотренные составителем алгоритма
Задание 6
Вопрос:
Суть такого свойства алгоритма как понятность заключается в том, что:
Выберите один из 5 вариантов ответа:
1) алгоритм должен иметь дискретную структуру (должен быть разбит на последовательность отдельных шагов)
2) записывая алгоритм для конкретного исполнителя, можно использовать лишь те команды, что входят в систему его команд
3) алгоритм должен обеспечивать решение не одной конкретной задачи, а некоторого класса задач данного типа
4) при точном исполнении всех команд алгоритма процесс должен прекратиться за конечное число шагов, приведя к определенному результату
5) исполнитель алгоритма не должен принимать решения, не предусмотренные составителем алгоритма
Задание 7
Вопрос:
Суть такого свойства алгоритма как детерминируемость заключается в том, что:
Выберите один из 5 вариантов ответа:
1) способ решения задачи определён однозначно в виде последовательности шагов. На любом шаге не допускаются никакие двусмысленности или неопределённости
2) записывая алгоритм для конкретного исполнителя можно использовать лишь те команды, что входят в систему его команд
3) алгоритм должен обеспечивать решение не одной конкретной задачи, а некоторого класса задач данного типа
4) при точном исполнении всех команд алгоритма процесс должен прекратиться за конечное число шагов, приведя к определенному результату
5) исполнитель алгоритма не должен принимать решения, не предусмотренные составителем алгоритма
Задание 8
Вопрос:
Алгоритм называется линейным:
Выберите один из 5 вариантов ответа:
1) если он составлен так, что его выполнение предполагает многократное повторение одних и тех же действий
2) если ход его выполнения зависит от истинности тех или иных условий
3) если его команды выполняются в порядке их естественного следования друг за другом независимо от каких-либо условий
4) если он представим в табличной форме
5) если он включает в себя вспомогательный алгоритм
Задание 9
Вопрос:
Алгоритм называется циклическим:
Выберите один из 5 вариантов ответа:
1) если он составлен так, что его выполнение предполагает многократное повторение одних и тех же действий
2) если ход его выполнения зависит от истинности тех или иных
3) если его команды выполняются в порядке их естественного следования друг за другом независимо от каких-либо условий
4) если он представим в табличной
5) если он включает в себя вспомогательный алгоритм
Задание 10
Вопрос:
Алгоритм включает в себя ветвление, если:
Выберите один из 5 вариантов ответа:
1) если он составлен так, что его выполнение предполагает многократное повторение одних и тех же действий
2) если ход его выполнения зависит от истинности тех или иных
3) если его команды выполняются в порядке их естественного следования друг за другом независимо от каких-либо условий
4) если он представим в табличной форме
5) если он включает в себя вспомогательный алгоритм
Ответы:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
3 |
1 |
4 |
3 |
1 |
2 |
1 |
3 |
1 |
2 |
Критерии оценивания:
1 б. за каждое задание, «5» - 10 б, «4» - 8-9 б, «3» - 5-7 б, «2» - меньше 5 б.
Учащиеся, сдающие ОГЭ по информатике, пишут программу на языке Паскаль.
20.2 Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 7 и оканчивающихся на 2. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: сумму всех чисел, кратных 7 и оканчивающихся на 2.
Пример работы программы:
-
Входные данные
Выходные данные
112
24
42
49
22
0154
Решение.
Program z1;
Var a, s: integer;
Begin
s: = 0;
readin(a);
while a<>0 do
begin
if (a mod 7=0) and (a mod 10 = 2) then
s : = s + a;
readin(a);
end;
writeln(s);
End.
Для проверки правильности работы программы необходимо использовать следующие тесты:
-
Входные данные
Выходные данные
1
21
12
112
182
0
294
2
36
0
0
3
112
0
112
Дополнительно:
Простой линейный алгоритм для формального исполнителя (задание 14 из ОГЭ)
Один ученик выполняет работу с сайта http://inf.reshuoge.ru/test?id=679300&nt=True&pub=False, используя интерактивную доску, остальные работают по карточкам.
Задание 1
У исполнителя Умножатель две команды, которым присвоены номера:
1. умножь на 2
2. прибавь 3
Первая из них умножает число на 2, вторая — прибавляет к числу 3. Составьте алгоритм получения из числа 4 числа 62, содержащий не более 5 команд. В ответе запишите только номера команд.
Решение.
Умножение на число обратимо не для любого числа, поэтому, если мы пойдём от числа 62 к числу 4, то однозначно восстановим программу. Полученные команды будут записываться справа налево. Если число некратно 2, то отнимаем 3, а если кратно, то делим на 2:
62 / 2 = 31 (команда 1);
31 − 3 = 28 (команда 2);
28 / 2 = 14 (команда 1);
14 / 2 = 7 (команда 1).
7 − 3 = 4 (команда 2).
Запишем последовательность команд в обратном порядке и получим ответ: 21121.
Ответ: 21121.
У исполнителя Квадратор две команды, которым присвоены номера:
1. возведи в квадрат
2. прибавь 3
Первая из них возводит число на экране во вторую степень, вторая — прибавляет к числу 3.
Составьте алгоритм получения из числа 2 числа 55, содержащий не более 5 команд. В ответе запишите только номера команд.
Решение.
Пойдём от конца к началу, будем извлекать корни и вычитать тройку, пока не получим из числа 55 число 2, а затем инвертируем порядок команд
(команда 2);
(команда 2);
(команда 1);
(команда 2).
(команда 1).
Искомая последовательность команд 12122.
У исполнителя Делитель две команды, которым присвоены номера:
1. раздели на 2
2. вычти 3
Первая из них уменьшает
число на экране в 2 раза, вторая уменьшает его на 3.
Исполнитель работает только с натуральными числами.
Составьте алгоритм получения из числа 76 числа 5,
содержащий не более 5 команд. В ответе запишите только
номера команд.
Решение.
Поскольку Делитель работает только с натуральными числами и число 76 — чётное, первая команда должна быть 1. Из числа 38 число 5 можно получить последовательностью команд 1212. Следовательно, искомый алгоритм: 11212.
У исполнителя Делитель две команды, которым присвоены номера:
1. раздели на 2
2. прибавь 1
Первая из них уменьшает число на экране в 2 раза, вторая увеличивает его на 1. Исполнитель работает только с натуральными числами. Составьте алгоритм получения из числа 23 числа 4, содержащий не более 5 команд. В ответе запишите только номера команд.
Решение.
Поскольку Делитель работает только с натуральными числами и число 23 — нечётное, первая команда должна быть 2. Из числа 24 число 4 можно получить последовательностью команд 1112. Следовательно, искомый алгоритм: 21112.
У исполнителя Делитель две команды, которым присвоены номера:
1. раздели на 2
2. прибавь 1
Первая из них уменьшает число на экране в 2 раза, вторая увеличивает его на 1. Исполнитель работает только с натуральными числами. Составьте алгоритм получения из числа 89 числа 24, содержащий не более 5 команд. В ответе запишите только номера команд.
Решение.
Поскольку Делитель работает только с натуральными числами и число 89 — нечётное, первая команда должна быть 2. Из числа 90 число 24 можно получить последовательностью команд 1212. Следовательно, искомый алгоритм: 21212.
VI. Домашнее задание.
Вариант1
1. Решение квадратного уравнения
Квадратное уравнение имеет вид ax2 + bx + c = 0, где а ≠ 0. Требуется найти корни этого уравнения.
Найдём дискриминант по формуле D = b2 – 4ac.
Если дискриминант D > 0, то уравнение имеет 2 корня: ; ,
если дискриминант D = 0, то уравнение имеет 1 корень: ,
если дискриминант D < 0, то уравнение не имеет корней.
Задание:
-
Составьте алгоритм решения квадратного уравнения.
-
Ответьте на вопросы:
а) в каком школьном предмете вы определяли алгоритмы?
в) как проявляются свойства алгоритма:-
конечность;
-
дискретность;
-
массовость;
-
понятность
на вашем примере?
-
Вариант 2
20.2 Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 7 и оканчивающихся на 1. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число: сумму всех чисел, кратных 7 и оканчивающихся на 1.
Пример работы программы:
-
Входные данные
Выходные данные
21
14
31
28
91
0
112
Решение.
20.2 Решением является программа, записанная на любом языке программирования. Пример верного решения, записанного на языке Паскаль:
var a, s: integer;
begin
s:= 0;
readln(a);
while a<>0 do
begin
if (a mod 7 = 0) and (a mod 10 = 1)
then s := s + a;
readln(a);
end;
writeln(s)
end.
Возможны и другие варианты решения. Для проверки правильности работы программы необходимо использовать следующие тесты:
-
№
Входные данные
Выходные данные
1
21
91
0
112
2
70
0
0
3
11
0
0
4
10
15
0
0
- Написать синквейн к словам «Компьютер, алгоритм».
Алгоритм написания синквейна.
1-я строка. Кто? Что? 1 существительное.
2-я строка. Какой? 2 прилагательных.
3-я строка. Что делает? 3 глагола.
4-я строка. Что автор думает о теме? Фраза из 4 слов.
5-я строка. Кто? Что? (Новое звучание темы). 1 существительное.
Примеры:
1.
Алгоритм
2.точный,
понятный.
3.составлять,
действовать, выполнять
4.строгое
исполнение последовательности
действий
5.
план
1.Компьютер
2.мощный,
рабочий
3.работает, помогает,
затягивает
4.хороший помощник для
человека
5.ЭВМ
VII. Рефлексия. Итог, оценивание.
Подведи итог своей работы.
ФИ_______________________________________________________________________
1. Мне было интересно работать на уроке. Да. Нет.
2. Мне было легко выполнять задания. Да. Нет.
3. Мне было трудно выполнять задания. Да. Нет.
4. Труднее всего было выполнить задание_______________________________________