СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 22.06.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Информатика ОГЭ. Разбор задания №6 с параметром.

Категория: Информатика

Нажмите, чтобы узнать подробности

Разбор задания №6  ОГЭ по информатике  (с параметром).

Просмотр содержимого документа
«Информатика ОГЭ. Разбор задания №6 с параметром.»

ДЛЯ УЧЕНИКА

6. Задача (С параметром)

  1. Ниже приведена программа, записанная на 5 языках программирования.

Бейсик

Паскаль

DIM s, t, A AS INTEGER

INPUT s

INPUT t

INPUT A

IF s A OR t 12 THEN

PRINT "YES"

ELSE

PRINT "NO"

ENDIF

var s, t, A: integer;

begin

readln(s);

readln(t);

readln(A);

if (s A) or (t 12)

then

writeln("YES")

else

writeln("NO")

end.

C++

Алгоритмический язык

#include

using namespace std;

int main(){

int s, t, A;

cin s;

cin t;

if(s A || t 12)

cout "YES" endl;

else

cout "NO" endl;

return 0;

}

алг

нач

цел s, t, A

ввод s

ввод t

если s A или t 12

то вывод "YES"

иначе вывод "NO"

все

кон

Python

s = int(input())

t = int(input())

A = int(input())

if s A or t 12:

print("YES")

else:

print("NO")

Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (13, 2); (11, 12); (-12, 12); (2, -2); (-10, -10); (6, -5);

(2, 8); (9, 10); (1, 13).

Укажите наименьшее целое значение параметра A, при котором при указанных входных данных программа напечатает "YES" 3 раза.













6. Задача (С параметром, закрепление)
2. Ниже приведена программа, записанная на 5 языках программирования.

Бейсик

Паскаль

DIM s, t, A AS INTEGER

INPUT s

INPUT t

INPUT A

IF s A OR t 12 THEN

PRINT "YES"

ELSE

PRINT "NO"

ENDIF

var s, t, A: integer;

begin

readln(s);

readln(t);

readln(A);

if (s A) or (t 12)

then

writeln("YES")

else

writeln("NO")

end.

C++

Алгоритмический язык

#include

using namespace std;

int main(){

int s, t, A;

cin s;

cin t;

if(s A || t 12)

cout "YES" endl;

else

cout "NO" endl;

return 0;

}

алг

нач

цел s, t, A

ввод s

ввод t

если s A или t 12

то вывод "YES"

иначе вывод "NO"

все

кон

Python

s = int(input())

t = int(input())

A = int(input())

if s A or t 12:

print("YES")

else:

print("NO")


Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (13, 2); (11, 12); (-12, 12);

(2, -2); (-10, -10); (6, -5); (2, 8); (9, 10); (1, 13).

Укажите количество целых значений параметра A, при которых при указанных входных данных программа напечатает "NO" 5 раз.













6 Задача с параметром
3. Ниже приведена программа, записанная на 5 языках программирования.

Бейсик

Паскаль

DIM s, t, A AS INTEGER

INPUT s

INPUT t

INPUT A

IF s 10 OR t A THEN

PRINT "YES"

ELSE

PRINT "NO"

ENDIF

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.

C++

Алгоритмический язык

#include

using namespace std;

int main(){

int s, t, A;

cin s;

cin t;

if(s 10 || t A)

cout "YES" endl;

else

cout "NO" endl;

return 0;

}

алг

нач

цел s, t, A

ввод s

ввод t

если s 10 или t A

то вывод "YES"

иначе вывод "NO"

все

кон

Python

s = int(input())

t = int(input())

A = int(input())

if s 10 or t A :

print("YES")

else:

print("NO")

Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (1, 2); (11, 2); (1, 12); (11, 12); (-11, -12); (-11, 12); (-12, 11); (10, 10); (10, 5).

Укажите наименьшее целое значение параметра A, при котором при указанных входных данных программа напечатает "NO" 3 раза.















ДЛЯ УЧИТЕЛЯ

6. Задача (С параметром)

  1. Ниже приведена программа, записанная на 5 языках программирования.

Бейсик

Паскаль

DIM s, t, A AS INTEGER

INPUT s

INPUT t

INPUT A

IF s A OR t 12 THEN

PRINT "YES"

ELSE

PRINT "NO"

ENDIF

var s, t, A: integer;

begin

readln(s);

readln(t);

readln(A);

if (s A) or (t 12)

then

writeln("YES")

else

writeln("NO")

end.

C++

Алгоритмический язык

#include

using namespace std;

int main(){

int s, t, A;

cin s;

cin t;

if(s A || t 12)

cout "YES" endl;

else

cout "NO" endl;

return 0;

}

