Сложные задачи егэ по информатике 2022

21 июня 2022

В закладки

Обсудить

Жалоба

Реальный вариант ЕГЭ по информатике

Вариант собран по заданиям первого дня основной волны 2022.

Экзаменационная работа состоит из 27 заданий с кратким ответом, выполняемых с помощью компьютера. На выполнение экзаменационной работы по информатике и ИКТ отводится 3 часа 55 минут.

→ Вариант: osn-inf22.pdf
→ Файлы: files.zip
→ Тест в эмуляторе: kompege.ru/variant?kim=25012688

Источник: vk.com/inform_web

Подборка вариантов ЕГЭ 2022 по информатике для 11 класса с ответами.

vk.com/info_ege_academiaa
вариант 1 ответы доп. файлы
вариант 2 ответы доп. файлы
вариант 3 ответы доп. файлы
вариант 4 ответы доп. файлы
вариант 5 ответы доп. файлы
вариант 6 ответы доп. файлы
вариант 7 ответы доп. файлы
вариант 8 ответы доп. файлы
вариант 9  ответы доп. файлы
вариант 10 ответы доп. файлы
вариант 11 ответы доп. файлы
вариант 12 от 11.03.22 ответы доп. файлы
vk.com/inform_web
вариант 1 разбор файлы
вариант 2 разбор
vk.com/ege100ballov
Вариант 1 доп. файлы

Инструкция по выполнению работы

Экзаменационная работа состоит из 27 заданий с кратким ответом, выполняемых с помощью компьютера.

На выполнение экзаменационной работы по информатике отводится 3 часа 55 минут (235 минут).

Экзаменационная работа выполняется с помощью специализированного программного обеспечения, предназначенного для проведения экзамена в компьютерной форме.

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

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

На протяжении сдачи экзамена доступ к сети Интернет запрещён.

При выполнении заданий можно пользоваться черновиком. Записи в черновике не учитываются при оценивании работы.

Баллы, полученные Вами за выполненные задания, суммируются. Постарайтесь выполнить как можно больше заданий и набрать наибольшее количество баллов.

Связанные страницы:

Задание 11 ЕГЭ по информатике

Задание №5 ЕГЭ по информатике — практика

Открытый вариант ЕГЭ по информатике 2021 от ФИПИ

Задание №2 ЕГЭ по информатике — практика

Разбор задания № 17 ЕГЭ по информатике — проверка делимости чисел

Об изменениях в ЕГЭ по информатике в 2022 году

ЕГЭ по информатике состоит из следующих тем: «Системы счисления», «Базы данных», «Поиск информации в текстовых документах», «Электронные таблицы», «Алгебра логики», «Графы», «Комбинаторика», «Алгоритмизация и программирование», «Теория игр», «Кодирование и декодирование».

По сравнению с прошлым годом контрольные измерительные материалы изменились. Например, задание №3 теперь нужно выполнять на компьютере, так как оно предполагает работу с файлами импровизированной базы данных. В задании №9 учащимся придется вспомнить логические функции при работе с формулами в электронных таблицах, а задание №17 потребует от выпускников выполнить анализ числовой информации из файла.

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

Основное отличие нынешнего ЕГЭ по информатике от экзаменов прошлых лет состоит в том, что практически все задания в нем можно выполнить на компьютере.

И это, к сожалению, иногда может сбивать выпускников с правильного пути.

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

Ошибка № 1. Попытка выполнить все задания с использованием компьютера

Хотя большинство задач в ЕГЭ по информатике построено таким образом, что их можно решить как в черновике, так и при помощи офисных приложений или сред программирования, нужно понимать, что решение с использованием компьютера не всегда приводит к быстрому результату.

Учительница перед началом сдачи ЕГЭ по информатике в средней общеобразовательной школе №13 Владивостока, 3 июля 2020 года

Виталий Аньков/РИА «Новости»

Например, выпускник может потратить значительное количество времени на написание программного кода для решения задачи, которая аналитическим методом при помощи ручки и листа бумаги решилась бы намного быстрее, и возможно, проще.

В качестве примера приведем задание №8.

Все 5-буквенные слова, составленные из 4 букв ВЕРТ, записаны в алфавитном порядке.

Вот начало списка:

1. ВВВВВ

2. ВВВВЕ

3. ВВВВР

4. ВВВВТ

5. ВВВЕВ

На каком месте от начала списка стоит слово «ВЕТЕР»?

Решение

Представим все буквы как цифры системы счисления с основанием 4. Тогда В – 0, Е – 1, Р – 2, Т – 3.

Слово «ВЕТЕР» будет выглядеть как число 01312. Переведем его в десятичную систему счисления — это число 118 (это можно сделать, например, функцией print(int(‘01312’,4)) всего в одну строку на языке Python. Таким образом, слово «ВЕТЕР» должно находиться на 118 месте. Однако мы видим, что слово ВВВВВ — это 00000 (ноль) в четверичной системе счисления и оно находится на месте 1. Значит, есть сдвиг на одну позицию. Таким образом, слово «ВЕТЕР» находится не на 118, а на 119 месте.

Теперь решим это задание вторым способом — напишем программу на языке Python.

Личный архив Николая Никулина

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

И таких заданий на экзамене достаточно. А ведь на ЕГЭ каждая минута времени может принести дополнительный балл.

Ошибка № 2. Неверная последовательность выполнения заданий

Эта ошибка характерна не только для ЕГЭ по информатике, но и для других предметов. Прежде всего необходимо выполнять те задачи, которые хорошо знакомы и не требуют значительных временных затрат. Часто участники выполняют задания подряд и, увидев новое для себя задание, пытаются его решить, тратя большую часть времени и усилий. На все остальные задачи у них остается уже меньше ресурсов.

Поэтому, если задание показалось сложным, следует его пропустить и постараться выполнить более простые.

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

Ошибка № 3. Ложная надежда на компьютерные технологии

Некоторые выпускники думают, что наличие компьютера на экзамене со всевозможными офисными программами и средами программирования сразу избавит их практически от всех проблем, связанных с решением задач. Но всеми этими технологиями еще нужно научиться грамотно пользоваться. При этом необходимо знать теорию по конкретным темам курса информатики.

Например, одна из задач, которая, на наш взгляд, стала решаться гораздо быстрее с использованием компьютера — это задание 14. Приведем пример и решение с использованием алгоритма, записанного на языке программирования Python.

Личный архив Николая Никулина

Для написания подобного программного кода необходимо помнить стандартный алгоритм перевода числа в систему счисления с произвольным основанием. Также нужно знать такие темы из курса информатики, как циклы, работа со строками, операции деления. Еще можно запомнить некоторые стандартные функции языков программирования (например, count для языка Python).

Рекомендации по подготовке к экзамену

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

С другой стороны, на экзамене есть и такие задания, которые невозможно решить вручную за отведенное время, и без написания программного кода или использования прикладного программного обеспечения уже не обойтись. Поэтому попробуйте проверить свои знания, провести самодиагностику. Для этого можно выполнить демонстрационный вариант с последующей проверкой ответов, отметить задания и темы, которые вызывают затруднения. Например, воспользоваться виртуальной лабораторией по информатике в Библиотеке МЭШ, открытыми вариантами контрольных измерительных материалов ЕГЭ на сайте ФИПИ или пройти диагностику в формате ЕГЭ. Проверить свои знания и потренироваться в заполнении экзаменационных бланков вы можете в Центре независимой диагностики Московского центра качества образования. Запись открыта в разделе Центра на сайте МЦКО.

Большое значение имеет повторение тем, относящихся к практическому программированию. Знание одного или нескольких языков программирования на базовом или углубленном уровнях поможет решить не только задачи, относящиеся непосредственно к теме «Алгоритмизация и программирование», но и многие другие задания быстро и оптимально. Изучить необходимые языки программирования помогут в школе на уроках информатики. Также можно воспользоваться учебными материалами в Библиотеке «Московской электронной школы».

Каждую неделю, в разные дни, уделяйте внимание изучению новых материалов и повторению того, что вы уже знаете. Старайтесь еженедельно решать разные варианты из ЕГЭ.

группа vk вконтакте

группа fb facebook

1.

1 задание. Демо ЕГЭ 2022 информатика, ФИПИ:

На рисунке схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о протяжённости каждой из этих дорог (в километрах).

1 2 3 4 5 6 7
1 3 4
2 3 12 13
3 10 11
4 10 9 7
5 4 12 11 9 8 6
6 13 8 5
7 7 6 5

Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе.
Определите, какова сумма протяжённостей дорог из пункта Б в пункт В и из пункта Г в пункт Д.
В ответе запишите целое число.

Ответ: 20
🎦

Видео на RuTube здесь


2.

2 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Миша заполнял таблицу истинности логической функции F

¬(y → (x ≡ w)) / (z → x)

но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.

Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных w, x, y, z.

Перем.1 Перем.2 Перем.3 Перем.4 Функция
??? ??? ??? ??? F
1 1 1
0 0 1
0 1 0 1

В ответе запишите буквы в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.).

Ответ: wxyz

  
🎦
Решение подобного задания (программирование):


3.

3 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Задание выполняется с использованием прилагаемых файлов

В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.

ID операции Дата ID магазина Артикул Тип операции Количество упаковок, шт. Цена, руб./шт.

Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.

Артикул Отдел Наименование Ед. изм. Количество в упаковке Поставщик

Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.

На рисунке приведена схема указанной базы данных.

Используя информацию из приведённой базы данных, определите на сколько увеличилось количество упаковок яиц диетических, имеющихся в наличии в магазинах Заречного района, за период с 1 по 10 июня включительно.
В ответе запишите только число.

Ответ: 966

 
🎦

Видео на RuTube здесь


4.

4 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Для кодирования некоторой последовательности, состоящей из букв Л, М, Н, П, Р, решили использовать неравномерный двоичный код, удовлетворяющий условию, что никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Для букв Л, М, Н использовали соответственно кодовые слова 00, 01, 11. Для двух оставшихся букв – П и Р – кодовые слова неизвестны.
Укажите кратчайшее возможное кодовое слово для буквы П, при котором код будет удовлетворять указанному условию. Если таких кодов несколько, укажите код с наименьшим числовым значением.

