РЕШУ ЕГЭ — Предэкзаменационная работа 2014 по информатике.
При выполнении заданий с кратким ответом впишите в поле для ответа цифру, которая соответствует номеру правильного ответа, или число, слово, последовательность букв (слов) или цифр. Ответ следует записывать без пробелов и каких-либо дополнительных символов. Дробную часть отделяйте от целой десятичной запятой. Единицы измерений писать не нужно.
Если вариант задан учителем, вы можете вписать или загрузить в систему ответы к заданиям с развернутым ответом. Учитель увидит результаты выполнения заданий с кратким ответом и сможет оценить загруженные ответы к заданиям с развернутым ответом. Выставленные учителем баллы отобразятся в вашей статистике.
Версия для печати и копирования в MS Word
Программист писал программу, для определения количества цифр в целом положительном числе, не большем 109. Программист торопился, и допустил ошибку. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
| Бейсик | Паскаль |
|---|---|
DIM N AS LONG INPUT N sum = 1 WHILE N > 1 N = N \ 10 sum = sum + 1 WEND PRINT sum END | var N: longint; sum: integer; begin readln(N); sum := 1; while N > 1 do begin N := N div 10; sum := sum + 1; end; writeln(sum); end. |
| Си++ | Алгоритмический |
#include <iostream> using namespace std; int main() { long int N; int sum; cin >> N; sum = 1; while (N > 1) { N = N / 10; sum = sum + 1; } cout << sum << endl; } | алг нач цел N, sum ввод N sum := 1 нц пока N > 1 N := div(N, 10) sum := sum + 1 КЦ вывод sum КОН
|
| Python | |
n = int(input()) sum = 1 while n > 1: n //= 10 sum += 1 print(sum) | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 578.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Укажите все строки (одну или более), содержащие ошибки, и для каждой такой строки приведите правильный вариант. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
3. Укажите одно число для которого эта программа будет работать верно.
На следующей странице вам будет предложено проверить их самостоятельно.
Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести максимальное значение среди двузначных элементов массива, не делящихся на цифру старшего разряда. Если в исходном массиве нет элемента, значение которого является двузначным числом и при этом не кратно цифре старшего разряда данного числа, то выведите сообщение «Не найдено».
Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
| Бейсик | Паскаль |
|---|---|
N = 20 DIM A(N) AS INTEGER DIM I, J, MAX AS INTEGER FOR I = 1 TO N INPUT A(I) … END | const N = 20; var a: array [1..N] of integer; i, j, max: integer; begin for i := 1 to N do readln(a[i]); … end. |
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; #define N 20 int main() { int a[N]; int i, j, max; for (i = 0; i < N; i++) cin >> a[i]; … } | алг нач цел N = 20 целтаб a[1:N] цел i, j, max нц для i от 1 до N ввод a[i] КЦ … КОН |
| Python | |
# допускается также # использовать три # целочисленные переменные j, p, max a = [] n = 20 for i in range(0, n): a.append(int(input())) ... | |
На следующей странице вам будет предложено проверить их самостоятельно.
Две подруги, Катя и Ира, играют в следующую игру. Перед подругами лежит куча камней. Девушки ходят по очереди, первый ход делает Катя. За один ход девушка может добавить в кучу один или два камня или увеличить количество камней в куче в два раза. Например, имея кучу из 10 камней, за один ход можно получить кучу из 11, 12 или 20 камней. У каждой девушки, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится не менее 35. Победителем считается девушка, сделавшая последний ход, то есть первым получивший кучу, в которой будет 35 или больше камней.
В начальный момент в куче было S камней, 1 ≤ S ≤34.
Будем говорить, что девушка имеет выигрышную стратегию, если она может выиграть при любых ходах противника. Описать стратегию подруги — значит, описать, какой ход она должна сделать в любой ситуации, которая ей может встретиться при различной игре противника.
Выполните следующие задания. Во всех случаях обосновывайте свой ответ.
1. а) Укажите все такие значения числа S, при которых Катя может выиграть в один ход. Обоснуйте, что найдены все нужные значения S, и укажите выигрывающий ход для каждого указанного значения S.
б) Укажите такое значение S, при котором Катя не может выиграть за один ход, но при любом ходе Кати Ира может выиграть своим первым ходом.
Опишите выигрышную стратегию Иры.
2. Укажите два таких значения S, при которых у Кати есть выигрышная стратегия, причём (а) Катя не может выиграть за один ход и (б) Катя может выиграть своим вторым ходом независимо от того, как будет ходить Ира.
Для каждого указанного значения S опишите выигрышную стратегию Кати.
3. Укажите значение S, при котором:
– у Иры есть выигрышная стратегия, позволяющая ей выиграть первым или вторым ходом при любой игре Кати, и
– у Иры нет стратегии, которая позволит ей гарантированно выиграть первым ходом.
Для указанного значения S опишите выигрышную стратегию Иры. Постройте дерево всех партий, возможных при этой выигрышной стратегии Иры (в виде рисунка или таблицы). На рёбрах дерева указывайте, кто делает ход; в узлах — количество камней в куче.
На следующей странице вам будет предложено проверить их самостоятельно.
В цветочных лавках продают три вида роз (белые, красные и желтые). В городе N была проведена оценка цены роз. Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять для каждого вида роз, сколько лавок продают их дешевле всего.
На вход программе в первой строке подается число данных N о стоимости роз. В каждой из последующих N строк находится информация в следующем формате:
<Компания><Улица><Вид><Цена>
где <Компания> — строка, состоящая не более, чем из 20 символов без пробелов, <Улица> — строка, состоящая не более, чем из 20 символов без пробелов, <Вид> — символ Б, К или Ж, <Цена> — целое число в диапазоне от 100 до 500, обозначающее стоимость одной розы.
<Компания> и <Улица>, <Улица> и <Вид>, а также <Вид> и <Цена> разделены ровно одним пробелом.
Пример входной строки:
ТоргЦвет Садовая Ж 225
Программа должна выводить через пробел 3 числа – количество лавок, продающих дешевле всего белые, красные и желтые розы соответственно. Если роза какого-то вида нигде не продается, то следует вывести 0.
Пример выходных данных:
7 5 0
На следующей странице вам будет предложено проверить их самостоятельно.