Программирование в заданиях ОГЭ-2022
презентация к уроку по информатике и икт (9 класс)

Богачева Галина Владимировна

В презентации собраны и подробно проанализированы задания 6 (формальное исполнение алгоритма на языке программирования высокого уровня) и задание 15-2 (написание программы). Эта презентация может быть использована на уроках при изучении темы «Программирование», а также во время подготовки к ОГЭ для групповых или индивидуальных консультаций.

Скачать:

Предварительный просмотр:


Подписи к слайдам:

Слайд 1

Программирование в заданиях ОГЭ-2022 Учитель – Богачёва Г.В. Лицей № 144 Санкт-Петербурга

Слайд 2

Формальное исполнение алгоритма Задание №6

Слайд 3

Задача 1. Паскаль Python С++ var s, k: integer; begin readln (s); readln (k); if (s > 5) or (k > 5) then writeln (' ДА ') else writeln (' НЕТ ') end . s = int (input()) k = int (input()) if s > 5 or k > 5: print(" ДА ") else : print ("НЕТ") #include < iostream > using namespace std ; int main() { int s, k; cin >> s; cin >> k; if (s > 5 || k > 5) cout << " ДА "; else cout << " НЕТ "; return 0; } Было проведено 9 запусков программы, при которых в качестве значений переменных s и k вводились следующие пары чисел: (2, 2); (5, 9); (7, −12); (5, 5); (2, 12); (—10, —13); (—11, 11); (1, 4); (2, 6). Сколько было запусков, при которых программа напечатала «ДА»?

Слайд 4

