В файле заданы числа по выбору пользователя найти либо максимальное либо минимальное четное число

Обновлено: 01.07.2024

Первым делом переводим 160 в двоичную систему счисления удобным для вас способом. Результат: 10100000. Затем идём по пунктам 1-4 в обратном порядке. 4. Убираем 0, 3. Убираем 0, 2. Убираем 0, 1. Переводим в десятичную систему число 10100 = 20. Так как 20 преобразуется ровно в 160, то нам нужно увеличить число до минимального большего целого числа. Получим 21, это и будет искомое число.

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

Python

Данную задачу можно решать и на компьютере через перебор и на листочке логически. Проще конечно же на компьютере, поэтому берём данный нам код и оборачиваем в цикл с условием n < 2000.

for s in range(1, 2000):

Музыкальный фрагмент был записан в формате моно, оцифрован и сохранён в виде файла без использования сжатия данных. Размер полученного файла – 72 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате стерео (двухканальная запись) и оцифрован с разрешением в 3 раза выше и частотой дискретизации в 4,5 раза меньше, чем в первый раз. Сжатие данных не производилось. Укажите размер файла в Мбайт, полученного при повторной записи.

Решается данная задачи буквальным повторением всех действий с размером файла.
72*2 = 144 (формат стерео) 144 *3 = 432 (разрешение в 3 раза выше) 432/4,5 = 96 (частота дискретизации в 4,5 раз меньше)

Петя составляет шестибуквенные слова перестановкой букв слова АВРОРА. При этом он избегает слов с двумя подряд одинаковыми буквами. Сколько всего различных слов может составить Петя?

В слове АВРОРА 4 повторяющиеся буквы: две А и две Р. Обозначим остальные буквы как *. Четыре буквы АР могут стоять как: АР АР; АР РА; РА АР; РА РА. Сначала возьмём вторую и третью комбинации. В них повторяющиеся буквы обязательно должны быть разделены. Обозначим позиции для ОВ: *А*Р**Р*А*. Количество слов равно число позиций на число свободных букв в периоде = 6 * 2! = 12, для комбинации 3 будет столько же, к ответу прибавляем = 0 + 12 *2 = 24. А теперь возьмём первую и четвёртую. *АР*АР, *АРА*Р, *АРАР*, А*Р*АР, А*РА*Р, А*РАР*, АР*А*Р, АР*АР*, АРА*Р*, **АРАР, А**РАР, АР**АР, АРА**Р, АРАР**, АРАР**, число слов = 15 * 2! = 60, прибавляем к ответу = 24 + 60 = 84

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

Первым делом скачиваем таблицу, затем нужно написать формулу, проверяющую условие =ЕСЛИ(B2<15;1;0) в клетке, находящейся под первым столбцом с температурами, затем просто растягиваем эту клетку на 24 клетки вправо и на 30 вниз. Поля со значением меньше 15 пометятся единицей, остальные примут значение 0. Нам остаётся выделить таблицу с единицами и нулями и посчитать сумму очередной формулой.

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

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

При регистрации в компьютерной системе каждому пользователю выдаётся идентификатор, состоящий из 8 символов, первый и последний из которых – одна из 18 букв, а остальные – цифры (допускается использование 10 десятичных цифр). Каждый такой идентификатор в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт (при этом используют посимвольное кодирование; все цифры кодируются одинаковым и минимально возможным количеством бит, все буквы также кодируются одинаковым и минимально возможным количеством бит). Определите объём памяти в байтах, отводимый этой программой для записи 500 паролей.