Ответ: 100
🎦

Видео на RuTube здесь


5.

5 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. К этой записи дописываются справа ещё два разряда по следующему правилу:
  а) складываются все цифры двоичной записи числа N, и остаток от деления суммы на 2 дописывается в конец числа (справа).

Например, запись 11100 преобразуется в запись 111001;

 б) над этой записью производятся те же действия – справа дописывается остаток от деления суммы её цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
Укажите такое наименьшее число N, для которого результат работы данного алгоритма больше числа 77. В ответе это число запишите в десятичной системе счисления.

    ✎ Решение аналитическим способом:

  • Заметим, что после второго пункта условия задачи получаются только четные числа (т.к. если число в двоичной системе заканчивается на 0, то оно четное). Таким образом, нас будут интересовать только четные числа.
  • Наименьшим возможным числом, превышающим 77, является число 78. С ним и будем работать.
  • Переведем 78 в двоичную систему счисления. Используя компьютер это можно сделать с помощью программистского режима калькулятора. Либо в консоли интерпретатора Python набрать bin(78). Получим:
  • 1001110
  • В данном числе выделенная часть — это N. Значит, необходимое нам двоичное число — это 10011. После первого пункта задачи к данному числу должна была добавиться справа единица, так и есть: 100111. А затем добавляется 0: 1001110. Соответственно, оно подходит.
  • Переведем его обратно в десятичную систему, используя калькулятор либо консоль пайтон:
  • int('10011',2)
  • Получим 19.
  • ✎ Решение с использованием программирования:

    PascalAbc.NET:

    uses school;
     
    begin
      var n_ := 1;
      while True do
      begin
        var n := n_;
        var ost := bin(n).CountOf('1') mod 2; 
        //в двоичной с.с. добавляем разряд (*2) и остаток к этому разряду (+ost)
        n := 2 * n + ost; 
         // получаем остаток при делении на 2 :
        ost := bin(n).CountOf('1') mod 2; 
        n := 2 * n + ost;
        if n > 77 then
        begin
          println(n_);
          break
        end;
        n_ += 1;
      end;
    end.
    Python:

    n_ = 1
    while True:
        n = n_
        r = str(bin(n))
        r = r[2:]
        for i in range(2):
            if r.count('1') % 2 == 0:
                r+='0'
            else:
                r+='1'
     
        n = int(r, base=2)
        if n > 77:
            print(n_,n)
            break
        n_+=1

Ответ: 19

🎦 -> аналитическое решение

  
Видео на RuTube здесь

 
🎦 -> решение с программированием (на Паскале) подобного задания

Видео на RuTube здесь


6.

6 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

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

Паскаль:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  s, n: integer;
 
begin
  readln(s);
  s := s div 10;
  n := 1;
  while s < 51 do
  begin
    s := s + 5;
    n := n * 2
  end;
  writeln(n)
end.
Алгоритмический язык:

алг
нач
 цел n, s
 ввод s
  s := div(s, 10)
  n := 1
 нц пока s < 51
  s := s + 5
  n := n * 2
кц
вывод n
кон
Python:

s = int(input())
s = s // 10 
n = 1
while s < 51:
   s = s + 5
   n = n * 2
print(n)
С++:

#include <iostream>
using namespace std;
int main()
{ int s, n;
 cin >> s;
 s = s / 10;
 n = 1 ;
 while (s < 51) { s = s + 5; n = n * 2; }
 cout << n << endl;
 return 0;
}

Ответ: 259
  

✍ Решение:

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    begin
      var s1 := 509;
      while true do // внешний цикл, бесконечный
      begin
        var s := s1;
        s := s div 10;
        // --- код из условия задания --- //
        var n := 1;
        while s < 51 do
        begin
          s := s + 5; 
          n := n * 2;
          if n = 64 then // если найдено, то выводим соответствующее s
          begin
            print(s1); 
            exit;  // выход из бесконечного цикла 
          end;
        end;
        s1 := s1 - 1; 
      end;
    end.

    Пояснение:

  • Поскольку условие цикла s < 51, а по условию задания следует найти наименьшее значение s, то можно начать с s=509, так как далее идет оператор s := s div 10;, который присваивает s значение 50 (<51). Во внешнем цикле необходимо постоянно уменьшать значение s на единицу.
  • Важно для внешнего цикла использовать другую переменную, т.к. во внутреннем цикле переменная s меняется, а нам следует каждый шаг внешнего цикла сохранить предыдущее значение s, уменьшив его всего на 1. Используем переменную S1 для этих целей.
  • Бейсик:

    Python:

    s1 = 509
    while True:  # внешний цикл, бесконечный
        s = s1
        # --- код из условия задания --- 
        s = s//10
        n = 1
        while s < 51:
            s = s + 5
            n = n * 2
        # --- конец кода из условия задания --- 
            if n == 64:
                print(s1)
                quit()
        s1 -= 1
    С++:

Ответ: 259

🎦

Видео на RuTube здесь


7.

7 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Для хранения произвольного растрового изображения размером 128×320 пикселей отведено 20 Кбайт памяти без учёта размера заголовка файла. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков.
Какое максимальное количество цветов можно использовать в изображении?

Ответ: 16

  
🎦

Видео на RuTube здесь


8.

8 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Все четырёхбуквенные слова, в составе которых могут быть только буквы Л, Е, М, У, Р, записаны в алфавитном порядке и пронумерованы, начиная с 1.
Ниже приведено начало списка.

1. ЕЕЕЕ
2. ЕЕЕЛ
3. ЕЕЕМ
4. ЕЕЕР
5. ЕЕЕУ
6. ЕЕЛЕ
…

Под каким номером в списке идёт первое слово, которое начинается с буквы Л?

Ответ: 126
  ✍ Решение:

✎ Решение с использованием программирования:

PascalABC.net (использование LINQ, быстрое решение):
Способ 1:

1
2
3
4
5
6
###
var d:='лемур'.Order // сортируем по алфавиту
.Cartesian(4)
.Numerate // нумерация
.where((i,w)->w.first='л') // рассматриваем и номер и слово
.first[0].print // выводим именно номер

Cartesian(3) — метод расширения последовательности, возвращающий декартову степень множества символов, т.е. в нашем случае перебор 3-знаковых слов из заданных символов

* LINQ (Language Integrated Query) — язык интегрированных запросов

PascalABC.net (приближенный к традиционному, долгое решение):
Способ 2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
begin
  var n:=1;
  var str:='елмру';
  foreach var s1 in str do
    foreach var s2 in str do
      foreach var s3 in str do
        foreach var s4 in str do
          begin
            var words:=s1+s2+s3+s4;
            if (words[1]='л') then
            begin
              print(n);exit;
              end;
              n:=n+1;
            end;
      end.
PascalABC.net (приближенный к традиционному, долгое решение):
Способ 3:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
begin
  var str := 'ЕЛМРУ';
  var n := 1;
  for var s1 := 1 to length(str) do
    for var s2 := 1 to length(str) do 
      for var s3 := 1 to length(str) do
        for var s4 := 1 to length(str) do 
        begin
          var slovo := str[s1] + str[s2] + str[s3] + str[s4];
          if slovo[1] = 'Л' then
          begin
            print(n);
            exit;
          end;
          n += 1;
        end;
end.
Python:

1
2
3
4
5
6
7
8
9
10
11
str = 'ЕЛМРУ'
n = 1
for s1 in str:
    for s2 in str: 
        for s3 in str:
            for s4 in str:
                slovo = s1 + s2 + s3 + s4
                if slovo[0] == 'Л':
                    print(n)
                    quit()
                n += 1
С++:

🎦 (программный способ)

Видео на RuTube здесь

🎦 (теоретический способ)

Видео на RuTube здесь


9.

9 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Задание выполняется с использованием прилагаемых файлов

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

Ответ: 2453
🎦

Видео на RuTube здесь


10.

10 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Задание выполняется с использованием прилагаемых файлов

  
С помощью текстового редактора определите, сколько раз, не считая сносок, встречается слово «долг» или «Долг» в тексте романа в стихах А.С. Пушкина «Евгений Онегин». Другие формы слова «долг», такие как «долги», «долгами» и т.д., учитывать не следует. В ответе укажите только число.

Ответ: 1

🎦

Видео на RuTube здесь


11.

11 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

При регистрации в компьютерной системе каждому объекту сопоставляется идентификатор, состоящий из 15 символов и содержащий только символы из 8-символьного набора: А, В, C, D, Е, F, G, H. В базе данных для хранения сведений о каждом объекте отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование идентификаторов, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно идентификатора, для каждого объекта в системе хранятся дополнительные сведения, для чего отведено 24 байта на один объект.
Определите объём памяти (в байтах), необходимый для хранения сведений о 20 объектах. В ответе запишите только целое число – количество байт.

Ответ: 600
🎦 (теоретическое решение)

Видео на RuTube здесь


12.

12 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.

Б) нашлось (v).

Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.


Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 70 идущих подряд цифр 8? В ответе запишите полученную строку.

НАЧАЛО
ПОКА нашлось (2222) ИЛИ нашлось (8888)
  ЕСЛИ нашлось (2222)
    ТО заменить (2222, 88)
    ИНАЧЕ заменить (8888, 22)
  КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ

    ✎ Решение с использованием программирования:
    PascalABC.NET:
    Вариант 1:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    begin
       var s := '8'*70;
       var p2 := Pos('2222',s);
       var p8 := Pos('8888',s);
       while (p2 > 0) or (p8 > 0) do begin
         if p2 > 0 then begin
           Delete( s, p2, 4 );
           Insert( '88', s, p2 );
         end
         else begin
           Delete( s, p8, 4 );
           Insert( '22', s, p8 );
         end;
         p2 := Pos('2222',s);
         p8 := Pos('8888',s);
       end; 
       write(s);
    end.

    Вариант 2:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    begin
      var s: string := '8' * 70;
      while ('2222' in s) or ('8888' in s) do // ИЛИ: while (s.contains('2222')) or (s.contains('8888')) do
      begin
        if ('2222' in s) then // ИЛИ: if (s.contains('2222')) then
          s := s.replace('2222', '88')
        else
          s := s.replace('8888', '22');
      end;
      writeln(s);
    end.

    Питон:

    1
    2
    3
    4
    5
    6
    7
    
    s = 70 * '8'
    while "2222" in s or "8888" in s:
      if "2222" in s:
        s = s.replace( "2222", "88", 1 )
      else:
        s = s.replace( "8888", "22", 1 )
    print(s)

 
🎦

Видео на RuTube здесь


13.

13 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Сколько существует различных путей из города А в город М, проходящих через город В?
13 задание демо 2022

Ответ: 24

 
Разбор

подобного

задания смотрите в видео:
🎦 Видео
Видео на RuTube здесь


14.

14 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Значение арифметического выражения:

3*438 + 2*423 + 420 + 3*45 + 2*44 + 1 

записали в системе счисления с основанием 16. Сколько значащих нулей содержится в этой записи?

Ответ: 15
 ✍ Решение:

✎ Решение с использованием программирования:

PascalABC.NET:

begin
  var numb: Biginteger; 
  numb := 3*Biginteger.Pow(4,38) + 2*Biginteger.Pow(4,23)+Biginteger.Pow(4,20) +
 3*Biginteger.Pow(4,5) +2*Biginteger.Pow(4,4) +1;
  var digit: biginteger;
  var n := 0;
  while numb > 0 do
  begin
    digit := numb mod 16;
    if digit = 0 then n += 1;
    numb := numb div 16
  end;
  print(n)
end.
Python:

x = 3*4**38 + 2*4**23 + 4**20+3*4**5 +2*4**4 +1
k = 0
while x:
    if x % 16 == 0: k += 1
    x //= 16
print( k )
С++:

✎ Решение аналитическим способом:

  • По возможности приведем каждое слагаемое к степеням 16. Учтем, что:
  • 4n=16n/2
  • Получим:
  • 3*1619 + 2*(41*1611) + 3*(41*162) + 2*162 + 1
  • Далее рассуждаем так: количество нулей можно найти, если из общего количества цифр в результирующем числе вычесть количество не нулей (любых других цифр).
  • Общее количество цифр найдем из самого большого слагаемого 3*1619:
  • Формула: 16n=10..0[n штук]16 (в 16 с.с.)
    3*1619 = 3*10..016 -> 19 нулей + 1 другая цифра(3), т.е. всего 20 цифр


  • Рассмотрим другие слагаемое, используя аналогичную формулу. Будем считать в них цифры, отличные от нуля (другая цифра):
  • 2*(41*1611) = 2*(4*10..0[11 штук]16=80..0[11 штук]16 -> одна другая цифра
    41*162 = 4*10016 = 400 -> одна другая цифра
    3*(41*162) = 3*4*10016 = С0016 -> одна другая цифра
    2*162 =2*10016 = 20016 -> одна другая цифра
    1 -> одна другая цифра
  • Итого получаем 5 других цифр, отличных от 0. Отнимем из общего количества цифр и получим количество нулей:
  • 20-5=15

Ответ: 15

🎦 (программное решение)

Видео на RuTube здесь


15.

15 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

На числовой прямой даны два отрезка: D = [17; 58] и C = [29; 80].
Укажите наименьшую возможную длину такого отрезка A, для которого логическое выражение

(x ∈ D) → ((¬(x ∈ C) / ¬(x ∈ A)) → ¬(x ∈ D))

истинно (т.е. принимает значение 1) при любом значении переменной х.

Ответ: 12
 ✍ Решение:

🎦 (теоретическое решение)

Видео на RuTube здесь


16.

16 задание. Демоверсия варианта ЕГЭ по информатике 2021, ФИПИ:

Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(n) = 1 при n = 1;
F(n) = n + F(n − 1), если n – чётно,
F(n) = 2 × F(n − 2), если n > 1 и при этом n – нечётно

Чему равно значение функции F(26)?

✎ Решение с использованием программирования:
PascalABC.NET:

1
2
3
4
5
6
7
8
9
10
11
12
13
function F(n: integer): integer;
begin
  if n <= 1 then
    F := 1;
  if n mod 2 = 0 then
    F := n + F(n - 1);
  if (n > 1) and (n mod 2 <> 0) then
    F := 2 * F(n - 2)
end;
 
begin
  print(F(26))
end.

Питон:

1
2
3
4
5
6
7
8
def F( n ):
   if n <= 1: 
      return 1
   if (n % 2 == 0):
      return n + F(n-1)
   if (n>1 and n % 2 != 0):
      return 2 * F(n-2)
print (F(26))

C++:

Ответ: 4122

🎦 (программное решение)

Видео на RuTube здесь


17.

17 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Задание выполняется с использованием прилагаемых файлов

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых хотя бы одно число делится на 3, затем максимальную из сумм элементов таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Например, для последовательности из пяти элементов:
6; 2; 9; –3; 6 – ответ: 4 11

Ответ: 2802 1990

✍ Решение:

    ✎ Решение с использованием программирования:

    PascalABC.NET: LINQ-метод

    1
    2
    3
    4
    5
    6
    7
    8
    
    ##
    var data := ReadLines('17.txt').Select(t -> t.ToInteger).ToArray;
    var twins := data.NWise(2).Select(ar->ar.Order.ToArray)
        .Where(ar->(ar[0].Divs(3)) or (ar[1].Divs(3)));
    twins.Take(4).Print; // [786,835] [-457,786] [-457,495] [-699,495]
    twins.Count.Print;  
    var sums:=twins.Select(t->t[0]+t[1]); // массив сумм  
    sums.max.print;

    PascalABC.NET: быстрое решение

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    ## нужно открыть файл и посмотреть кол-во строк в нем, 5000
    Assign(input, '17.txt');
    var a := ReadArrInteger(5000);
    var k := 0; var max := integer.MinValue;
    for var i := 0 to a.Length - 2 do 
    begin
      if (a[i] mod 3 = 0) or (a[i + 1] mod 3 = 0) then
      begin
        if a[i] + a[i + 1] > max then 
          max := a[i] + a[i + 1];
        k += 1;
      end;
    end;
    print(k, max);

    PascalABC.NET: Классическое решение

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    begin
      var f: text;
      var i, k, max, len: integer;
      assign(f, '17.txt');
      reset(f);
      var data: array of integer;
      data := new integer[100000];
      i := 0;
      while not EOF(f) do
      begin
        readln(f, data[i]);
        inc(i); 
      end;
      len := i - 1; k := 0; max := -100;
      for i := 1 to len do
      begin
        if (data[i] mod 3 = 0) or (data[i - 1] mod 3 = 0) then
        begin
          inc(k);
          if data[i] + data[i - 1] > max then
            max := data[i] + data[i - 1];
        end;
      end;
      print(k, max)
    end.

    Питон:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    f = open('17.txt')
    data =[int(x) for x in f]
    k = 0
    m = -100
    for i in range(len(data)-1):
        if data[i]%3==0 or data[i+1]%3==0:
            k+=1
            m = max(m, data[i]+data[i+1])
    print (k,m)

    C++:

✎ Решение в Excel:

  • Запустите программу Excel.
  • В меню Файл выберите пункт Открыть и щелкните Обзор.
  • Рядом с полем Имя файла выберите в списке Все файлы (*|*). Откройте файл задания (17.txtДалее, Далее, Готово).
  • В столбце B будем искать подходящие пары: если одно число из пары кратно трём, то будем выводить сумму рассматриваемой пары, а иначе – выводить пустое значение («»)
  • B1
    =ЕСЛИ(ИЛИ(ОСТАТ(A1;3)=0;ОСТАТ(A2;3)=0);A1+A2;"")
  • Скопируйте формулу на весь столбец.
  • !!!Просмотрите столбец B до конца и сотрите значение в самой последней ячейке (B5000), если оно там есть (сравнение идет со следующей пустой ячейкой)!!!
  • В ячейке С1 введем формулу для поиска количества подходящих пар:
  • С1
    =СЧЁТ(B:B)
    2802
  • В ячейке D1 найдем максимальное значение из найденного ряда (максимальную сумму пары):
  • D1
    =МАКС(B:B)
    1990
  • !!! В ответе запишем в том порядке, в котором просится в задании!!! – сначала 2802, затем 1990

🎦

Видео на RuTube здесь


18.

18 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Задание выполняется с использованием прилагаемых файлов

  
Квадрат разлинован на N×N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю. Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может.
Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.
Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю.
В ответе укажите два числа – сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

Для указанных входных данных ответом должна быть пара чисел:

38  22

Ответ: 721 640
🎦 (решение Excel)

Видео на RuTube здесь


19.

19 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится не менее 29. Победителем считается игрок, сделавший последний ход, т.е. первым получивший кучу, в которой будет 29 или больше камней.
В начальный момент в куче было S камней, 1 ≤ S ≤ 28.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы играющего по этой стратегии игрока, не являющиеся для него безусловно выигрышными, т.е. не являющиеся выигрышными независимо от игры противника.

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

Ответ: 14

✍ Решение 1:

  • Ваня может выиграть первым ходом (как бы ни играл Петя), если в куче будет S = 14 камней. Тогда после первого хода Пети в куче будет 15 или 28 камней. В обоих случаях Ваня удваивает кучу и выигрывает в один ход.
  • S = 14
    Петя: 14 + 1 = 15  выигрышная позиция (см. п. а). Выигрывает Ваня
    Петя: 14 * 2 = 28   выигрышная позиция (см. п. а). Выигрывает Ваня
    

    14 — проигрышная позиция

Ответ: 14
✍ Решение 2 (Excel):

🎦 (решение Excel)

Видео на RuTube здесь


20.

20 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

Для игры, описанной в задании 19, найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

  • Петя не может выиграть за один ход;
  • Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
  • Найденные значения запишите в ответе в порядке возрастания.

    Ответ: 7 13
    ✍ Решение 1:

    • Возможные значения S: 7, 13. В этих случаях Петя, очевидно, не может выиграть первым ходом. Однако он может получить кучу из 14 камней (из задания № 19 мы знаем, что это проигрышная позиция): в первом случае удвоением, во втором — добавлением одного камня. Эта позиция разобрана в задании 19. В ней игрок, который будет ходить (теперь это Ваня), выиграть не может, а его противник (то есть Петя) следующим ходом выиграет.
    • S = 7
      Петя: 7 * 2 = 14  проигрышная позиция (см. п. 1 б). Выигрывает Петя
      S = 13
      Петя: 13 + 1 = 14 проигрышная позиция (см. п. 1 б). Выигрывает Петя
      

      7, 13 — выигрышные позиции со второго хода

    Ответ: 7 13

    ✎ Решение 2 (Excel)


    21.

    21 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

    Для игры, описанной в задании 19, найдите значение S, при котором одновременно выполняются два условия:

  • у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
  • у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
  • Если найдено несколько значений S, в ответе запишите минимальное из них.

    ✍ Решение:

    • Возможные значения S: 12. После первого хода Пети в куче будет 13 или 24 камня. Если в куче их станет 24, Ваня удвоит количество камней и выиграет первым ходом. Ситуация, когда в куче 13 камней, разобрана в задании 20. В этой ситуации игрок, который будет ходить (теперь это Ваня), выигрывает своим вторым ходом.
    • S = 12
      Петя: 12 + 1 = 13  
      Ваня: 13 + 1 = 14 проигрышная позиция (см. задание 19). Выигрывает Ваня вторым ходом!
      

    Ответ: 12


    22.

    22 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

    Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 4, а потом 5.

    Паскаль:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    var
      x, L, M, Q: integer;
    begin
      readln(x);
      Q := 9;
      L := 0;
      while x >= Q do
      begin
        L := L + 1;
        x := x - Q;
      end;
      M := x;
      if M < L then
      begin
        M := L;
        L := x;
      end;
      writeln(L);
      writeln(M);
    end.
    Алгоритмический язык:

    алг
    нач
      цел x, L, M, Q
      ввод x
       Q := 9
       L := 0
       нц пока x >= Q
         L := L + 1
         x := x - Q
       кц
       M := x
       если M < L
         то
            M := L
            L := x
       все
       вывод L, нс, M
    кон
    
    Python:

    x = int(input())
    Q = 9
    L = 0
    while x >= Q:
       L = L + 1
       x = x - Q
    M = x
    if M < L:
       M = L
       L = x
    print(L)
    print(M)
    С++:

    #include <iostream>
    using namespace std;
    int main()
    {
     int x, L, M, Q;
     cin >> x;
     Q = 9;
     L = 0;
     while (x >= Q){
       L = L + 1;
       x = x - Q;
     }
     M = x;
     if (M < L){
       M = L;
       L = x;
     }
     cout <<L <<endl <<M <<endl;
     return 0;
    }

    Ответ: 49
      ✍ Решение:

      ✎ Решение с использованием программирования:

      PascalABC.NET:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      
      var
        x, l, M, q: longint;
       
      begin
        for var x_ := 1 to 5000 do
        begin
          x := x_;
          q := 9;
          l := 0;
          while x >= q do
          begin
            l := l + 1;
            x := x - q;
          end;
          M := x;
          if M < l then begin
            M := l;
            l := x;
          end;
          if (l = 4) and (M = 5) then 
            print(x_)
        end;
      end.

    23.

    23 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

    Исполнитель преобразует число на экране.
    У исполнителя есть две команды, которым присвоены номера:
    1. Прибавить 1
    2. Умножить на 2
    Программа для исполнителя – это последовательность команд.

    Сколько существует программ, для которых при исходном числе 1 результатом является число 20, и при этом траектория вычислений содержит число 10?
    Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.

    Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.

    • Сначала найдём количество программ для перехода от числа 1 к числу 10, а затем от числа 10 к 20.
    • Будем использовать разные рекуррентные формулы для чётных и нечётных N.
    • Напишем программу, реализующую алгоритм поиска результата, вычисления по рекуррентным формулам организуем с помощью рекурсии.
    • Рекурсивная функция, которая возвращает количество программ для преобразования числа start в число x:
    • Паскаль. Решение 1:

      function f(start, x: integer): integer;
      begin
        var k: integer;
        if start > x then result := 0
        else if start = x then result := 1
        else begin // обязательные операторные скобки
          k := k + f(start + 1, x) + f(start *2, x);
          result := k;
        end;
      end;
       
      begin
        writeln(f(1, 10)*f(10, 20));
      end.

      Паскаль. Решение 2:

      function func( start, x: integer ): integer;
      var k: integer;
      begin
        if x < start then 
          func := 0 // если число x меньше нач. значения, кол-во программ равно 0 
        else 
          if x = start then 
            func := 1 // если число x = нач. значению, кол-во программ равно 1 
        else 
          begin
          k := func( start, x-1 ); //учитываем кол-во программ предыдущего числа
          // если число чётное, нужно добавить ещё кол-во программ для числа x//2: 
          if x mod 2 = 0 then 
            k := k + func( start, x div 2 );
          func := k;
        end;
      end;
       
      begin
       writeln( func(1,10) * func(10,20) );
      end.

    Ответ: 28


    24.

    24 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

     

    Задание выполняется с использованием прилагаемых файлов

     
    Текстовый файл состоит из символов P, Q, R и S.
    Определите максимальное количество идущих подряд символов, среди которых нет идущих подряд символов P.
    Для выполнения этого задания следует написать программу.

    Ответ: 188

    ✍ Решение:

      Паскаль:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      
      var
        f: text;
        i, k, max: integer;
        s: string;
       
      begin
        assign(f, '24.txt');
        reset(f);
        readln(f, s);
        max := 1;
        k := 1; // кол-во подряд идущих без PP
        for i := 2 to length(s) do
        begin
          if (not ((s[i] = 'P') and (s[i - 1] = 'P'))) then
          begin
            inc(k);
            if k > max then 
              max := k;
          end
          else k := 1;
        end;
        write(max)
      end.

      Python:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      
      f=open('24.txt')
      s=f.readline()
      m=1
      k=1
      for i in range(2,len(s)):
          if not(s[i]=='P' and s[i-1]=='P'):
              k+=1
              if k > m:
                  m = k
          else:
              k=1
      print(m)

    25.

    25 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

    Пусть M – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение M считается равным нулю.
    Напишите программу, которая перебирает целые числа, бо́льшие 700 000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 8. Выведите первые пять найденных чисел и соответствующие им значения M.

    Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем – значение М.
    Строки выводятся в порядке возрастания найденных чисел.
    Количество строк в таблице для ответа избыточно.

      
    Ответ:

    700005 233338
    700007 100008
    700012 350008
    700015 140008
    700031 24168

    ✍ Решение:

    ✎ Метод полного перебора, неоптимизированный:

      PascalABC.net:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      
      begin
        var k := 0;
        for var n := 700000 to 1000000 do
        begin
          var divs := new List<integer>; 
          for var d := 2 to n-1 do
            if n mod d = 0 then begin // пример: n = 16, d = 2 - добавляем оба сомножителя 2*8
              divs.Add(d);    // add 2  
            end;
          // первое условие обязательно, чтобы не было ошибок!
          if (divs.Count>1) and ((divs.Max + divs.Min) mod 10 = 8) then 
          begin
             Println(n,divs.Max+divs.Min);
             k+=1;
             if k=5 then break
            end;
        end;
      end.
      Python:

      С++:


    26.

    26 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

     

    Задание выполняется с использованием прилагаемых файлов

     
    Системный администратор раз в неделю создаёт архив пользовательских файлов. Однако объём диска, куда он помещает архив, может быть меньше, чем суммарный объём архивируемых файлов.
    Известно, какой объём занимает файл каждого пользователя.
    По заданной информации об объёме файлов пользователей и свободном объёме на архивном диске определите максимальное число пользователей, чьи файлы можно сохранить в архиве, а также максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.

    Входные данные.
    В первой строке входного файла находятся два числа: S – размер свободного места на диске (натуральное число, не превышающее 10 000) и N – количество пользователей (натуральное число, не превышающее 1000). В следующих N строках находятся значения объёмов файлов каждого пользователя (все числа натуральные, не превышающие 100), каждое в отдельной строке.

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

    Пример входного файла:

    100 4
    80
    30
    50
    40
    

    При таких исходных данных можно сохранить файлы максимум двух пользователей. Возможные объёмы этих двух файлов 30 и 40, 30 и 50 или 40 и 50. Наибольший объём файла из перечисленных пар – 50, поэтому ответ для приведённого примера:

    2 | 50
    

    Ответ: 568 50

    ✍ Решение:

      Проанализируем возможное решение:

    • Чтобы вычислить максимальное число пользователей, чьи файлы можно сохранить в архиве, необходимо брать файлы с наименьшим объемом, пока суммарный объем этих файлов меньше свободного объема диска. Т.е. для нижеуказанного примера, будем брать 30 + 40. Файл объемом 50 мы взять уже не сможем, так как 70 + 50 = 120, а это уже больше указанного объема диска (100):
    • 100 4
      80
      30
      50
      40
      
    • Таким образом, мы получили первый ответ — максимальное число пользователей, чьи файлы можно сохранить в архиве — ответ 2.
    • Далее необходимо вычислить максимальный размер имеющегося файла, который может быть сохранён в архиве. Для начала вспомним, что у нас оставался «запас» пространства диска при предыдущем расчете. Давайте вычислим этот запас:
    • 100 - 70 = 30
    • Т.е. мы можем добавить 30 наибольшему возможному числу, из выбранных чисел, чтобы полученная сумма не превысила этот запас. Самое большое число из выбранных — это 40 (30, 40):
    • 30 - 40 <= запаса (30)
      40 - 40 <= запаса (30) 
      50 - 40 <= запаса (30) 
      80 - 40 > запаса (30), не подходит
      
    • Таким образом, наибольшее подходящее число — максимальный размер файла — это 50.
    • ✎ Решение с использованием программирования:
      Теперь построим алгоритм на языках программирования:

      PascalABC.net:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      
      begin
        var f: text;
        assign(f, 'proba.txt');
        reset(f);
        var s, n: integer;
        read(f, s); // 100
        read(f, n);  //4  var (s, n) := ReadInteger2;
        var i := 0;
        var data: array of integer;
        data := new integer[n];
        while not EOF(f) do // 
        begin
          readln(f, data[i]); // var data:= ReadArrInteger(n); 
          i += 1;
        end;
        data.Sort;
        var summa := 0;
        var count := 0;
        for count := 0 to data.Length do
        begin
          if summa + data[count] > s then break;
          summa += data[count];
        end;
        print(count);
        var itog := 0;
        var zapas := s - summa;
        for i := 0 to data.Length do
          if data[i] - data[count - 1] <= zapas then
            itog := data[i] else break;
        print(itog)
      end.
      Python:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      
      f = open('26.txt')
      data = f.readlines() # массив строк , readlines
       
      s = data[0].split() # ['8200', '970']
      s = int(s[0]) # 8200 - объем св места на диске
      del(data[0]) # первая строка больше не нужна, удаляем ее
      for i in range(0, len(data)): # цикл для преобразование в int
          data[i]=int(data[i])
      data=sorted(data) # сортируем полученный массив для удобства работы
      summa = 0
      for count in range (0,len(data)):
          if summa + data[count] > s: break # если сумма больше - прерываем цикл
          summa += data[count] # формируем сумму, добавляя отсортированные элементы 
      # как только сумма превысила s, произойдёт выход из цикла по оператору break, 
      # а в переменной count останется количество добавленных значений
      print (count) # макс число файлов в архиве
      # вычисляем запас, который мы можем уменьшить с помощью замены одного выбранного значения на другое:
      zapas = s - summa
      # теперь выбираем из массива данных те значения, которые могут быть выбраны: 
      # разность между таким значением и наибольшим выбранным элементом data[count-1] должна быть не больше, чем  zapas:
      for i in range (0,len(data)):
          if data[i] - data[count-1] <= zapas:
              itog = data[i]
      print(itog)  # максимальный размер файла
      С++:

    ✎ Решение в Excel:

    • Запустите программу Excel.
    • В меню Файл выберите пункт Открыть и щелкните Обзор.
    • Рядом с полем Имя файла выберите в списке Все файлы(*|*).
    • Щёлкните Далее, а затем установите флажок рядом с пунктом Пробел:
    • Затем Готово.
    • В открытом файле перенесите первую строку с двумя заполненными ячейками в ячейки I2 и J2 (или любое свободное место).
    • Удалите первую строку.
    • Отсортируйте столбец А по возрастанию: Данные Сортировка
    • В ячейку B1 занесите число, стоящее в А1.
    • В ячейку B2 вставим формулу для подсчета суммы размеров файлов, прибавляя каждое последующее значение до тех пор, пока эта сумма меньше или равна свободному объему диска (I1). Не забываем зафиксировать значение ячейки, чтобы при копировании формулы адрес ячейки не менялся:
    • =ЕСЛИ(И(A2+B1<=I$1;B1<>0);A2+B1;0)
    • Копируем формулу на весь столбец, щелкнув по маркеру копирования ячейки или протянув мышкой формулу.
    • Прокручиваем страницу вниз, просматривая столбец B, до тех пор, пока не появится значение 0. Последнее заполненное значение — 8176 — это сумма объемов файлов, которые вместились с учетом свободного объема диска. А номер строки — 568 — это максимальное число пользователей, чьи файлы можно сохранить в архиве (первое значение для ответа).
    • Вернитесь в верх страницы. Вычислим запас в свободной ячейке (С1):
    • =I1-B568
    • В ячейку D1 внесем формулу для поиска максимального размера файла в архиве (с учетом рассчитанного запаса). Будем выводить значение подходящего размера файла, а как только размер уже будет не подходить — выведем 0. Поскольку формулу будем копировать, не забудьте зафиксировать ячейку с запасом (C$1) и с максимальным объемом файла из ряда подходиящих файлов (A$568)
    • =ЕСЛИ(A1-A$568<=C$1;A1;0)
    • Прокрутите страницу вниз, пока значения столбца D не равны 0. Находим последнее значение — 50 — это и есть максимальный размер файла, который можно поместить в архив.

    Ответ: 568 | 50

    Видео на RuTube здесь


    27.

    27 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:

    A

    B

    Задание выполняется с использованием прилагаемых файлов

      
    Дана последовательность из N натуральных чисел. Рассматриваются все её непрерывные подпоследовательности, такие что сумма элементов каждой из них кратна k = 43. Найдите среди них подпоследовательность с максимальной суммой, определите её длину. Если таких подпоследовательностей найдено несколько, в ответе укажите количество элементов самой короткой из них.

    Входные данные
    Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество чисел N (1 ≤ N ≤ 10 000 000). Каждая из следующих N строк содержит одно натуральное число, не превышающее 10 000.

    Пример организации исходных данных во входном файле:

    7
    21
    13
    9
    19
    17
    26
    95
    

    В этом наборе можно выбрать последовательности 21+13+9 (сумма 43) и 17+26 (сумма 43). Самая короткая из них, 17 + 26, имеет длину 2. Для указанных программа должна вывести число 2.

    В ответе укажите два числа: сначала значение искомой суммы для файла А, затем – для файла B.

    Предупреждение: для обработки файла B не следует использовать переборный алгоритм, вычисляющий сумму для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго.

    Ответ: 185 329329
    ✍ Решение:

      Решение для файла А (27-75a.txt), полный перебор:

      PascalABC.net:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      
      ##
      Assign(input, '27-75a.txt');
      var N := ReadInteger;
      var K := 43;
      var a: integer;
      var maxSum := 0; 
      var sum := 0;
      var maxLen := 0;
      var l := new List<integer>;
      for var i := 1 to N do // запись всех чисел в список
      begin
        a := ReadInteger;
        l.add(a)
      end;
      var i := 0;
      while i <= n do
      begin
        for var j := i to n-1 do
        begin
          sum += l[j];
          if sum mod 43 = 0 then
          begin
            if sum > maxSum then begin
              maxSum := sum;
              maxlen := j - i +1; // длина
            end
          end;
        end;
        i += 1;
        sum := 0;
      end;
      print(maxlen);
      Python:

      С++:



     
    ЕГЭ по информатике -> демоверсия ЕГЭ 2022

    Вариант заданий с реального ЕГЭ 2022 по информатике 11 класс, которые попались 20 и 21 июня на экзамене. Вариант составлен для ознакомления по заданиям, которые были (либо были похожие) на экзамене по информатике.

    Скачать вариант ЕГЭ 2022 по информатике

    Скачать файлы к варианту

    Вариант с реального ЕГЭ 2022 по информатике 11 класс

    егэ2022_информатика_реальный_вариант

    Видео решения варианта

    1)На рисунке схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о протяжённости каждой из этих дорог (в километрах). Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова сумма протяжённостей дорог из пункта A в пункт D и из пункта G в пункт C. В ответе запишите целое число.

    Ответ: 66

    2)Миша заполнял таблицу истинности логической функции F ¬(w → z) / (x → y) / ¬x, но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z. В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.

    Ответ: wzyx

    3)Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид. Используя информацию из приведённой базы данных, определите, на сколько увеличилось количество упаковок всех видов макарон производителя «Макаронная фабрика», имеющихся в наличии в магазинах Первомайского района, за период с 1 по 8 июня включительно.

    Ответ: 1610

    4)По каналу связи передаются сообщения, содержащие только буквы из набора: А, З, К, Н, Ч. Для передачи используется двоичный код, удовлетворяющий условию Фано. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Кодовые слова для некоторых букв известны: Н – 1111, З – 110. Для трёх оставшихся букв А, К и Ч кодовые слова неизвестны. Какое количество двоичных знаков потребуется для кодирования слова КАЗАЧКА, если известно, что оно закодировано минимально возможным количеством двоичных знаков?

    Ответ: 14

    5)На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1. Строится двоичная запись числа N. 2. Далее эта запись обрабатывается по следующему правилу: а) если сумма цифр в двоичной записи числа чётная, то к этой записи справа дописывается 0, а затем два левых разряда заменяются на 10; б) если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11. Полученная таким образом запись является двоичной записью искомого числа R. Например, для исходного числа 610 = 1102 результатом является число 10002 = 810, а для исходного числа 410 = 1002 результатом является число 11012 = 1310. Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, не меньшее, чем 16. В ответе запишите это число в десятичной системе счисления.

    Ответ: 8

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

    Ответ: 81

    7)Для хранения сжатого произвольного растрового изображения размером 640 на 256 пикселей отведено 170 Кбайт памяти без учёта размера заголовка файла. Файл оригинального изображения больше сжатого на 35%. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. Какое максимальное количество цветов можно использовать в изображении?

    Ответ: 2048

    8)Определите количество пятизначных чисел, записанных в восьмеричной системе счисления, в записи которых ровно одна цифра 6, при этом никакая нечётная цифра не стоит рядом с цифрой 6.

    Ответ: 2961

    9)Откройте файл электронной таблицы, содержащей в каждой строке четыре натуральных числа. Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия: – наибольшее из четырёх чисел меньше суммы трёх других; – четыре числа можно разбить на две пары чисел с равными суммами. В ответе запишите только число.

    Ответ: 391

    10)Текст произведения Льва Николаевича Толстого «Севастопольские рассказы» представлен в виде файлов различных форматов. Откройте один из файлов и определите, сколько раз встречается в тексте отдельное слово «солдаты» со строчной буквы. Другие формы этого слова учитывать не следует. В ответе запишите только число.

    Ответ: 26

    11)При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 252 символов и содержащий только десятичные цифры и символы из 1700-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит. Определите объём памяти (в Кбайт), необходимый для хранения 4096 идентификаторов. В ответе запишите только целое число – количество Кбайт.

    Ответ: 1388

    12)Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить(v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить(111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить(v, w) не меняет эту строку. Б) нашлось(v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.

    Ответ: 299

    13)На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, И, К, Л. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Определите количество различных путей ненулевой длины, которые начинаются и заканчиваются в городе Е, не содержат этот город в качестве промежуточного пункта и проходят через промежуточные города не более одного раза.

    Ответ: 21

    14)Значение арифметического выражения 4 · 6251920 + 4 · 1251930 – 4 · 251940 – 3 · 51950 – 1960 записали в системе счисления с основанием 5. Определите количество значащих нулей в записи этого числа.

    Ответ: 1891

    15)Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наименьшего натурального числа А формула (ДЕЛ(x, 2) → ¬ДЕЛ(x, 3)) / (x + A ≥ 80) тождественно истинна (т.е. принимает значение 1) при любом натуральном значении переменной х?

    Ответ: 74

    16)Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями: F(n) = 1 при n < 3; F(n) = F(n − 1) + n − 1, если n > 2 и при этом n чётно; F(n) = F(n − 2) + 2 × n − 2, если n > 2 и при этом n нечётно. Чему равно значение функции F(34)?

    Ответ: 574

    17)В файле содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от 1 до 100 000 включительно. Определите количество пар последовательности, в которых остаток от деления хотя бы одного из элементов на 117 равен минимальному элементу последовательности. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

    18)Квадрат разлинован на N × N клеток (1 < N < 30). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю. Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клеткам маршрута Робота. Определите максимальную и минимальную денежные суммы, которые может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа – сначала максимальную сумму, затем минимальную.

    19)Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 259. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, при которой в кучах будет 259 или больше камней. В начальный момент в первой куче было 17 камней, во второй куче – S камней; 1 ≤ S ≤ 241. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.

    20)Для игры, описанной в предыдущем задании, найдите два наименьших значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия: − Петя не может выиграть за один ход; − Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня. Найденные значения запишите в ответе в порядке возрастания.

    21)Для игры, описанной в задании 19, найдите минимальное значение S, при котором одновременно выполняются два условия: – у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети; – у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

    22)Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 8, а потом 21.

    23)Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера: 1. Вычти 1 2. Найди целую часть от деления на 2 Первая из них уменьшает число на экране на 1, вторая заменяет число на экране на целую часть от деления числа на 2. Программа для исполнителя – это последовательность команд. Сколько существует программ, для которых при исходном числе 30 результатом является число 1, и при этом траектория вычислений содержит число 12? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 122 при исходном числе 10 траектория состоит из чисел 9, 4, 2.

    24)Текстовый файл состоит из символов A, B, C, D и O. Определите максимальное количество идущих подряд пар символов вида согласная + гласная в прилагаемом файле. Для выполнения этого задания следует написать программу.

    25)Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108 , найдите все числа, соответствующие маске 1234*7, делящиеся на 141 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 141. Количество строк в таблице для ответа избыточно.

    26)В магазине для упаковки подарков есть N кубических коробок. Самой интересной считается упаковка подарка по принципу матрёшки – подарок упаковывается в одну из коробок, та в свою очередь в другую коробку и т.д. Одну коробку можно поместить в другую, если длина её стороны хотя бы на 3 единицы меньше длины стороны другой коробки. Определите наибольшее количество коробок, которое можно использовать для упаковки одного подарка, и максимально возможную длину стороны самой маленькой коробки, где будет находиться подарок. Размер подарка позволяет поместить его в самую маленькую коробку.

    27)У медицинской компании есть N пунктов приёма биоматериалов на анализ. Все пункты расположены вдоль автомагистрали и имеют номера, соответствующие расстоянию от нулевой отметки до конкретного пункта. Известно количество пробирок, которое ежедневно принимают в каждом из пунктов. Пробирки перевозят в специальных транспортировочных контейнерах вместимостью не более 36 штук. Каждый транспортировочный контейнер упаковывается в пункте приёма и вскрывается только в лаборатории. Компания планирует открыть лабораторию в одном из пунктов. Стоимость перевозки биоматериалов равна произведению расстояния от пункта до лаборатории на количество контейнеров с пробирками. Общая стоимость перевозки за день равна сумме стоимостей перевозок из каждого пункта в лабораторию. Лабораторию расположили в одном из пунктов приёма биоматериалов таким образом, что общая стоимость доставки биоматериалов из всех пунктов минимальна.

    Посмотрите:

    • Новая шкала перевода баллов ЕГЭ 2022 по всем предметам
    • Тренировочные варианты ЕГЭ 2022 по информатике

    ПОДЕЛИТЬСЯ МАТЕРИАЛОМ

    Подготовка к ЕГЭ по информатике

    Как устроен ЕГЭ по информатике в 2023 году

    Экзамен по информатике длится 3 часа 55 минут (235 минут). Всего на ЕГЭ школьник должен будет справиться с 27 заданиями, 11 из которых нужно будет выполнять с помощью специального ПО.

    Будьте внимательны: в ЕГЭ по информатике нет привычного разделения на 1-ю и 2-ю части. Ответы на все задания нужно будет записать в одном формате — кратком. Но при этом работа с самого начала экзамена будет проходить за компьютером.

    Также задания делятся по уровням сложности:

    • базовый — 11 заданий;

    • повышенный — 11 заданий;

    • высокий — 5 заданий.

    Как изменится экзамен по сравнению с 2022 годом

    В отличие от ОГЭ, в структуре ЕГЭ по информатике будущих выпускников ждут небольшие перемены:

    • Задание № 6 теперь будет проверять, умеет ли школьник анализировать алгоритм для конкретного исполнителя, а также определять возможные результаты этих алгоритмов.

    • Задание № 22 посвятят параллельному программированию, технологиям организации многопоточных вычислений. Это задание нужно будет выполнять с помощью файла с информацией, необходимой для решения задачи.

    • К списку языков для решения задач по программированию добавили C# и Java.

    Учитывайте эти изменения с 2022 года, когда будете составлять план по подготовке к ЕГЭ по информатике.

    Получай лайфхаки, статьи, видео и чек-листы по обучению на почту

    Альтернативный текст для изображения

    Как оценивают готовые работы на ЕГЭ по информатике

    Теперь давайте разберёмся, какие задания принесут вам больше баллов, а какие — меньше. Это поможет, если у вас мало времени, и нужно планировать подготовку к ЕГЭ по информатике с нуля.

    Если вы верно решите задания № 1–25, то получите по 1 баллу за каждое. При этом правильным ответом будут считать тот, который записан в нужной форме по инструкции в условии. Ответ должен полностью совпадать с эталоном.

    Задания № 26 и 27 могут принести вам по 2 балла. Условия те же, что и для № 1–25, — полное совпадение с эталоном. Если же числа перепутаны местами или верное число есть только в одной из ячеек таблицы, за такой ответ вы получите 1 балл. Во всех остальных случаях его оценят в 0 баллов.

    Сколько баллов набрать, чтобы получить 3, 4 и 5 на ЕГЭ по информатике

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

    Будьте внимательны: в таблице ниже мы привели только примерный перевод тестовых и первичных баллов в оценку по пятибалльной шкале. Официально её отменили и больше не используют. Но если вам так проще оценить свои знания, воспользуйтесь таблицей ниже.

    Разбалловка ЕГЭ по информатике в 2023 году
    Оценка по пятибалльной шкале «2» «3» «4» «5»
    Первичные баллы 1–5 6–11 12–17 18–29
    Тестовые баллы 0–39 40–56 57–72 73–100

    5 полезных советов, как подготовиться к ЕГЭ по информатике

    Теперь поговорим о том, что поможет вам как можно лучше сдать экзамен. В этом разделе мы собрали 5 советов от преподавателей Skysmart, которые подскажут, с чего начать подготовку к ЕГЭ по информатике. Пользуйтесь ими, и ваши шансы на высокие баллы вырастут.

    Совет № 1. Начинайте готовиться заранее

    К занятиям лучше приступать до 11 класса, ещё в 10-ом. Тем более, если речь идёт о самостоятельной подготовке к ЕГЭ по информатике с нуля. Так у вас будет больше времени, чтобы охватить все нужные темы. А если вы успеете повторить всё, можно будет направить остаток времени на практику. Она всегда полезна.

    Помните: чем больше материала вам нужно будет освоить в короткий срок, тем больше шансов что-то упустить. А ещё — это большой стресс. И он может повлиять на результаты не только ЕГЭ по информатике, но и других экзаменов в 11 классе. Будьте умнее — грамотно распределяйте время. И тогда ваши усилия принесут плоды.

    Совет № 2. Сочетайте разные методы подготовки

    Самостоятельная подготовка к ЕГЭ по информатике — это отличный метод: она бесплатна и даёт вам больше свободы. Но и её важно правильно организовать. Сделать это самому будет сложно — нужно учесть слишком много переменных. Если хотите, чтобы она действительно принесла пользу, попросите помощи у учителя или репетитора в учебном центре. Он расскажет, как составить эффективный план.

    Но самоподготовка будет ещё полезнее, если сочетать её с другими методами. Не пропускайте уроки информатики в школе — преподаватель может рассказать много важных деталей. Также подумайте о дополнительных занятиях. Например, на курсе подготовки к ЕГЭ по информатике в Skysmart наши учителя расскажут вам всё, что нужно знать об экзамене, и помогут подготовиться по индивидуальному плану. Даже в сжатые сроки, если будет нужно.

    Совет № 3. Не готовьтесь «вслепую»

    Этот совет — продолжение предыдущего. Если вы всё-таки решили готовиться самостоятельно, не стоит скачивать готовые планы в интернете или хаотично повторять темы. Нужно построить систему. Причём ту, которая подойдёт именно вам.

    Первый шаг — узнать, какие у вас есть пробелы в знаниях. Для этого в интернете есть большое количество тестов. Один из них составили мы сами — будущие ученики Skysmart проходят его на бесплатном вводном уроке. Его результаты покажут, на какие темы нужно сделать упор.

    Второй шаг — оценить время на подготовку. Чем больше месяцев до экзамена, тем свободнее будет ваш график и тем больше вы успеете освоить. И наоборот — если осталось всего полгода или меньше, готовиться нужно будет интенсивно.

    Третий шаг — составить план подготовки к ЕГЭ по информатике. У вас уже есть все нужные переменные: темы для изучения, объём практики и срок. Теперь нужно распределить работу по неделям. Не забывайте чередовать методы подготовки — так будет легче усваивать полезную информацию. И обязательно оставьте 1–2 дня для выходных. Отдыхать — это важно.

    Совет № 4. Занимайтесь программированием

    Как видно из спецификации ЕГЭ по информатике, 50% заданий экзамена связаны с программированием. Причём в 10 и 11 классах у ученика есть чуть больше вариантов для выбора языка, чем в 9-м. Так, школьник может решать задачи с помощью:

    • КуМир;

    • C#;

    • C++;

    • Pascal;

    • Java;

    • Python.

    Обратите внимание: не нужно учить все эти языки. Достаточно выбрать только один и освоить его на базовом уровне. Это ваш ключ к решению всех задач на программирование в ЕГЭ по информатике и высоким баллам.

    Какой конкретно язык выбрать — решать только вам. Но если вы колеблетесь с решением, мы кратко расскажем о каждом из них.

    КуМир — школьный алгоритмический язык программирования, который разработали в России. Все его элементы пишутся на русском языке, а сам синтаксис — проще некуда. Поэтому кодить на нём будет легче всего. Но при этом навыки работы с ним никак не пригодятся вам в жизни — им пользуются только школьники на уроках. А потому советуем выбирать его, только если не хотите дальше заниматься программированием.

    C++ — перспективный, но сложный язык программирования. У него не самый дружелюбный синтаксис, а потому мы не советуем учить его для ЕГЭ. Выбирайте его только в том случае, если уже знаете более лёгкие ЯП, например Python.

    C# — более простой «брат» Java. По уровню сложности находится между ним и Python, причём он не менее перспективный. C# считают языком программирования для начинающих, поэтому в 11 классе уже можно начать изучать его. В т. ч. — и для решения ЕГЭ.

    Pascal — лёгкий, но уже бесполезный в 2023 году язык программирования. Да, он поможет вам справиться с заданиями, однако больше нигде не пригодится. Как и в случае с КуМир, выбирайте его тогда, когда не хотите изучать код после школы.

    Java — один из самых популярных языков программирования, который открывает неплохие профессиональные перспективы. По простоте освоения он ближе к среднему уровню, и начать знакомиться с ним можно уже в 11 классе. Хотя, скорее всего, знакомство пройдёт не без сложностей. Но если вам интересно программирование, вы справитесь!

    Python — один из самых лёгких и перспективных языков. Именно с него программисты чаще всего начинают свой путь. Но для него, как и для всех ЯП, кроме КуМир, нужен английский язык, а потому придётся подтянуть его уровень. Выбирайте Python, если хотите дальше погружаться в IT, но нет желания кодить на C++.

    Совет № 5. Пользуйтесь ресурсами для подготовки к ЕГЭ по информатике

    И последняя рекомендация — не игнорируйте блага интернета. В нём собраны тонны лайфхаков, тренировочных заданий и другой полезной информации для подготовки к ЕГЭ по информатике с нуля. Некоторые из них оставляем в таблице ниже.

    Полезные сайты для подготовки к ЕГЭ по информатике
    Официальный сайт ФИПИ Здесь собраны все документы, которые больше расскажут вам об экзамене. Среди них:

    • демоверсия — пример заданий ЕГЭ с ответами и критериями оценки.

    • спецификация — описание структуры экзамена;

    • кодификатор — перечень тем, по которым составлены задания;

    • методические рекомендации — гайд по подготовке от ФИПИ.

    4ЕГЭ Полезный сайт, на котором собраны новости об экзамене, калькуляторы для перевода баллов, разборы заданий демоверсии и другие полезности.
    РешуЕГЭ Портал с тренировочными заданиями ЕГЭ по разным предметам. Это что-то вроде бесплатного пробника — можно решить задания и сразу узнать, сколько баллов вы набрали.
    Открытый банк заданий ЕГЭ Ещё один ресурс с практикой, на этот раз — от ФИПИ. Здесь тоже можно найти актуальные задания ЕГЭ, но уже без проверки.
    Kode Source Огромная библиотека знаний по распространённым языкам программирования. Кроме теории, здесь есть задания для тренировки навыков любого из языков. В том числе тех, которые нужны для ЕГЭ.

    Как именно строить план и какую цель выбрать — решать только вам. Но помните, что лучшая подготовка к ЕГЭ по информатике — это та, которая учитывает все ваши данные. Поэтому важно планировать её с опытным преподавателем. На курсе подготовки к ЕГЭ по информатике в Skysmart мы поможем найти слабые места в ваших знаниях и разобрать самые сложные темы. А ещё — научим заполнять бланки, расскажем о частых ошибках учеников и познакомим с ПО, который встретится на экзамене. Начните с вводного занятия — это бесплатно!

    Сегодня научимся решать 12 задание из ЕГЭ по информатике 2022.

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

    Перейдём к классической задачке из ЕГЭ по информатике 2022.

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

    Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

    1. заменить (v, w)

    2. нашлось (v)

    Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор.
    Дана программа для исполнителя Редактор:

    НАЧАЛО
    ПОКА нашлось (2222) ИЛИ нашлось (666)
      ЕСЛИ нашлось (2222)
        ТО заменить (2222, 6)
        ИНАЧЕ заменить (666, 2)
      КОНЕЦ ЕСЛИ
    КОНЕЦ ПОКА
    КОНЕЦ
    

    Какая строка получится в результате применения приведённой выше программы к строке, состоящей из 239 идущих подряд цифр 6? В ответе запишите полученную строку.

    Решение:

    Решим задачу с помощью программы на Python’е.

    s = '6'*239
    
    while ('2222' in s) or ('666' in s):
        if '2222' in s:
            s = s.replace('2222', '6', 1)
        else:
            s = s.replace('666', '2', 1)
    
    print(s)
    

    Здесь в начале формируется строка, состоящая из 239 шестёрок. Потом эта строка подаётся в программу. Программу переводим с русского языка на язык Питон.

    Третий параметр в функции replace обозначает, что замену нужно производить один раз. Это в точности соответствует предложенной функции заменить.

    Ответ получается 2266.

    Ответ: 2266

    В следующей типовой задаче из ЕГЭ по информатике 2022 нужно сообразить один момент.

    Задача (Нужно сообразить)

    Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

    1. заменить (v, w)
    2. нашлось (v)

    Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Дана программа для исполнителя Редактор:

    НАЧАЛО
      ПОКА нашлось (21) ИЛИ нашлось (31) ИЛИ нашлось (23)
        ЕСЛИ нашлось (21)
          ТО заменить (21, 12)
        КОНЕЦ ЕСЛИ
        ЕСЛИ нашлось (31)
          ТО заменить (31, 13)
        КОНЕЦ ЕСЛИ
        ЕСЛИ нашлось (23)
          ТО заменить (23, 32)
        КОНЕЦ ЕСЛИ
      КОНЕЦ ПОКА
    КОНЕЦ
    

    На вход приведённой ниже программе поступает строка, содержащая 50 цифр 1, 50 цифр 2 и 50 цифр 3, расположенных в произвольном порядке. Запишите без разделителей символы, которые имеют порядковые номера 10, 90 и 130 в получившейся строке.

    Решение:

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

    В строке заведём цифры по порядку: в начале единицы, потом двойки, потом тройки.

    s = '1'*50 + '2'*50 + '3'*50
    
    while ('21' in s) or ('31' in s) or ('23' in s):
        if '21' in s:
            s = s.replace('21', '12', 1)
        if '31' in s:
            s = s.replace('31', '13', 1)
        if '23' in s:
            s = s.replace('23', '32', 1)
    
    print(s[9] + s[89] + s[129])
    

    Чтобы обратится к конкретному символу в строке, используем конструкцию s[позиция символа]. Но нумерация начинается с нуля.

    В ответе запишем 132.

    Ответ: 132

    В следующей примерной задаче из ЕГЭ по информатике 2022 опять используем Питон.

    Задача (Снова программируем)

    Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

    1. заменить (v, w)

    2. нашлось (v)

    Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор.
    Дана программа для исполнителя Редактор:

    НАЧАЛО
    ПОКА нашлось (111)
      заменить (111, 22)
      заменить (222, 11)
    КОНЕЦ ПОКА
    КОНЕЦ
    

    Известно, что исходная строка содержала более 70 единиц и не содержала других цифр. Укажите минимально возможную длину исходной строки, при которой в результате работы этой программы получится строка, содержащая максимально возможное количество единиц.

    Решение:

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

    for i in range(71, 1000):
        s = '1'*i
        while '111' in s:
            s = s.replace('111', '22', 1)
            s = s.replace('222', '11', 1)
    
        print(i, s.count('1'))
    

    Посмотрев результаты, понимаем, что максимальное количество единиц в окончательной строке равно 4. А минимальное количество единиц в изначальной строке, чтобы получилось в итоге 4 единицы, равно 73.

    Ответ: 73

    Ещё один частый гость в тренировочных вариантах из ЕГЭ по информатике 2022.

    Задача (Сумма цифр + непонятный символ)

    Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

    1. заменить (v, w)
    2. нашлось (v)

    Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Дана программа для исполнителя Редактор:

    НАЧАЛО
      ПОКА нашлось (>1) ИЛИ нашлось (>2) ИЛИ нашлось (>3)
        ЕСЛИ нашлось (>1)
          ТО заменить (>1, 22>)
        КОНЕЦ ЕСЛИ
        ЕСЛИ нашлось (>2)
          ТО заменить (>2, 2>1)
        КОНЕЦ ЕСЛИ
        ЕСЛИ нашлось (>3)
          ТО заменить (>3, 1>2)
        КОНЕЦ ЕСЛИ
      КОНЕЦ ПОКА
    КОНЕЦ
    

    На вход приведённой ниже программе поступает строка, начинающаяся с символа «>», а затем содержащая 28 цифр 1, 18 цифр 2 и 35 цифр 3, расположенных в произвольном порядке. Определите сумму числовых значений цифр строки, получившейся в результате выполнения программы. Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 4, то верным ответом было бы число 200.

    Решение:

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

    s = '>' + '1'*28 + '2'*18 + '3'*35
    
    while ('>1' in s) or ('>2' in s) or ('>3' in s):
        if '>1' in s:
            s = s.replace('>1', '22>', 1)
        if '>2' in s:
            s = s.replace('>2', '2>1', 1)
        if '>3' in s:
            s = s.replace('>3', '1>2', 1)
    
    # Находим сумму цифр в строке
    sm=0
    for i in range(0, len(s)):
        if s[i]!='>':
            sm = sm + int(s[i])
            
    print(sm)
    

    Чтобы найти сумму цифр, мы пробегаем по всей строке с помощью цикла range. Если символ не равен «>», то превращаем его в число с помощью функции int() и суммируем в переменную sm.

    Получается 465.

    Ответ: 465

    Задача (Трудно запрограммировать)

    Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

    1. заменить (v, w)
    2. нашлось (v)

    Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Дана программа для исполнителя Редактор:

    НАЧАЛО
      ПОКА нашлось (11)
        ЕСЛИ нашлось(112)
          ТО заменить (112, 5)
          ИНАЧЕ заменить (11, 3)
      КОНЕЦ ПОКА
    КОНЕЦ
    

    Исходная строка содержит 23 единицы и 5 двоек, других цифр нет, точный порядок расположения цифр неизвестен. Какую наибольшую сумму цифр может иметь строка, которая получится после выполнения программы?

    Решение:

    Здесь не важно, по какой ветке будет идти программа, прирост в сумме цифр будет всегда равен 1. Поэтому можно расположить в начале только 1, а затем все двойки в исходной строке.

    Одиннадцать раз символы ’11’ превратятся в ‘3’. Тогда 11 * 3 = 33. Останутся цифры ‘122222’. Их сумма равна 11.

    В ответе получается 33 + 11 = 44.

    Ответ: 44

    Задача (Крепкий орешек)

    Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

    1. заменить (v, w)
    2. нашлось (v)

    Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Дана программа для исполнителя Редактор:

    НАЧАЛО
      ПОКА нашлось (01) или нашлось (02)
        заменить (01, 2202)
        заменить (02, 10)
      КОНЕЦ ПОКА
    КОНЕЦ
    

    Известно, что начальная строка начиналась с нуля, а далее содержала только единицы и двойки. После выполнения данной программы получилась строка, содержащая 40 единиц и 64 двойки. Сколько двоек было в исходной строке ?

    Решение:

    Посмотрим, во что превращается 1:

    01 -> 2202 -> 2210

    Посмотрим, во что превращается 2:

    02 -> 10

    Т.е. в окончательном результате двойки могли возникнуть только из 1. Двоек получается в два раза больше, чем было изначально единиц.

    Получается, что изначальное количество единиц равно 64 / 2 = 32. Эти 32 единицы так же принесли 32 единицы. Всего 40 единиц стало. Значит, ещё 8 единиц получилось в результате преобразования 02 -> 10. Т.е. двоек будет 8.

    Теперь попробуем решить задачу с помощью программы. Здесь неизвестно количество единиц и двоек. Поэтому придётся создавать вложенные циклы. Предположим, что количество единиц и двоек меньше 100, чтобы программа отработала за адекватное время.

    for i in range(1, 100):
        for j in range(1, 100):
            
            s = '0' + '1'*i + '2'*j
    
            while ('01' in s) or ('02' in s):
                s = s.replace('01', '2202', 1)
                s = s.replace('02', '10', 1)
    
            if s.count('1')==40 and s.count('2')==64:
                print(j)
    

    Получается количество двоек равно восьми.

    Ответ: 8

    Решим задачу про Робота, которая в последнее время редко встречается на экзамене по информатике.

    Задача (Робот)

    Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, состоит из 8 команд. Четыре команды — это команды-приказы:

    При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх , вниз , влево , вправо .

    Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:

    сверху свободно снизу свободно слева свободно справа свободно

    Цикл
       ПОКА условие
           последовательность команд
       КОНЕЦ ПОКА
    выполняется, пока условие истинно.
    В конструкции
    ЕСЛИ условие
        ТО команда1
        ИНАЧЕ команда2
    КОНЕЦ ЕСЛИ
    выполняется команда1 (если условие истинно) или команда2 (если условие ложно)
    

    В конструкциях ПОКА и ЕСЛИ условие может содержать команды проверки, а также слова И, ИЛИ, НЕ, обозначающие логические операции.

    Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится и программа прервётся.

    Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и остановится в закрашенной клетке (клетка F6)?

    НАЧАЛО
      ПОКА снизу свободно ИЛИ справа свободно
        ПОКА справа свободно
            вправо
        КОНЕЦ ПОКА
        ЕСЛИ снизу свободнo
            ТО вниз
        КОНЕЦ ЕСЛИ
      КОНЕЦ ПОКА
    КОНЕЦ
    
    ЕГЭ по информатике 2021 - задание 12 (Лабиринт, где живёт Робот)

    Решение:

    Проанализируем внимательно программу для Робота.

    В программе есть главный цикл, внутри цикла проверяется сначала возможность двигаться вправо. Если есть такая возможность, робот будет двигаться до упора с помощью ещё одного цикла. Потом после того как больше нет возможности двигаться вправо, с помощью основного цикла и записанного условия будет перемещаться вниз, пока есть такая возможность.

    Если нет возможности двигаться ни вправо, ни вниз, то Робот завершает программу.

    Поняв этот алгоритм не сложно отметить те клетки, стартовав с которых, Робот остановится на клетке F6.

    ЕГЭ по информатике 2021 - задание 12 (клетки лабиринта соответствуют требованию)

    Ещё раз, Робот до упору будет двигаться вправо, потом до упору вниз, насколько это возможно. Вот алгоритм в двух словах.

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

    Количество клеток, удовлетворяющие условию будет 21.

    Ответ: 21

    12 Задание из ЕГЭ по информатике 2021 выглядит обычно объёмным, но на деле описываются обычные конструкции (Циклы и условия), которые есть в большинстве языках программирования.

    Задача (Чертёжник)

    Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнить команду сместиться на(a, b), где a, b — целые числа. Эта команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x + a, y + b).

    Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на(2, -3) переместит Чертёжника в точку (6, -1).

    Цикл

    ПОВТОРИ число РАЗ
    последовательность команд
    КОНЕЦ ПОВТОРИ

    означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).

    Чертёжнику был дан для исполнения следующий алгоритм (число повторений и величины смещения в первой из повторяемых команд неизвестны):

    НАЧАЛО
    сместиться на(8, -60)
      ПОВТОРИ ... РАЗ
        сместиться на(..., ...)
        сместиться на(4, -6)
      КОНЕЦ ПОВТОРИ
    сместиться на(-35, -3)
    КОНЕЦ
    

    В результате выполнения этого алгоритма Чертёжник возвращается в исходную точку. Какое наибольшие число повторений могло быть указано в конструкции «ПОВТОРИ … РАЗ» ?

    Решение:

    Эта задача похоже на задачу Кузнечик, которую рассматривали в 5 задании.

    Напишем для переменной x уравнение.

    8 + n * x + n * 4 — 35 = 0

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

    n — положительное целое число, количество повторений.

    x — целое число, смещение по координате x.

    n * x + n * 4 = 27

    n * ( x + 4 ) = 27

    Нужно подобрать x и n, чтобы равенство было верным.

    Число n может быть 27, 9, 3, 1. Нам нужно выбрать число n, как можно больше.

    Проверим число 27! Тогда выражение x + 4 = 1 => x = -3. Теперь нужно проверить это число для координаты y.

    -60 + n * yn * 6 — 3 = 0

    27 * y27 * 6 = 63

    27 * ( y — 6 ) = 63

    Видим, что нельзя подобрать такое целое число для 27, чтобы при умножении получалось 63.

    Проверим число 9! Тогда выражение x + 4 = 3 => x = -1. Теперь нужно проверить это число для координаты y.

    -60 + n * yn * 6 — 3 = 0

    9 * y9 * 6 = 63

    9 * ( y — 6 ) = 63

    Видим, что можно подобрать такое целое число для 9, чтобы при умножении получалось 63. Это число 7. Значит, y — 6 = 7 => y = 13

    Мы подобрали все нужные числа и нашли наибольшее число n=9.

    Ответ: 9

    Некоторые формулировки задач были взяты с сайтов:

    https://kpolyakov.spb.ru/
    https://inf-ege.sdamgia.ru/

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

    почему 5-ую задачу сложно запрограммировать? тут ведь тоже произвольный порядок
    я пробовал в программе ставить сначала единицы, а потом двойки и наоборот — сначала двойки а потом единицы
    печатаю s и суммирую цифры
    получается везде 44

    Если бы сама программа была немного другая, то могло и не получится. Т.е. тут нужно самостоятельно провести анализ, при каком расположении цифр сумма будет максимальной.

    Обожаю ваш сайт! Спасибо за пояснение усложненных задач.

    Понравилась статья? Поделить с друзьями:
  • Сложносочиненное предложение егэ задания
  • Сложноподчиненные предложения с несколькими придаточными егэ
  • Сложноподчиненное предложение 11 класс конспект подготовка к егэ урока
  • Сложное соцветие егэ
  • Сложное предложение со словом экзамен