Проведём анализ программы: var s, k: integer; - раздел описания переменных. Задаются имя, тип, выделяется место в памяти. В данном случае переменные s и k – целого типа. begin – начало раздела операторов. readln (s ); readln (k ); - оператор ввода числа с клавиатуры (число записывается в указанную переменную) if (s > 5) or (k > 5 ) – условный оператор (полное ветвление, конструкция then writeln (' ДА ') If < условие > then < оператор1 > else < оператор 2 > else writeln (' НЕТ ') (s > 5) or (k > 5 ) – сложное условие, два простых объединены логической операцией дизъюнкция. Дизъюнкция ложна, когда оба условия ложны, если хотя бы одно из условий истинно, их дизъюнкция – истина. writeln (' ДА ') ( writeln (' НЕТ ') ) – оператор вывода на экран. end . – конец программы. Таким образом, слово ДА на экране появится тогда, когда хотя бы одно из введённых чисел больше 5 (неравенства строгие). Это пары (5, 9); (7, −12); (2, 12); (—11, 11); (2, 6 ) Ответ: 5

Слайд 5

Задача 2. Паскаль Python С++ var s, k: integer; begin readln (s); readln (k); if (s < 7) and (k < 7) then writeln (' ДА ') else writeln (' НЕТ ') end . s = int (input()) k = int (input()) if s < 7 and k < 7: print (" ДА ") else : print ("НЕТ") #include < iostream > using namespace std ; int main() { int s, k; cin >> s; cin >> k; if (s < 7 && k < 7) cout << " ДА "; else cout << " НЕТ "; return 0; } Было проведено 9 запусков программы, при которых в качестве значений переменных s и k вводились следующие пары чисел: (1, 1); (10, 7); (6, −12); (6, 6); (5, 2); (−10, −8); (−10, 11); (3, 1); (12, 8). Сколько было запусков, при которых программа напечатала «ДА»?

Слайд 6

Проведём анализ программы: var s, k: integer; - раздел описания переменных. Задаются имя, тип, выделяется место в памяти. В данном случае переменные s и k – целого типа. begin – начало раздела операторов. readln (s ); readln (k ); - оператор ввода числа с клавиатуры (число записывается в указанную переменную) if ( s < 7) and (k < 7) – условный оператор (полное ветвление, конструкция then writeln (' ДА ') If < условие > then < оператор1 > else < оператор 2 > else writeln (' НЕТ ') (s < 7) and (k < 7) – сложное условие, два простых объединены логической операцией конъюнкция. Конъюнкция истинна, когда оба условия истинны. writeln (' ДА ') ( writeln (' НЕТ ') ) – оператор вывода на экран. end . – конец программы. Таким образом, слово ДА на экране появится тогда, когда оба введённых числа меньше 7 (неравенства строгие). Это пары (1, 1 ) ; (6, −12); (6, 6); (5, 2); (−10, −8 ); (3, 1) Ответ: 6

Слайд 7

Задача 3. Паскаль Python С++ var s,t,A : integer; begin readln (s); readln (t); readln (A); if (s > 10) or (t > A) then writeln ('YES') else writeln ('NO') end . s = int (input()) t = int (input()) A = int (input()) if (s > 10) or (t > A): print ("YES") else : print ("NO") #include < iostream > using namespace std ; int main() { int s, t, A; cin >> s; cin >> t; cin >> A; if (s > 10) or (t > A) cout << "YES" << endl ; else cout << "NO" << endl ; return 0; } Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел: (1, 2); (11, 2); (1, 12); (11, 12); (−11, −12); (−11, 12); (−12, 11); (10, 10); (10, 5). Укажите количество целых значений параметра A , при которых для указанных входных данных программа напечатает «NO» три раза.

Слайд 8

Проведём анализ программы: if (s > 10) or (t > A) – условный оператор (полное ветвление, конструкция then writeln (' ДА ') If < условие > then < оператор1 > else < оператор 2 > else writeln (' НЕТ ') (s > 10) or (t > A) – сложное условие, два простых объединены логической операцией дизъюнкция. Дизъюнкция ложна, когда оба условия ложны, если хотя бы одно из условий истинно, их дизъюнкция – истина. Программа напечатает «NO», если переменная s будет меньше или равна 10, а переменная t будет меньше или равна А . Из первой части условия получаем, что при вводе значений s и t (11, 2) и (11, 12) программа напечатает «YES» вне зависимости от значения A . Заметим, что при A = 1 программа напечатает «NO» один раз, при 2 ≤ A ≤ 4 программа напечатает «NO» два раза, при 5 ≤ A ≤ 9 программа напечатает «NO» три раза, а при A > 9 программа будет печатать «NO» четыре и более раз. Таким образом, существует 5 значений параметра A , при которых «NO» будет напечатано три раза, а именно 5, 6, 7, 8, 9, следовательно, ответ — 5. Ответ: 5

Слайд 9

Задача 4. Паскаль Python С++ var s, t: integer; begin readln (s); readln (t); if (s > 9) or (t > 9) then writeln ('YES') else writeln ('NO') end . s = int (input()) t = int (input()) if s > 9 or t > 9: print ("YES") else : print ("NO") #include < iostream > using namespace std ; int main() { int s, t; cin >> s; cin >> t; if (s > 9 || t > 9) cout << "YES"; else cout << "NO"; return 0; } Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел: (9, 9); (9, 10); (8, 5); (11, 6); (–11, 10); (–5, 9); (–10, 10); (4, 5); (8, 6). Сколько было запусков, при которых программа напечатала «NO»?

Слайд 10

Проведём анализ программы: var s, k: integer; - раздел описания переменных. Задаются имя, тип, выделяется место в памяти. В данном случае переменные s и k – целого типа. begin – начало раздела операторов. readln (s ); readln (k ); - оператор ввода числа с клавиатуры (число записывается в указанную переменную) if (s > 9) or (t > 9) – условный оператор (полное ветвление, конструкция then writeln (' ДА ') If < условие > then < оператор1 > else < оператор 2 > else writeln (' НЕТ ') (s > 9) or (t > 9) – сложное условие, два простых объединены логической операцией дизъюнкция. Дизъюнкция ложна, когда оба условия ложны, если хотя бы одно из условий истинно, их дизъюнкция – истина. writeln (' ДА ') ( writeln (' НЕТ ') ) – оператор вывода на экран. end . – конец программы. Таким образом, слово NO на экране появится тогда, когда оба введенных числа будут меньше или равны 9. Это пары (9, 9); (8, 5); (–5, 9); (4, 5); (8, 6). Ответ: 5

Слайд 11

Задача 5. Паскаль Python С++ var s, k: integer; begin readln (s); readln (k); if s div 2 = k then writeln (' ДА ') else writeln (' НЕТ ') end . s = int (input()) k = int (input()) if s // 2 == k: print (" ДА ") else : print ("НЕТ") #include < iostream > using namespace std ; int main() { int s, k; cin >> s; cin >> k; if (s / 2 == k) cout << " ДА "; else cout << " НЕТ "; return 0; } Было проведено 9 запусков программы, при которых в качестве значений переменных s и k вводились следующие пары чисел: (1, 1); (8, 4); (14, 10); (20, 1); (7, 3); (10, 5); (10, 2); (4, 1); (1, 0). Сколько было запусков, при которых программа напечатала «ДА»?

Слайд 12

Проведём анализ программы: var s, k: integer; - раздел описания переменных. Задаются имя, тип, выделяется место в памяти. В данном случае переменные s и k – целого типа. begin – начало раздела операторов. readln (s ); readln (k ); - оператор ввода числа с клавиатуры (число записывается в указанную переменную) if s div 2 = k – условный оператор (полное ветвление, конструкция then writeln (' ДА ') If < условие > then < оператор1 > else < оператор 2 > else writeln (' НЕТ ') s div 2 = k - условие, которое истинно, если при делении s нацело на 2 получается k (целая часть частного). writeln (' ДА ') ( writeln (' НЕТ ') ) – оператор вывода на экран. end . – конец программы. Таким образом, слово ДА на экране появится тогда, когда при делении первого числа на 2 целая часть частного равна второму числу.. Это пары (8, 4) ; (7, 3); ( 10, 5 ); (1, 0). Ответ: 4

Слайд 13

Задача 6. Было проведено 9 запусков программы, при которых в качестве значений переменных s и k вводились следующие пары чисел: (1, 1); (10, 8); (9, −12); (6, 6); (5, 15); (−10, −8); (−10, 11); (3, 1); (1, 8). Сколько было запусков, при которых программа напечатала «ДА »? var s, k: integer; begin readln (s); readln (k); if (s < 8) and (k < 8) then writeln (' ДА ') else writeln (' НЕТ ') end . Задача 7 . Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел: (3, 4); (5, 4); (–2, 1); (5, 6); (7, 8); (–5, 5); (–2, 2); (4, 3); (3, –8). Сколько было запусков, при которых программа напечатала «NO»? var s, t: integer ; begin readln (s); readln (t); if (s < 4) or (t < 4) then writeln ('YES') else writeln ('NO') end . Ответ: 4 Ответ: 3

Слайд 14

Задача 8 . Было проведено 9 запусков программы, при которых в качестве значений переменных s и k вводились следующие пары чисел: (1, 1); (8, 4); (14, 10); (20, 1); (7, 3); (10, 5); (10, 2); (4, 1); (1, 0). Сколько было запусков, при которых программа напечатала «НЕТ»? var s, k: integer ; begin readln (s); readln (k); if s div 2 = k then writeln (' ДА ') else writeln (' НЕТ ') end . Задача 9. Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел: (9, 5); (11, 2); (4, 5); (7, –2); (4, 4); (7, 7); (1, –1); (3, 9); (2, 2). Сколько было запусков, при которых программа напечатала «YES»? var s, t: integer ; begin readln (s); readln (t); if (s < 7) or (t > 5) then writeln ('YES') else writeln ('NO') end . Ответ: 5 Ответ: 6

Слайд 15

Программирование на языке Паскаль Задание №15

Слайд 16

На что обратить внимание: Числа не надо хранить в программе, к тому же мы не знаем, сколько чисел будет введено, поэтому отказываемся от массивов (в классическом Паскале нет динамических массивов - в описании необходимо указать число элементов массива). Вводим количество чисел в последовательность и организуем цикл (возможны for и while). Если количество чисел не задано, а есть признак окончания ввода, используем repeat (сначала вводим число, затем его анализируем). Необходимо знать операции mod – остаток от деления ( if a mod 10 = 8) и div – деление нацело (x := x div 10) . Знать, как считается количество ( b := b + 1 ) и сумма ( s:= s + a ). Уметь использовать сложные условия ( if ( a mod 10 =2 ) and (a mod 6 =0 ) ) или вложенные условные операторы. Уметь сравнивать и находить в последовательности наибольшее или наименьшее число. Избегаем подсказок и пояснений в операторах вывода.

Слайд 17

Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 4. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – минимальное число, оканчивающееся на 4. Пример работы программы: Входные данные Выходные данные 3 24 14 34 14

Слайд 18

p rogram pr 2 ; var n,i,a,min : integer ; Begin readln (n); min := 30001; for i := 1 to n do begin readln (a); if (a mod 10 = 4) and (a < min) then min := a ; end ; w riteln (min ) end . Вводим с клавиатуры количество чисел последовательности ( read (n ) ), заносим в переменную min самое максимальное возможное значение + 1. Затем n раз повторяем одни и те же действия (цикл): вводим число, проверяем, оканчивается ли это число на 4 ( a mod 10 = 4) и, одновременно, меньше ли введённое число переменной min. Если да, меняем значение min . Выводим результат. Обязательно тестируем программу. Минимальное число , оканчивающееся на 4.

Слайд 19

Входные данные Выходные данные 10 120 125 0 122.5 11 1 0 NO Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое трёхзначных чисел или сообщает, что таких чисел нет (выводит NO). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 признак окончания ввода, не входит в последовательность). Пример работы программы: Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести среднее арифметическое трёхзначных чисел или вывести «NO», если таких чисел нет.

Слайд 20

program pr5; var a, b, k : integer; m : real ; b egin b:=0; repeat read (a); If (a>99) and (a<1000) then begin b :=b+a; k :=k+1; end until a=0 ; if k<>0 then begin m :=b/k ; writeln (m ); end else writeln ('NO') end. До тех пор, пока не будет введён 0, повторяем в цикле ( repeat , так как сначала вводим, потом проверяем) : если это трёхзначное число ( ( a>99) and (a<1000 ) ) , увеличиваем счетчик таких чисел на 1 и сумму на это число ( k :=k+1 ; b:=b+a ; ) Если такие числа есть ( k<> 0 ), находим среднее арифметическое и в ыводим результат, в противном случае выводим 'NO' Обязательно тестируем программу. Среднее арифметическое трёхзначных чисел или « NO»

Слайд 21

Для самостоятельной работы: Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 3 и оканчивающихся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 3 и оканчивающихся на 4. Пример работы программы: Входные данные Выходные данные 3 24 25 54 2

Слайд 22

Для самостоятельной работы: Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 2. Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: минимальное число, оканчивающееся на 2. Пример работы программы: Входные данные Выходные данные 3 22 12 36 12

Слайд 23

Для самостоятельной работы: Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на 5. Программа получает на вход количество чисел в последовательности, а затем сами числа . В последовательности всегда имеется число, оканчивающееся на 5. Количество чисел не превышает 100. Введённые числа по модулю не превышают 300. Программа должна вывести одно число: сумму чисел, оканчивающихся на 5. Пример работы программы: Входные данные Выходные данные 3 15 25 24 40

Слайд 24

Источники: Открытый банк заданий по информатике ФИПИ http://opengia.ru/subjects/informatics-9/topics/1 Демоверсии ОГЭ и ГИА по информатике прошлых лет http:// www.fipi.ru/oge-i-gve-9/demoversii-specifikacii-kodifikatory Картинки : http://anatoliynikulininfo.ru , http:// clipart-library.com https://oge.sdamgia.ru/


По теме: методические разработки, презентации и конспекты

Задание для дистанционного обучения обучающихся с 25.01.2022 по 07.02.2022_Объединение "Мой родной край"

Задание для дистанционного обучения обучающихся с 25.01.2022 по 07.02.2022...

Аттестационное задание №9, 2022.

Представление проекта Программы курса внурочной деятельности "Школьный пресс-центр" (пояснительная записка, тематическое планирование)...

Задания ТЮГ-2022

На основании приказа Министерства образования и науки Республики Татарстан от 10.10.2022 № под-1701/22 «Об утверждении календарного плана мероприятий по развитию олимпиадного движения в Республи...

Открытый урок по русскому языку "Учимся выполнять тестовые задания ОГЭ-2022"

Открытый урок проводится в 9 классе с целью  повторить теорию по орфографии, синтаксису, пунктуации, средствам выразительности языка, используя различные приёмы и методы, отрабатывая  навыки...