Согласно условию, в идентификаторе могут быть использованы 18 букв. Известно, что с помощью N бит можно закодировать 2^N различных вариантов. Поскольку 2^4 < 18 < 2^5, то для записи каждой из 18 букв необходимо 5 бит. Аналогично для цифр 2^3 < 10 < 2^4 для записи каждой из 10 цифр необходимо 4 бита.
Для хранения всех 8 символов идентификатора нужно 5·2 + 4·6 = 34 бита, а так как для записи используется целое число байт, то берём ближайшее не меньшее значение, кратное восьми: это число 40 = 5·8 бит (5 байт).
Тогда 500 идентификаторов занимают 5·500 = 2500 байт.

Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
1. заменить (v, w)
2. нашлось (v)
Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Дана программа для исполнителя Редактор:
НАЧАЛО
ПОКА нашлось (222)
заменить (222, 1)
заменить (111, 2)
КОНЕЦ ПОКА
КОНЕЦ
Какая строка получится в результате применения приведённой программы к строке вида 1…12…2 (2019 единиц и 2119 двоек)?

Каждую итерацию число единиц и двоек уменьшается на 2, так как три двойки заменяются на 1 и три единицы заменяются на 2, значит сначала можно вычесть 2018 из числа единиц и двоек (2018 - максимальное число, кратное 2, которое является меньше числа единиц). Получим 1 единицу и 101 двойку. Теперь нужно найти сколько единиц получится при замене двоек с помощью функции. Ближайшее число меньше 101 и кратное 3 равно 99. 99/3 = 33 - столько единиц будет добавлено. Получается 34 единицы и 2 двойки. Сейчас повторяем то же действие, только с единицами. 33 / 3 = 11.
1 единица и 13 двоек. Делаем так, пока не останутся числа, не кратные 3: 5 единиц 1 двойка, 2 единицы 2 двойки.
Но можно решить и программой:
one = 2019
two = 2119
while True:
----if one > 2:
--------one -= 3
--------two += 1
----if two > 2:
--------two -= 3
--------one += 1
----if two <= 2 and one <= 2:
--------break
for i in range(one):
----print("1", end = "")
for i in range(two):
----print("2", end = "")

Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи. Пример решения.
Решены задачи 3,7-9. Не решены: 1,2,4-6,10-34.

Задачи

Z3.4. В компьютер по очереди поступают результаты спортсменов-участников соревнований по лыжным гонкам, уже пришедших к финишу (время, затраченное на прохождение дистанции гонки). Выводить на экран лучший результат после ввода результата очередного спортсмена.

Z3.5. Известны расстояния от Москвы до нескольких городов. Найти расстояние от Москвы до самого удаленного от нее города из представленных в списке городов.

Z3.6. Известны максимальные скорости каждой из 20 марок легковых автомобилей. Определить, какую максимальную скорость имеет самый быстрый автомобиль.

Z3.7. Даны площади нескольких кругов. Найти радиус самого маленького из них.

Z3.8. Даны площади нескольких квадратов. Найти длину диагонали самого большого из них.

Z3.9. Известны данные о количестве людей, живущих в квартире № 1, в квартире № 2 и т. д. В какой квартире больше всего жильцов? Если таких квартир несколько, то должна быть найдена квартира с максимальным номером.

Z3.10. Известны результаты каждого из участников Кубка мира по лыжным гонкам (время, затраченное на прохождение дистанции гонки). Спортсмены стартовали по одному. Результаты даны в том порядке, в каком спортсмены стартовали. Определить, каким по порядку стартовал лыжник, показавший лучший результат? Если таких спортсменов несколько, то должен быть найден первый из них.

Z3.11. Известно количество очков, набранных футбольными командами в чемпионате РПЛ. Какая команда (определить ее номер) набрала наименьшее количество очков? Если таких команд несколько, то должна быть найдена первая из них.

Z3.12. Известны данные о количестве осадков, выпавших за каждый день месяца. Какого числа выпало самое большое количество осадков? Если таких дней несколько, то должна быть найдена дата последнего из них.

Z3.13. В некоторых видах спортивных состязаний (например, в фигурном катании) выступление каждого спортсмена независимо оценивается несколькими судьями, затем из всей совокупности оценок удаляются наиболее высокая и наиболее низкая, а для оставшихся оценок вычисляется среднее арифметическое, которое и идет в зачет спортсмену. Если наиболее высокую оценку выставили
несколько судей, то из совокупности оценок удаляется только одна такая оценка; аналогично поступают и с наиболее низкими оценками. Составить программу для расчета оценки, которая пойдет в зачет этому спортсмену.