алг

нач

цел s, t, A

ввод s

ввод t

если s A или t 12

то вывод "YES"

иначе вывод "NO"

все

кон

Python

s = int(input())

t = int(input())

A = int(input())

if s A or t 12:

print("YES")

else:

print("NO")

Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (13, 2); (11, 12); (-12, 12); (2, -2); (-10, -10); (6, -5);

(2, 8); (9, 10); (1, 13).

Укажите наименьшее целое значение параметра A, при котором при указанных входных данных программа напечатает "YES" 3 раза.













Решение:

В условии стоит союз ИЛИ. Посмотрим, сколько пар подойдёт, если обращать внимание только на переменную t. Она должна быть больше 12. Тогда получается одна пара: (1, 13).



Ещё нужно набрать 2 пары. Это сделаем с помощью переменной s. Понимаем, что A должно быть равно 10, тогда ещё две пары подойдут по первому числу (13, 2) и (11, 12).



Но нас просили A найти как можно меньше. При значении 9 так же останутся три пары, но A будет ещё меньше. Значит, ответ будет 9. Ели попробовать взять A=8, то подойдёт ещё одна пара (9, 10), и их будет уже 4.


Ответ: 9




























6. Задача (С параметром, закрепление)
2. Ниже приведена программа, записанная на 5 языках программирования.

Бейсик

Паскаль

DIM s, t, A AS INTEGER

INPUT s

INPUT t

INPUT A

IF s A OR t 12 THEN

PRINT "YES"

ELSE

PRINT "NO"

ENDIF

var s, t, A: integer;

begin

readln(s);

readln(t);

readln(A);

if (s A) or (t 12)

then

writeln("YES")

else

writeln("NO")

end.

C++

Алгоритмический язык

#include

using namespace std;

int main(){

int s, t, A;

cin s;

cin t;

if(s A || t 12)

cout "YES" endl;

else

cout "NO" endl;

return 0;

}

алг

нач

цел s, t, A

ввод s

ввод t

если s A или t 12

то вывод "YES"

иначе вывод "NO"

все

кон

Python

s = int(input())

t = int(input())

A = int(input())

if s A or t 12:

print("YES")

else:

print("NO")


Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (13, 2); (11, 12); (-12, 12);

(2, -2); (-10, -10); (6, -5); (2, 8); (9, 10); (1, 13).

Укажите количество целых значений параметра A, при которых при указанных входных данных программа напечатает "NO" 5 раз.













Решение:

Будем отталкиваться от количества "YES"ов.



Вновь найдём количество пар, которые печатают "YES" по второму числу, в независимости от параметра A. Получается одна пара (1, 13).



Нужно выбрать параметр A таким, чтобы распечатали "YES" ещё три пары. Здесь уже ориентируемся на первое число s.



Выберем A = 8. Тогда распечатают "YES" ещё три пары: (13, 2) ; (11, 12) ; (9, 10). Это наибольшее значение A, при котором распечатается 5 "NO". Но так же 5 "NO" будет напечатано и при A = 7, 6. При A = 5 добавляется ещё одна пара (6, -5), при которой будет напечатано "YES", и уже условие задачи не выполняется.



Таким образом, ответ получается 3 (А = 8, 7, 6).


Ответ: 3
























6 Задача с параметром
3. Ниже приведена программа, записанная на 5 языках программирования.

Бейсик

Паскаль

DIM s, t, A AS INTEGER

INPUT s

INPUT t

INPUT A

IF s 10 OR t A THEN

PRINT "YES"

ELSE

PRINT "NO"

ENDIF

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.

C++

Алгоритмический язык

#include

using namespace std;

int main(){

int s, t, A;

cin s;

cin t;

if(s 10 || t A)

cout "YES" endl;

else

cout "NO" endl;

return 0;

}

алг

нач

цел s, t, A

ввод s

ввод t

если s 10 или t A

то вывод "YES"

иначе вывод "NO"

все

кон

Python

s = int(input())

t = int(input())

A = int(input())

if s 10 or t A :

print("YES")

else:

print("NO")

Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (1, 2); (11, 2); (1, 12); (11, 12); (-11, -12); (-11, 12); (-12, 11); (10, 10); (10, 5).

Укажите наименьшее целое значение параметра A, при котором при указанных входных данных программа напечатает "NO" 3 раза.













Решение:

Найдём сколько раз программа напечатает "YES", исходя из первого числа s. Получается только две пары: (11, 2) и (11, 12). Значит, 7 раз "NO". Нужно увеличивать количество "YES"ов.



Попробуем взять A=6. В группу "YES" передут ещё 4 пары: (1, 12); (-11; 12); (-12; 11); (10; 10).



В группе "NO" как раз останутся три пары: (1, 2); (-11, -12); (10, 5).



Проверим, является ли число 6 для переменной A минимальным.



Попробуем A=5. Оказывается, три вышеперечисленные пары остаются в группе "NO". Последняя пара тоже не распечатает "YES", ведь неравенство строгое.



Если будет A=4, то последняя пара уже будет печатать "YES", и условие задачи перестанет выполняться.


Ответ: 5



























Ниже приведена программа, записанная на пяти языках программирования.

Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:

(1, 2); (11, 2); (1, 12); (11, 12); (–11, –12); (–11, 12); (–12, 11); (10, 10); (10, 5).

Укажите наименьшее целое значение параметра А, при котором для указанных входных данных программа напечатает «NO» три раза.

Открытый банк заданий ОГЭ

Решение

Чтобы понять программу, достаточно посмотреть запись на алгоритмическом языке.

С клавиатуры вводятся три целых числа, которые записываются в переменные s, t и A. Если выполняется условие, то на экран выводится «YES», если не выполняется – «NO».

Помимо неизвестного значения A, усложнением является то, что программа должна вывести «NO». То есть исходное условие не должно выполняться.

Можно провести преобразования по логическим формулам.

При выполнении отрицания (НЕ) нужно обратить внимание на то, что строгое неравенство () преобразуется в нестрогое (. Так как в условии логическое умножение (И), чтобы программа печатала «NO» одновременно должны выполняться оба простых условия.

Дальше будем рассматривать только запуски, в которых s ≤ 10. Ищем 3 наименьших значения t. Это значения -12, 2 и 5. Все эти числа не превышают 5.

Повторим ранее изученные темы. Мы уже познакомились со сложными условиями. Давайте вспомним как они образуются, с помощью каких связок (слайд)

Презентация

Карточки с заданиями

Встречаются задания, которые содержат не только сложные условия, но иногда и операции деления нацело. Вспомним каких операции целочисленного деления мы знаем.

Целая часть от деления

Остаток от деления

div

mod

Phyton - //

Phyton - %

Сегодня мы рассмотрим задания, которые содержат неизвестный параметр. Одно из условий будет содержать число, а второе условие параметр, который нам необходимо найти.

Например дана программа:

var A, s, t: integer;
begin
readln(s);
readln(t);
readln(A);
if (s A) or (t 12)
then
writeln("YES")
else
writeln("NO")
end.

Обычно в этих задания присутствует связка ИЛИ, что помогает нам решить эту задачу.

Рассмотрим Задачу 1.

Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:

(-9, 11); (2, 7); (5, 12); (2, -2); (7, -9); (12, 6); (9, -1); (7, 11); (11, -5).

Укажите наименьшее целое значение параметра А, при котором для указанных входных данных программа напечатает «NO» шесть раз.

Особенность таких заданий, в том, что количества полученных ответов «Да» или «Нет» нам известно.

var s, t, A: integer;
begin
readln(s);
readln(t);
readln(A);
if (s А) or (t 11)
then writeln("YES")
else writeln("NO")
end.

Запишем варианты запусков в виде таблицы:

SA or

t11

-9

11

2

7

5

12

2

-2

7

-9

12

6

9

-1

7

11

11

-5

Конечно, нам проще работать с ответами «Да». Если нам необходимо найти ответы с «Нет», мы можем легко отнять от общего числа запусков число запусков с отрицательным ответом и получить количество ответов с «Да».

Отметим все пары чисел по известному нам условию (t11). Их всего 1(5, 12), остается еще 2 ответа «Да».

Значит, они должны содержаться в другом условии (SA). Так как у нас операция сравнения «», тогда начинаем с большего отмечать две пары. Это пары (12,6) и (11,-5). Последнее значение 11, значит надо взять на одно меньше - 10. Это будет наш первый ответ. Следующее значение в столбце S - 9.

Проверим ответ 9 (99 - нет), число 9 тоже будет ответом,

Из у вопроса к зданию, мы видим, что нам необходимо наименьшее значение. Ответом будет число 9.

Как вы думаете, какие вопросы еще возможны в таких заданиях? (наибольшее, наименьшее, количество значений)

Решим следующие задания представленные на слайдах.

Мы разобрали все виды заданий при неизвестном нам параметре.

1. Разбейтесь на пары и попробуем самостоятельно выполнить задание на карточках (карточки 1-6).

Проверим ваше решение.

2. Закрепим пройденный материал решение самостоятельно теста с различными видами шестого задания. Садимся за компьютеры, выполняет тест в системе NetTest.




Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!