Решение задачи №6 и задачи №22 ЕГЭ по информатике 2021 | Информатика в школе

Решение задачи №6 и задачи №22 ЕГЭ по информатике 2021 | Информатика в школе ЕГЭ

Арифметическая и геометрическая прогрессия

Ответ: 147

Показать решение:

Разберем листинг программы:

  • Результатом программы является вывод значения s.
  • В цикле s меняется, увеличиваясь на k, при начальном значении s = 3.
  • Цикл зависит от k. Выполнение цикла завершится при k >= 25. Начальное значение k = 1.
  • В цикле k постоянно увеличивается на 2 -> значит, можно найти количество итераций цикла.
  • Количество итераций цикла равно:
  • n = 25 / 2 ~ 12

    (т.к. k изначально равнялось 1, то в последнее, 12-е прохождение цикла, k = 25; условие цикла ложно)

  • В s накапливается сумма арифметической прогрессии, последовательность элементов которой удобней начать с 0 (а не с 3, как в программе). Поэтому представим, что в начале программы s = 0. Но при этом не забудем, что в конце нам необходимо будет к результату прибавить 3!
  • s:=0;
    k:=1;
    while k < 25 do begin ...
  • Тогда арифметическая прогрессия будет выглядеть:
  • 1 3 5 7 ...
    количество членов прогрессии - 12, т.к. 12 итераций цикла
  • Существует формула вычисления суммы арифметической прогрессии:
  • s = ((2 * a1 d * (n — 1)) / 2) * n

    где a1 — первый член прогрессии,
    d — разность,
    n — количество членов прогрессии (в нашем случае — кол-во итераций цикла)

  • Подставим значения в формулу:
  • (2 * 1 2 * 11) / 2 * 12 = 144
  • Не забудем, что мы к результату должны прибавить 3:
  • 144 3 = 147
  • Это и есть значение s, которое выводится в результате работы программы.

📹 Видео

Егэ по информатике 2022 — задание 6 (метод перебора)

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

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

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

Задача (Классическая)

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

ПаскальPythonC
var s, n: integer;beginreadln(s); n := 50; while s > 0dobegin s := s div 2; n := n - 3end; writeln(n)end.
s = int(input())
n = 50while s > 0: s = s // 2 n = n - 3print(n)
#include <iostream>using namespace std;int main() { int s, n = 50;cin >> s; while (s > 0) { s = s / 2; n = n - 3;
}cout << n << endl;return0;
}

Источник задачи:

Про ЕГЭ:  ЕГЭ 2023, Химия, Типовые экзаменационные варианты, 30 вариантов, Добротин Д.Ю

https://kpolyakov.spb.ru/

Решение:

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

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

for i inrange(1, 1001): s = i n = 50 while s > 0: s = s // 2 n = n - 3 if n==23: print(i)

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

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

256

257

258

259

260

261

262

263

264

265

266

267

268

и т.д.

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

Ответ:

256

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

Задача (С подвохом)

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

ПаскальPythonC
var s, n: integer;beginreadln(s); n := 3; while s*n < 243dobegin s := s div 3; n := n * 9end; writeln(n)end.
s = int(input())
n = 3while s*n < 243: s = s // 3 n = n * 9print(n)
#include <iostream>using namespace std;int main() { int s, n = 3;cin >> s; while (s*n < 243) { s = s / 3; n = n * 9;
}cout << n << endl;return0;
}

Решение:

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

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

for i inrange(1000, 0, -1): s = i n = 3 while s*n < 243: s = s // 3 n = n * 9 if n==27: print(i)

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

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

(80-27) 1=53 1=54

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

Ответ:

54

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

Задача (Закрепление)

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

ПаскальPythonC
var s, n: integer;beginreadln(s); n := 0; while s*s < 101dobegin s := s 1; n := n 2end; writeln(n)end.
s = int(input())
n = 0while s*s < 101: s = s 1 n = n 2print(n)
#include <iostream>using namespace std;int main() { int s, n = 0;cin >> s; while (s*s < 101) { s = s 1; n = n 2;
}cout << n << endl;return0;
}

Источник задачи:

Про ЕГЭ:  Реальные варианты ГИА по математике 2012

https://kpolyakov.spb.ru/

Решение:

Здесь справляется стандартный перебор от 1 до 1000.

for i inrange(1, 1001): s = i n = 0 while s*s < 101: s = s 1 n = n 2 if n==16: print(i)

Ответ:

3

Счастливых экзаменов!

Наибольшее или наименьшее значение переменной s (сумматор)

Ответ: 202

📹 Видео

Определить, какое число пропущено

6_14:

ЕГЭ по информатике 2020 (Тематические тренировочные задания, 2020 г., Самылкина Н.Н., Синицкая И.В., Соболева В.В., задание № 2):

Сопоставьте формулу:
Решение задачи №6 и задачи №22 ЕГЭ по информатике 2021 | Информатика в школе
и программу, предназначенную для расчета по данной формуле. Программа написана правильно, а в формуле допущена ошибка.

Определите, где и какое число в формуле пропущено?
Паскаль:

Бейсик: Python:
С :
#include <iostream>usingnamespace std;int main(){int k,n,p,s,x;printf("введите n=");scanf("%d",&n);printf("введите x=");scanf("%d",&x);l=x;for(k=1,s=0,p=1;k<=n;k ){ p*=k; s =3*l/p; l*=x;}printf("s=%d",s);}

#include <iostream>
using namespace std;
int main() {
int k,n,p,s,x;
printf(«введите n=»); scanf(«%d»,&n);
printf(«введите x=»); scanf(«%d»,&x);
l=x;
for (k=1,s=0,p=1;k<=n;k ) {
p*=k;
s =3*l/p;
l*=x;
}
printf(«s=%d»,s);
}

Ответ: 3

Перестановка в массиве. определить значение переменной

6 (19) задание. Демоверсия ЕГЭ 2022 информатика:

В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 3, 0, 4, 6, 5, 1, 8, 2, 9, 7 соответственно, т.е. A[0] = 3, A[1] = 0 и т.д.

Определите значение переменной c после выполнения следующего фрагмента этой программы:

Ответ: 5

📹 Видео

Поиск наименьшего/наибольшего целого введенного числа d

Ответ: 67

Показать решение:

Рассмотрим алгоритм программы:

  • Цикл зависит от переменной k, которая каждую итерацию цикла увеличивается на значение d (вводимое). Цикл закончит «работу», когда k сравняется с 200 или превысит его (k >= 200).
  • Результатом программы является вывод значения переменной s. В цикле s увеличивается на 64.
  • Так как по заданию необходимо, чтобы вывелось число 192, то число повторов цикла определим так:
  • 64 * x = 192
    число повторов: x = 192 / 64 = 3 
  • Так как в цикле k увеличивается на значение d, а повторов цикла 3 (при этом цикл завершается при k>=200), составим уравнение:
  • 3 * d = 200
    d = 200/3 ~ 66,66
  • Поскольку число получилось нецелое, то проверим и 66 и 67. Если мы возьмем 66, то:
  • 66 66 66 = 198 (< 200)

    т.е. цикл после трех прохождений еще продолжит работу, что нам не подходит.

  • Для 67:
  • 67 67 67 = 201 (>200)
  • Данное число 67 нас устраивает, оно наименьшее из возможных, что и требуется по заданию.

📹 Видео📹 Видеорешение на RuTube здесь

Простые задания с двумя линейными непересекающимися функциями

Ответ: 24

📹 Видео📹 Видеорешение на RuTube здесь (теоретическое решение)

Решение задания 6 егэ по информатике для 2021

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

Про ЕГЭ:  ЕГЭ 2017, Русский язык, 50 вариантов типовых тестовых заданий, Васильевых И.П., Гостева Ю.Н.

До ЕГЭ 2021 года — это было задание № 8 и задание № 19 ЕГЭ

Сумма или разность двух линейных функций (while s — n или while s n)

Ответ: 22

Показать решение:

  • В алгоритме присутствует цикл. Для того, чтобы разобраться в алгоритме, выполним трассировку начальных итераций цикла:
  • № шагаусловие циклаsn
    1522-400=122
    122 > 0
    522-20=502400-15=385
    2502-385=117
    117 > 0
    502-20=482385-15=370
    3482-370=112
    112 > 0
  • Видим, что в условии разница между значениями составляет 5:
  • 122 - 117 = 5
    117 - 112 = 5
    ...
  • Таким образом, чтобы определить количество итераций (шагов) цикла, необходимо значение условия цикла, полученное в первой итерации, разделить на 5:
  • 122 / 5 = 24,4
    24 * 5 = 120 (120  2 = 122)

    Это значит, что на 24-й итерации цикла переменные s и n получили такие значения, после которых условие еще осталось истинным: 2 > 0. На 25-м шаге выполняется это условие:

    № шагаусловие циклаsn
    252 > 0s-20=…n-15=…
  • В конце выполнения 25-й итерации, получаем условие для 26-й итерации:
  • 25 * 5 = 125 (125 - 3 = 122)
    № шагаусловие циклаsn
    252 > 0s-20=…n-15=…
    263 < 0не выполняетсяне выполняется
  • Значит, всего в цикле присутствует 25 итераций, в каждой из которых s уменьшается на 20. Посчитаем, на сколько уменьшится значение s в общем:
  • 25 * 20 = 500 (за 25 итераций)
    522 - 500 = 22 (вычитаем из исходных данных)

Результат: 22

📹 Видео

📹 Видеорешение на RuTube здесь (теоретическое решение)

Усложненные задания с двумя линейными функциями

Ответ: 16

Показать решение:

Разберем листинг программы:

  • В цикле переменная s постоянно увеличивается на единицу (работает как счетчик), а переменная n в цикле увеличивается на 2.
  • В результате работы программы на экран выводится значение n.
  • Цикл зависит от s, причем работа цикла завершится когда 2 * s2 >= 123.
  • Необходимо определить количество прохождений цикла (итераций цикла): для этого определим такое наименьшее возможное s, чтобы 2 * s2 >= 123:
  • 1 шаг: s = 2*12=2
    2 шаг: s = 2*22=8
    3 шаг: s = 2*32=18
    ...
    7 шаг: s = 2*72=98 (меньше 123, т.е. цикл еще работает)
    8 шаг: s = 2*82=128 (больше 123, цикл не работает! )

    Либо просто нужно было бы найти такое наименьшее возможное четное число >= 123, которое при делении на 2 возвращало бы вычисляемый корень числа:

    s=124/2 = √62 - не подходит!
    s=126/2 = √63 - не подходит!
    s=128/2 = √64 = 8 - подходит!
  • Таким образом, программа выполнит 8 итераций цикла.
  • Определим n, которая увеличивается каждый шаг цикла на 2, значит:
  • n = 2 * 8 = 16

📹 Видео

Оцените статью
ЕГЭ Live