Z3.14. Известен рост каждого человека из группы. На сколько рост самого высокого из них превышает рост самого низкого?

Z3.15. Известно число учеников в каждом из 20 классов школы. На сколько численность самого большого (по числу учеников) класса превышает численность самого маленького класса?

Z3.18. Известны данные о массе (в кг) и объеме (в см 3 ) 30-ти тел, изготовленных из различных материалов. Определить максимальную плотность материала.

Z3.20. Известны длины участков пути (в км), которые проехали 25 легковых автомобилей, и время, затраченное каждым из них (в часах). Определить порядковый номер автомобиля, имевшего максимальную из средних скоростей движения на участках.

Z3.21. В результате измерений получены напряжения (в вольтах) на зажимах каждого из 20-ти различных электрических сопротивлений, не соединенных друг с другом. Характеристика (в омах) каждого сопротивления известна. Определить порядковый номер сопротивления, по которому проходит минимальный ток.

Z3.24. Известны данные о количестве людей, живущих в квартире № 1, в квартире № 2 и т. д. В каком числе квартир проживает больше всего жильцов? Два цикла ввода данных не использовать.

Z3.25. Известны данные о температуре воздуха в течение месяца. Определить, сколько раз дней за месяц была самая низкая температура. Два цикла ввода данных не использовать.

Z3.26. В последовательности чисел максимальный элемент равен 8 и таких элементов четыре. В конец последовательности дописали число А. Сколько максимальных элементов стало в новой последовательности при A=0 ? При A=8 ?

Z3.28. Дана последовательность из m единиц и нулей. Рассмотреть отрезки этой последовательности (подпоследовательности идущих подряд чисел), состоящие из одних нулей. Получить наименьшую из длин рассматриваемых отрезков.

Z3.31. Известна сумма очков, набранных каждой из 20 команд-участниц чемпионата по футболу. Определить сумму очков, набранных командами, занявшими в чемпионате три первых места.

Z3.34. Решить задачу Z3.33. для случая, когда вместо 20 пар однозначных чисел заданы 20 однозначных или двузначных чисел, запись которых образована цифрами, соответствующими количеству забитых и пропущенных мячей в одной игре. Например, 32 — три забитых, 2 пропущенных; 22 — 2 забитых, 2 пропущенных; 0 — 0 забитых, 0 пропущенных.

Функция Python min() возвращает наименьший элемент в итерации. Его также можно использовать для поиска наименьшего элемента между двумя или более параметрами.

Функция имеет две формы:

С повторяемыми аргументами

Чтобы найти наименьший элемент в итерации, мы используем следующий синтаксис:

Параметры

  • iterable ‒ итерируемый объект, такой как список, кортеж, набор, словарь и т. д.;
  • * iterables (необязательно) ‒ любое количество итераций, может быть более одного;
  • key (необязательно) ‒ ключевая функция, в которую передаются итерации, и выполняется сравнение на основе ее возвращаемого значения;
  • default (необязательно) ‒ значение по умолчанию, если данная итерация пуста.

Как получить наименьший элемент в списке?

Если элементы в итеративном элементе являются строками, возвращается наименьший элемент (упорядоченный в алфавитном порядке).

Пример: Наименьшая строка в списке

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

На примере в словарях

Во второй функции мы передали лямбда-функцию ключевому параметру.

Функция возвращает значения словарей. На основе значений (а не ключей словаря) вычисляется ключ, имеющий минимальное значение.

  • Если мы передаем пустой итератор, возникает исключение ValueError. Чтобы этого избежать, мы можем передать параметр по умолчанию.
  • Если мы передаем более одного итератора, возвращается наименьший элемент из данных итераторов.

Без итерации

Чтобы найти наименьший элемент между двумя или более параметрами, мы можем использовать этот синтаксис:

Параметры

  • арг1 ‒ объект, могут быть числами, строками и т. д.;
  • арг2 ‒ объект, могут быть числами, строками и т. д.;
  • * args (необязательно) ‒ любое количество объектов;
  • key (необязательно) ‒ ключевая функция, в которую передается каждый аргумент, и сравнение выполняется на основе его возвращаемого значения.

По сути, функция min() может найти наименьший элемент между двумя или более объектами.

Как найти минимум среди заданных чисел в Python?

Если вам нужно найти самый большой элемент, вы можете использовать функцию max() в Python.

Функция Python max() возвращает самый большой элемент в итерируемом объекте. Его также можно использовать для поиска самого большого элемента между двумя или более параметрами.

Функция имеет две формы:

1 С повторяемыми аргументами

Чтобы найти самый большой элемент в итерации, мы используем следующий синтаксис:

Параметры

  • iterable ‒ итерируемый объект, такой как список, кортеж, набор, словарь и т. д.;
  • * iterables (необязательно) ‒ любое количество итераций, может быть более одного;
  • key (необязательно) ‒ ключевая функция, в которую передаются итерации, и выполняется сравнение на основе ее возвращаемого значения;
  • default (необязательно) ‒ значение по умолчанию, если данная итерация пуста.

Пример 1: Как получить самый большой элемент в списке в Python?

Если элементы в итерируемом элементе являются строками, возвращается самый большой элемент (упорядоченный в алфавитном порядке).

Пример 2: Самая большая строка в списке

В случае словарей max() возвращает самый большой ключ. Давайте воспользуемся ключевым параметром, чтобы найти ключ словаря, имеющий наибольшее значение.

Пример 3: В словарях

Во второй функции мы передали лямбда-функцию ключевому параметру.

Функция возвращает значения словарей. На основе значений (а не ключей словаря) возвращается ключ, имеющий максимальное значение.

  • Если мы передаем пустой итератор, возникает исключение ValueError. Чтобы этого избежать, мы можем передать параметр по умолчанию.
  • Если мы передаем более одного итератора, возвращается самый большой элемент из данных итераторов.

Без итерации

Чтобы найти самый большой объект между двумя или более параметрами, мы можем использовать этот синтаксис:

Параметры

  • арг1 ‒ объект, могут быть числами, строками и т. д.;
  • арг2 ‒ объект, могут быть числами, строками и т. д.;
  • * args (необязательно) ‒ любое количество объектов;
  • key (необязательно) ‒ ключевая функция, в которую передается каждый аргумент, и сравнение выполняется на основе его возвращаемого значения.

По сути, функция max() находит самый большой элемент между двумя или более объектами.


Продолжаем изучение демонстрационного варианта ЕГЭ по информатике 2022.

В этой статье разберём с 16-ого по 21 задание.

Желаю победы на ЕГЭ по информатике 2022!

Алгоритм вычисления значения функции 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)?

Запрограммируем эту задачу на Python'е.

Формируем функцию F, в точности, как нам предоставили описание. И запускаем функцию с указанным параметром 26.

Проверить чётное ли число n или нет, можно, посмотрев остаток от деления n на 2.


Ответ: 4122

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

Решим задачу на языке Python. Файл должен быть в той же папке, в которой сохранили программу (или нужно прописать полный путь до файла).

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

Считываем в n1 из файла первое число для нашей пары. Затем, формируем цикл for, где в переменную s считывается очередная строчка из файла, начиная со второй (ведь первая уже считалась в n1). Т.е. n1 - первое число из пары, n2 - второе число из пары.

Проверяем с помощью условия, делится ли хотя бы одно число из пары на 3. Если да, то прибавляем единицу к счётчику count. Так же, если выполняется условие, в переменную sm записывается максимальное значение между старым значением переменной sm и суммой очередной пары. Т.е. в переменной sm будет записана максимальная сумма элементов всех пар, которые удовлетворяют условию задачи.

В конце цикла кладём значение n2 в переменную n1, и всё повторяется.


Ответ:

28021990

ЕГЭ по информатике демоверсия 2022 - задание 18 (Решение)

Квадрат разлинован на N × N клеток (1

Отметим особым цветом те ячейки, которые "спрятаны" от движения Робота стенками.


ЕГЭ по информатике демоверсия 2022 - задание 18 (Решение со стенками)

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

Цвет ячейки можно поменять, нажав на кнопку "Цвет заливки" на главной вкладке программы.

Т.к. Робот направляется из левой верхней ячейки, то мы сначала и напишем формулу для этой ячейки. Пишем для ячейки B22:


=МАКС( B21 ; A22 )+ B1

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

Распространим формулу на всё пространство, не трогая закрашенные клетки.

Получается такая картина:


ЕГЭ по информатике демоверсия 2022 - задание 18 (Распространяем формулу 2)

В ячейки для первой закрашенной области, Робот может попасть только сверху! Поэтому пишем формулу для ячейки H25:

Распространяем формулу по всему закрашенному столбцу.

В ячейки для второй закрашенной области, Робот может попасть только слева! Поэтому пишем формулу для ячейки М39:

Распространяем формулу по всей закрашенной строчке.

В правом нижнем углу нашего рабочего пространства получается максимальное количество монет, которое может собрать Робот. В ячейке U41 получается число 721.

Чтобы получить минимальную возможную сумму, в главной формуле функцию МАКС нужно заменить на МИН!

Удобно воспользоваться автоматической заменой через Ctrl+F.


ЕГЭ по информатике демоверсия 2022 - задание 18 (автоматическая замена)

Минимальная сумма равна 640.


Ответ:

721 640

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

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

В начальный момент в куче было S камней, 1 ≤ S ≤ 28.

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

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

Решим задачу с помощью шаблона на языке программирования Python. Если хотите ознакомится с аналитическим решением задач на теорию игр, можете посмотреть мои статьи по 19 Заданию, 20 Заданию, 21 Заданию. Но с помощью шаблонов на экзамене решать быстрее и легче.

Введём параметр p, который будет олицетворять позицию игры (ход).


Начальная позиция Ход Пети Ход Вани Ход Пети Ход Вани Ход Пети
p 1 2 3 4 5 6

Заводим функцию F. Т.к. у нас одна куча, то она принимает параметры: x - количество камней в куче, p-позиция игры.

Дальше описываем победу. Если x>=29 и позиция равна 3 (1 Ход Вани), то возвращаем True, что означает победу.

Если, позиция уже равна 3, но камней меньше, чем должно быть для победы, то возвращаем False (проигрыш).

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

Если мы не вышли на первых трёх условиях, то, значит, продолжаем прокручивать ходы, рекурсивно запускаем функцию F.

Для нечётных p (это ходы Вани), возвращаем разные ходы через and, т.к. он должен побеждать в любом случае. При этом увеличиваем на 1 значение p.

Для чётных p (это ходы Пети), возвращаем ходы через or.

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

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

− Петя не может выиграть за один ход;

− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в ответе в порядке возрастания.

Задача точно такая же, как и в 19 задании, только теперь обязательно должен побежать Петя на своём втором ходу (p=4), при любой игре Вани.

Пишем тот же шаблон, немного отредактировав его.

Получается 7 и 13.


Ответ:

7 13

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

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

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

Если найдено несколько значений S, в ответе запишите минимальное из них.

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

Здесь Ваня должен выигрывать либо на первом своём ходе (p=3), либо на втором своём ходе (p=5).

Т.к. Ваня не должен гарантированно выиграть своим первым ходом, то мы создаём ещё одну функцию F1, похожую на основную функцию F, которая вычисляет, когда Ваня именно гарантированно выигрывает на своём первом ходе (p=3). И, затем, мы из тех чисел, которые получились в первой функции F, исключаем числа, которые получились во второй функции F1.

Читайте также: