Как делать 6 задание егэ по информатике на питоне

ЕГЭ по информатике 2022 — Задание 6 (Метод перебора)

Сегодня посмотрим 6 задание из ЕГЭ по информатике 2022.

В этом уроке мы будем использовать метод перебора для решения различных задач из 6 задания ЕГЭ по информатике 2022.

Решать задачи будем на языке Python.

Определите, при каком наименьшем введённом значении переменной s программа выведет число 23. Для Вашего удобства программа представлена на трёх языках программирования.

Паскаль Python C++

Источник задачи: https://kpolyakov.spb.ru/

Решим задачу с помощью перебора.

Будем подставлять каждое число в диапазоне от 1 до 1000 в наш алгоритм с помощью цикла for. Узнаем, при каких значениях на выходе программа будет печатать число 23.

Вместо команды input() присваиваем в переменную n очередное число. В конце программы вместо команды print() пишем условие. Печатаем только те значения переменной i, которые приводят к тому, что в переменной n будет нужный результат (число 23).

Программа напечатает следующие числа:

Самое маленькое число, которое подходит, это 256.

Ещё одна задача-ловушка из 6 задания ЕГЭ по информатике 2022.

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

Паскаль Python C++

В этой программе подвох заключается в том, что, если мы будем перебирать числа от 1 до 1000, то программа зависнет и ничего не напечатает.

В таких случаях можно попробовать перебрать числа с 1000 до 1.

Третий параметр «-1» для цикла for означает, что мы перебираем числа с 1000 до 1 в обратном порядке.

Программа напечатает числа с 80 до 27.

Если проверить на небольших числа, то мы должны прибавить 1 к разнице двух чисел.

Закрепим метод перебора в 6 задании из ЕГЭ по информатике 2022.

(А.Г. Минак) Определите, при каком введённом значении переменной s программа выведет число 16.

КЕГЭ 2022, задание №6
материал для подготовки к егэ (гиа) по информатике и икт (11 класс)

Гергерт Светлана Викторовна

За лето ребенок растерял знания и нахватал плохих оценок? Не беда! Опытные педагоги помогут вспомнить забытое и лучше понять школьную программу. Переходите на сайт и записывайтесь на бесплатный вводный урок с репетитором.

Вводный урок бесплатно, онлайн, 30 минут

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

1. Определите, при каком наименьшем (наибольшее) введённом значении переменной s программа выведет число 128.

s = int(input())
n = 1
while s > 43:
s = s — 8
n = n * 2
print(n)

s0 = 43
while True :
n = 1
s = s0
while s > 43 :
s = s — 8
n = n * 2
if n == 128 : print (s0)
s0 + = 1

Ответ: 92 наименьшее, 99 – наибольшее

2. При каком наибольшем введенном числе d после выполнения программы будет напечатано 55?

d = int(input())
n = 0
s = 0
while s

d0 = 366
while True :
d = d0
n = 0
s = 0
while s 365 :
s = s + d
n = n + 5
if n == 55 : print (d)
d0 — = 1

3. Определите, при каком наименьшем введённом значении переменной s программа выведет число 67.

s = int(input())
n = 105
while n > s:
s = s + 3
n = n — 2
print(n)

s0 = 105
while True :
s = s0
n = 105
while n > s:
s = s + 3
n = n — 2
if n == 67 : print (s0)
s0 — = 1

4. Определите, при каком наибольшем введённом значении переменной s программа выведет число 31.

s = int(input())
n = 10
while s > 0:
s = s — 15
n = n + 3
print(n)

s0 = 0
while True :
s = s0
n = 10
while s > 0 :
s = s — 15
n = n + 3
if n == 31 : print (s0)
s0+= 1

6 задание ЕГЭ информатика про программирование основных конструкций

6-е задание: «Программирование: основные конструкции»
Уровень сложности — базовый,
Требуется использование специализированного программного обеспечения — нет,
Максимальный балл — 1,
Примерное время выполнения — 4 минуты.

Проверяемые элементы содержания: Знание основных конструкций языка программирования, понятия переменной, оператора присваивания

«Задания этой линии можно решать двумя способами:
1) составить на черновике таблицу переменных, произвести пооператорное выполнение программы с записью изменяющихся значений в таблицу(трассировка);
2) определить количество итераций цикла и на основе этого вычислить результат.
Второй способ более быстрый, но он требует умения анализировать текст простой программы без её выполнения»

Типичные ошибки и рекомендации по их предотвращению:

«Экзаменуемый не учитывает последнюю итерацию цикла или, напротив, добавляет лишнюю. Это может быть связано с непониманием того, как обрабатывается условие цикла, или с ошибочной обработкой строгого неравенства как нестрогого или наоборот»

«Рекомендуемый способ выполнения этого задания – трассировка»

Типичные ошибки и рекомендации по их предотвращению:

«Часто бывает, что при выполнении программы внутри итерации цикла изменяется значение не только текущего i-го элемента, но и следующего i+1-го, поэтому в следующей итерации текущий элемент будет иметь не то значение, что перед выполнением программы. Это нужно внимательно отслеживать, чтобы избежать ошибок. Кроме того, в определённых типах заданий может более сложно изменяться индекс текущего элемента, тут тоже требуется аккуратность и внимательность»

Алгоритмические структуры с циклами

В 6 задании ЕГЭ используются алгоритмические структуры с циклами. Рассмотрим их на примере языка Паскаль.

  • Для знакомства и повторения цикла While, пройдите по ссылке.
  • Для знакомства и повторения цикла For, пройдите по ссылке.

Сумма арифметической прогрессии

  • ai – i-ый элемент последовательности,
  • d – шаг (разность) последовательности.

Сумма геометрической прогрессии

  • bi – i-ый элемент последовательности,
  • q – знаменатель последовательности.
  • Следует помнить, что сумма геометрической прогрессии не верна при q = 1

Массивы и матрицы

Для решения 19 задания ЕГЭ необходимо повторить следующие темы:

    со счетчиком
  • Работа с одномерными массивами
  • Работа с двумерными массивами (матрицами)
    • Понятие главной диагонали матрицы: элементы матрицы главной диагонали имеют совпадающие номера строки и столбца:

    главная диагональ матрицы

    т.е. формула элементов главной диагонали:

    элементы ниже главной диагонали

    Решение заданий 6 ЕГЭ по информатике для 2021

    Задание демонстрационного варианта 2022 года ФИПИ
    Плейлист видеоразборов задания на YouTube:

    6_1 new: Определите, при каком наименьшем введённом значении переменной s программа выведет число 256:

    var k,n,p,l,s,x:integer; var s, n: integer; begin readln (s); n := 1; while s <=45 do begin s := s + 4; n := n * 2 end; writeln(n) end.

    s = int(input()) n = 1 while s <= 45: s = s + 4 n = n * 2 print( n )

    📹 Видеорешение подобного 6 задания на Python:

      ✎ Способ 1 (программный):
      Pascalabc.net:

    begin var s1 := 1; while true do // внешний цикл, бесконечный begin var s := s1; // — код из условия задания — // var n := 1; while s <= 45 do // внутренний цикл из задания begin s := s + 4; n := n * 2; end; // — конец кода из условия задания — // if n = 256 then // если найдено, то выводим соответствующее s begin print(s1); break; // выход из бесконечного цикла end; s1 := s1 + 1; // end; end.

    s1 = 1 while True: # внешний цикл, бесконечный s = s1 # — код из условия задания — n = 1 while s <= 45: s = s + 4 n = n * 2 # — конец кода из условия задания — if n == 256: print(s1) break s1 += 1

    Ответ: 14

    6_2 new: Определите, при каком наибольшем введённом значении переменной s программа выведет число 96:

    var s, n: integer; begin readln (s); n := 3; while s <= 51 do begin s := s + 7; n := n * 2 end; writeln(n) end.

    s = int(input()) n = 3 while s <= 51: s = s + 7 n = n * 2 print( n )

      ✎ Способ 1 (программный):
      Pascalabc.net:

    begin var s1 := 50; while true do // внешний цикл, бесконечный begin var s := s1; // — код из условия задания — // var n := 3; while s <= 51 do // внутренний цикл из задания begin s := s + 7; n := n * 2; end; // — конец кода из условия задания — // if n = 96 then // если найдено, то выводим соответствующее s begin print(s1); break; // выход из бесконечного цикла end; s1 := s1 — 1; // end; end.

    s1 = 50 while True: # внешний цикл, бесконечный s = s1 # — код из условия задания — n = 3 while s <= 51: s = s + 7 n = n * 2 # — конец кода из условия задания — if n == 96: print(s1) break s1 -= 1

    Ответ: 23

    6_3 new::

    Сколько существует различных значений d , оканчивающихся на 8, при вводе которых эта приведенная программа выведет число 50?

    var S, N, d: integer; begin readln(d); S := 15; N := 10; while S <= 2400 do begin S := S + d; N := N + 5; end; writeln(N); end.

    d = int(input()) S = 15 N = 10 while S <= 2400: S = S + d N = N + 5 print(N)

      ✎ Способ 1 (программный):
      Pascalabc.net:

    begin var counter:=0; var d1:=1; while true do begin var d := d1; // из условия задачи var s := 15; var n := 10; while s <= 2400 do begin s := s + d; n:=n + 5; end; // проверка условий: увеличение счетчика if (d mod 10 = 8) and (n = 50) then begin counter+=1;; end; d1 += 1; // выход из бесконечного цикла if d1 = 2400 then break; end; print (counter) end.

    counter = 0 d1 = 1 while True: s = 15 n = 10 d = d1 # — код из условия задания — while s <= 2400: s = s + d n = n + 5 if d%10==8 and n==50: counter+=1 d1=d1+1 if d1 == 2400: break print (counter)

    Ответ: 4

    6_4 new:

    Определите наименьшее и наибольшее введённое значение переменной s , при котором программа выведет число 210. В ответ запишите оба числа в порядке убывания без пробелов и других разделителей

    var s, n: integer; begin readln(s); n := 600; while n > s do begin s := s + 3; n := n — 6 end; writeln(n) end.

    s = int(input()) n = 600 while n > s: s = s + 3 n = n — 6 print(n)

      ✎ Способ 1 (программный):

    begin var s_ := -100; while true do begin var n := 600; var s := s_; while n > s do begin s := s + 3; n := n — 6 end; if n = 210 then print(s_); s_ += 1; if s > 1000 then break; end; end.

    s_ = -100 while True: # внешний цикл, бесконечный s = s_ n = 600 # — код из условия задания — while n > s: s = s + 3 n = n — 6 # — конец кода из условия задания — if n == 210: print(s_) s_ += 1 if s > 1000: break

    Ответ: 2315

    6_5 new:

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

    var s, n: integer; begin readln (s); n := 200; while s div n >= 2 do begin s := s + 5; n := n + 5 end; writeln(s) end.

    s = int(input()) n = 200 while s // n >= 2: s = s + 5 n = n + 5 print(s)

      ✎ Способ 1 (программный):

    begin var s_ := 1000; while true do begin var n := 200; var s := s_; while s div n >= 2 do begin s := s + 5; n := n + 5 end; if (s > 99) and (s<1000) then begin print(s_); break; end; s_ -= 1; end; end.

    s_ = 1000 while True: # внешний цикл, бесконечный s = s_ n = 200 # — код из условия задания — while s // n >=2: s = s + 5 n = n + 5 # — конец кода из условия задания — if 99 < s < 1000: print(s_) break s_ -= 1

    Ответ: 699

    6_6 new:

    Получив на вход некоторое натуральное число X , этот алгоритм печатает одно число. Сколько существует чисел Х , для которых алгоритм напечатает число на отрезке [2;500]?

    var x, s, n: integer; begin readln(x); s := 6 * (x div 15); n := 1; while s < 300 do begin s := s + 18; n := n * 2 end; writeln(n) end.

    x = int(input()) s = 6 * (x // 15) n = 1 while s < 300: s = s + 18 n = n * 2 print(n)

    Задание 6. Анализ программ

    За правильное выполненное задание получишь 1 балл. На решение отводится примерно 4 минуты.

    Задачи для тренировки

    Запишите число, ко­то­рое будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния сле­ду­ю­щей программы. Для Ва­ше­го удоб­ства про­грам­ма пред­став­ле­на на пяти язы­ках программирования.

    using namespace std;

    while (s 1200 do
    begin
    s:=s*x;
    n:=n+4;
    end;
    write(n)
    end.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *