ЮТИ ТПУ, Задания по информатике
- Укажите количество верных неравенств среди перечисленных:
101010102 > 25210;
101010102 > 9F16;
101010102 > 2528.
Пояснение.
Переведем все числа в десятичную систему счисления.
101010102 = 17010,
9F16 = 9·16 + 15 = 15910,
2528 = 2·64 + 5·8 + 2 = 17010.
Получившиеся неравенства: 170>252; 170>159; 170>170. Из них верно только одно.
Ответ:1
- Логическая функция Fзадаётся выражением:
(¬x ∧ y) ∨ (y ∧ z).
На рисунке приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F истинна.
Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z.
| Перем. 1 | Перем. 2 | Перем. 3 | Функция |
| ??? | ??? | ??? | F |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 |
В ответе напишите буквы x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу, затем буква, соответствующая второму столбцу, и т. д.) Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Пример. Пусть задано выражение x → y, зависящее от двух переменных x и y, и таблица истинности:
| Перем. 1 | Перем. 2 | Функция |
| ??? | ??? | F |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Тогда 1-му столбцу соответствует переменная y, а 2-му столбцу соответствует переменная x. В ответе нужно написать: yx.
Пояснение.
Выражение равняется 1, если хотя бы одна из двух скобок равна 1. Первая скобка принимает 1 при двух наборах значений переменных: (0, 1, 0), (0, 1, 1). Вторая принимает 1 также при двух наборах значений переменных: (0, 1, 1), (1, 1, 1). Два набора из четырёх совпало, итого имеем три набора: (0, 1, 0), (0, 1, 1), (1, 1, 1). Из набора с единицами выводов о порядке переменных не сделать, в остальных двух y оба раза 1, x оба раза 0. Находим в таблице такие столбцы. Получаем, что нужный порядок: x, y, z.
Ответ:xyz
- Между четырьмя местными аэропортами: ВОСТОРГ, ЗАРЯ, ОЗЕРНЫЙ и ГОРКА, ежедневно выполняются авиарейсы. Приведён фрагмент расписания перелётов между ними:
| Аэропорт вылета | Аэропорт прилета | Время вылета | Время прилета |
| Восторг | Горка | 13:10 | 17:15 |
| Озерный | Заря | 13:00 | 14:30 |
| Озерный | Восторг | 12:10 | 14:20 |
| Горка | Озерный | 11:15 | 15:30 |
| Восторг | Озерный | 12:35 | 14:50 |
| Заря | Озерный | 12:30 | 14:20 |
| Восторг | Заря | 10:30 | 12:15 |
| Заря | Горка | 14:40 | 16:45 |
| Горка | Заря | 15:15 | 17:20 |
| Озерный | Горка | 14:30 | 16:20 |
Путешественник оказался в аэропорту ВОСТОРГ в полночь (0:00). Определите самое раннее время, когда он может попасть в аэропорт ГОРКА.
1) 13:10
2) 16:20
3) 16:45
4) 17:15
Пояснение.
Заметим, что есть прямой рейс из аэропорта ВОСТОРГ в аэропорт ГОРКА (13-10 — 17-15).
Можно лететь с одной пересадкой: ВОСТОРГ-ЗАРЯ (10-30 — 12-15). ЗАРЯ-ГОРКА (14-40 — 16-45). На пересадку у путешественника есть 2 часа 25 минут.
Пересадку в аэропорту ОЗЕРНЫЙ до аэропорта ГОРКА или до аэропорта ЗАРЯ осуществить нельзя, т. к. самолёт ВОСТОРГ-ОЗЕРНЫЙ (12-35 — 14-50), прилетает позже, чем отправляются соответствующие рейсы(время вылета 13-00 и 14-30 соответственно).
Возможен также рейс с двумя пересадками: ВОСТОРГ-ЗАРЯ (10-30 — 12-15), ЗАРЯ-ОЗЁРНЫЙ (12-30 — 14-20), ОЗЁРНЫЙ-ГОРКА (14-30 — 16-20). Время на пересадку на каждом промежуточном пункте не менее 10 минут.
Самое раннее время прибытия 16-20 минут.
Ответ:2
- В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите, сколько всего внуков и внучек есть у Карпец Д. К.
|
|
Пояснение.
Из первой таблицы определяем, что id Карпец Д. К. — 866.
Из второй определяем, что такому id соответствуют id 911 и 938.
Из второй определяем, что id 911 соотвествуют id 879 и 1041, а id 938 — 995 и 1017.
Итого, у Карпец Д. К. 4 внука с id 879, 1041, 995 и 1017.
Ответ:4
- По каналу связи передаются сообщения, содержащие только 4 буквы К, О, Р, А; для передачи используется двоичный код, допускающий однозначное декодирование. Для букв Р, А, К используются такие кодовые слова:
Р: 000, А: 10, К: 01.
Укажите такое кодовое слово для буквы О, при котором код будет допускать однозначное декодирование. Если таких кодовых слов несколько, укажите то, у которого меньшая длина.
1) 1
2) 0
3) 11
4) 001
Пояснение.
Для того, чтобы код можно было однозначно декодировать, необходимо, чтобы выполнялось условие Фано: никакое кодовое слово не должно являться началом другого кодового слова.
Вариант «1» не удовлетворяет условию Фано. Вариант «0» — не удовлетворяет. Вариант «11» удовлетворяет условию Фано. Вариант «001» удовлетворяет условию Фано.
Выбирая из четвёртого и третьего варианта, останавливаемся на третьем, поскольку он короче.
Ответ:3
- У исполнителя Квадр две команды, которым присвоены номера:
- прибавь 1,
- возведи в квадрат.
Первая из этих команд увеличивает число на экране на 1, вторая — возводит в квадрат. Программа для исполнителя Квадр — это последовательность номеров команд.
Например, 22111 — это программа
возведи в квадрат
возведи в квадрат
прибавь 1
прибавь 1
прибавь 1
Эта программа преобразует число 3 в число 84.
Запишите программу для исполнителя Квадр, которая преобразует число 5 в число 2500 и содержит не более 6 команд. Если таких программ более одной, то запишите любую из них.
Пояснение.
Не любое число является квадратом целого числа, поэтому, если мы пойдём от числа 2500 к числу 5, тогда однозначно восстановим программу. Полученные команды будут записываться справа налево.
1) Число 2500 является квадратом числа 50, следовательно, оно было получено с помощью операции 2.
2) Число 50 не является квадратом, значит, оно было получено с помощью операции 1. Отнимем от него 1 и получим число 49.
3) Число 49 является квадратом 7, значит, оно было получено операцией 2.
4) Два раза отнимем от 7 единицу и получим исходное число 5. Мы только что применили два раз операцию, обратную операции 1.
Ответ: 11212.
- В электронной таблице Excel отражены данные по продаже некоторого штучного товара в торговых центрах города за четыре месяца. За каждый месяц в таблице вычислены суммарные продажи и средняя по городу цена на товар, которая на 2 рубля больше цены поставщика данного товара.
| ТЦ | Январь | Февраль | Март | Апрель | ||||
| Продано, штук |
Цена, руб. |
Продано, штук |
Цена, руб. |
Продано, штук |
Цена, руб. |
Продано, штук |
Цена, руб. |
|
| Эдельвейс | 5 | 14 | 1 | 17 | 5 | 15 | 4 | 15 |
| Покупочка | 6 | 13 | 2 | 16 | 6 | 11 | 4 | 14 |
| Кошелек | 2 | 17 | 5 | 14 | 4 | 15 | 1 | 18 |
| Солнечный | 8 | 12 | 7 | 13 | 7 | 11 | 7 | 13 |
| Продано всего | 21 | 15 | 22 | 16 | ||||
| Средняя цена | 14 | 15 | 13 | 15 | ||||
Известно, что весь поступивший от поставщика в текущем месяце товар реализуется в этом же месяце.
В каком месяце выручка поставщика данного товара была максимальна?
Пояснение.
Найдём выручку за продажи в торговых центрах на каждый месяц. В том месяце, где она максимальна, поставщик также получил наибольшую прибыль.
Январь: 21 * 14 = 294,
Февраль: 15 * 15 = 225,
Март: 22 * 13 = 286,
Апрель: 16 * 15 = 240.
Наибольшая прибыль в январе.
- Определите, что будет напечатано в результате работы следующего фрагмента программы:
var n, s: integer;
begin
n := 3;
s := 0;
while n <= 7 do begin
s := s + n;
n := n + 1
end;
write(s)
end.
Пояснение.
Цикл while выполняется до тех пор, пока истинно условие n <= 7, т. е. переменная n определяет, сколько раз выполнится цикл.
Запишем последовательно значения s и n:
s 0 3 7 12 18 25
n 3 4 5 6 7 8
Цикл выполнится пять раз (так как действие n := n + 1 стоит в конце цикла, следовательно, для n=8 действие s := s + n не будет выполняться).
- Документ объёмом 6 Мбайт можно передать с одного компьютера на другой
двумя способами.
А. Сжать архиватором, передать архив по каналу связи, распаковать.
Б. Передать по каналу связи без использования архиватора.
При этом:
- скорость передачи данных по каналу связи составляет 222бит в секунду;
- объём сжатого архиватором документа равен 50% от исходного;
- время, требуемое на сжатие документа, — 6 секунд, на распаковку — 2 секунды.
Какой способ быстрее и на сколько?
В ответе напишите букву А, если быстрее способ А, или Б, если быстрее способ Б. Сразу после буквы напишите, на сколько секунд один способ быстрее другого.
Например, если способ Б быстрее способа А на 23 секунды, в ответе нужно написать Б23.
Единицы измерения «секунд», «сек.», «с» и т. п. к ответу добавлять не нужно.
Пояснение.
Общее время складывается из времени сжатия, распаковки и передачи. Время передачи t рассчитывается по формуле t = Q / q, где Q — объём информации, q — cкорость передачи данных.
Способ А. Найдём сжатый объём: 6 · 0,5 = 3 Мбайт. Переведём Q из Мбайт в биты: 3 Мбайт = 3 · 220 байт = 3 · 223 бит. Найдём общее время: t = 6 с + 2 с + 3 · 223 бит / 222 бит/с = 8 с + 6 с = 14 с.
Способ Б. Общее время совпадает с временем передачи: t = 6 · 223 бит / 222 бит/с = 12 с.
Таким образом, способ Б быстрее на 14 − 12 = 2 с.
Ответ: Б2.
- Сколько существует различных символьных последовательностей длины от трёх до четырёх в четырёхбуквенном алфавите {A, C, G, T}?Пояснение.
Если в алфавите M символов, то количество всех возможных «слов» (сообщений) длиной N равно Q = MN. В нашем случае M = 4, а N = 3 или 4. Следовательно Q = 43 + 44 = 64 + 256 = 320.
Ответ: 320.
- Ниже на пяти языках программирования записана рекурсивная функция (процедура) F.
| Бейсик | Python |
| SUB F(n)
PRINT n, IF n > 2 THEN F(n − 1) F(n − 2) F(n − 3) END IF END SUB |
def F(n):
print (n, end=») if n > 2: F(n − 1) F(n − 2) F(n − 3) |
| Паскаль | Алгоритмический язык |
| procedure F(n: integer);
begin write(n); if n > 2 then begin F(n − 1); F(n − 2); F(n − 3) end end; |
алг F(цел n)
нач вывод n если n > 2 то F(n − 1) F(n − 2) F(n − 3) все кон |
| Си | |
| void F(int n ){
printf(«%d», n); if (n > 2) { F(n − 1); F(n − 2); F(n − 3); } } |
|
Что выведет программа при вызове F(4)? В ответе запишите последовательность выведенных цифр слитно (без пробелов).
Пояснение.
Рассмотрим структуру вызова функций, очередность.
F(4) {
F(3) {
F(2)
F(1)
F(0)
}
F(2)
F(1)
}
Так как число печатается сразу при заходе в функцию, то порядок чисел будет совпадать с порядком вызовов.
Ответ:4321021
- Если маска подсети 255.255.252.0 и IP-адрес компьютера в сети 226.185.90.162, то номер компьютера в сети равен_____Пояснение.
- Так как первые два октета (октет — число маски, содержит 8 бит) оба равны 255, то в двоичном виде они записываются как 16 единиц, а значит, первые два октета определяют адрес сети.
- Запишем число 252 в двоичном виде:
Итого, последние два октета маски записываются как 11111100 00000000
- Запишем последние два октета IP-адреса компьютера в сети:
Итого, последние два октета IP-адреса компьютера в сети записываются так: 01011010 10100010
- Сопоставим последние октеты маски и адреса компьютера в сети:
11111100 00000000
01011010 10100010
Жирным выделена нужная нам часть. Переведем её в десятичную систему счисления:
Ответ:674
- B некоторой стране автомобильный номер длиной 6 символов составляют из заглавных букв (используются только 33 различных буквы) и десятичных цифр в любом порядке. Каждый такой номер в компьютерной программе записывается минимально возможным и одинаковым целым количеством байтов (при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством битов). Определите объём памяти, отводимый этой программой для записи 125 номеров. (Ответ дайте в байтах.)Пояснение.
Согласно условию, в номере могут быть использованы 10 цифр (0..9) и 33 буквы, всего 10 + 33 = 43 символов. Известно, что с помощью N бит можно закодировать 2N различных вариантов. Поскольку 25 < 43 < 26, то для записи каждого из 43 символов необходимо 6 бит.
Для хранения всех 6 символов номера нужно 6 * 6 = 36 бит, а т. к. для записи используется целое число байт, то берём ближайшее не меньшее значение, кратное восьми, это число 40 = 5 * 8 бит (5байт).
Тогда 125 номеров занимают 5 * 125 = 625 байт.
Небольшое дополнение
Почему берется наименьшее значение, кратное 8, если можно записать 4,5 байта?
Каждый номер кодируется целым числом байт.
- Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, включает в себя 4 команды-приказа и 4 команды проверки условия. Команды-приказы:
| вверх | вниз | влево | вправо |
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится, и программа прервётся.
Другие 4 команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:
| сверху свободно | снизу свободно | слева свободно | справа свободно |
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно. В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и остановится в закрашенной клетке (клетка A6)?
НАЧАЛО
ПОКА снизу свободно ИЛИ слева свободно
ЕСЛИ снизу свободно
ТО вниз
ИНАЧЕ влево
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Пояснение.
При выполнении данной программе РОБОТ поступает следующим образом: сперва РОБОТ проверяет, свободна ли клетка слева или снизу от него. Если это так, то РОБОТ переходит к первому действию внутри цикла. В этом цикле если у нижней стороны клетки, в которой находится РОБОТ, нет стены, он двигается вниз, в противном случае он перемещается влево. После этого возвращается к началу внешнего цикла. Проанализировав эту программу, приходим к выводу, что РОБОТ не может разбиться.
Проверив все клетки по выведенному нами правилу движения РОБОТА, выясняем, что число клеток, удовлетворяющих условию задачи равно 21: F1-F6, А6-F6, A3-A5, B1-B5, C1, C2.
Ответ:21
- На рисунке изображена схема дорог, связывающих города A, B, C, D, E, F, G, H, K, L, M. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города A в город M?
Пояснение.
Начнем считать количество путей с конца маршрута – с города М. NX — количество различных путей из города А в город X, N — общее число путей.
В «М» можно приехать из G, H, F, K или L, поэтому N = NМ = NG + NH + NF + N К + N L (1)
Аналогично:
NG = NB + NC;
NH = NC + NF;
NF = NC + NА + ND;
NК = NF + ND + NE;
NL = NE.
Добавим еще вершины:
NB = NA + NC;
NC = NA = 1;
ND = NA= 1;
NE = NА + ND = 2.
Преобразуем вершины:
NB = NA + NC = 2;
NC = NA = 1;
ND = NA= 1;
NE = NА + ND = 2.
NG = NB + NC = 2 + 1 = 3;
NH = NC + NF = 1 + 3 = 4;
NF = NC + NА + ND = 1 + 1 + 1 = 3;
NК = NF + ND + NE = 3 + 1 + 2 = 6;
NL = NE = 2.
Подставим в формулу (1):
N = NМ = 3 + 4 + 3 + 6 + 2 = 18.
Ответ:18
- В системе счисления с некоторым основанием десятичное число 57 записывается как 111. Укажите это основание.Пояснение.
Составим уравнение: 111n = 1 · n2 + 1 · n1 + 1 · n0 = 5710, где n — основание этой системы счисления. Уравнение n2 + n − 56 = 0 имеет два корня: 7 и −8. Таким образом, основание системы счисления — 7.
Ответ: 7.
- В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» — символ «&». В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
| Запрос | Найдено страниц (в тысячах) |
| Швеция | 3200 |
| Финляндия | 2300 |
| Швеция & Финляндия | 100 |
Какое количество страниц (в тысячах) будет найдено по запросу Швеция | Финляндия?
Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.
Пояснение.
По формуле включений и исключений имеем:
m(Швеция | Финляндия) = m(Финляндия) + m(Швеция) — m(Швеция & Финляндия) = 3200 + 2300 — 100 = 5400.
- На числовой прямой даны два отрезка: P = [3, 33] и Q = [22, 44]. Выберите такой отрезок A, что формула
(x ∈ Q) → ((x ∈ P) → (x ∈ A))
тождественно истинна, то есть принимает значение 1 при любом значении переменной х.
1) [2, 20]
2) [10, 25]
3) [20, 40]
4) [25, 30]
Пояснение.
Введем обозначения:
(x ∈А) ≡ A; (x ∈ P) ≡ P; (x ∈ Q) ≡ Q.
Применив преобразование импликации, получаем:
Q → (P → A) ⇔ ¬Q ∨ (P → A) ⇔ ¬Q ∨ ¬P ∨ A.
Логическое ИЛИ истинно, если истинно хотя бы одно утверждение. Условие ¬Q ∨ ¬P = 1 истинно на множестве (−∞, 22) ∪ (33, ∞). Поскольку выражение ¬Q ∨ ¬P ∨ A должно быть тождественно истинным, выражение A должно быть истинным на отрезке [22, 33]. Из перечисленных отрезков только отрезок [20, 40] удовлетворяет этому условию.
Ответ:3
- Значения элементов двумерного массива А были равны 0. Затем значения некоторых элементов были изменены (см. представленный фрагмент программы):
n := 0;
for i:=1 tо 5 do
for j:=1 tо 6-i do begin
n := n + 1;
A[i,j] := n;
end;
Какой элемент массива будет иметь в результате максимальное значение?
1) A[1,1]
2) A[1,5]
3) A[5,1]
4) A[5,5]
Пояснение.
В переменной n накапливается сумма проходов цикла. Это число всё время растёт, следовательно, наибольшим элементом массива будет тот, значение которому будет присвоено последним. Это элемент A[5,1].
Ответ: 3
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, L и M. Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 8.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 1 then
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
Пояснение.
Строчка L:= L + 1; в данной программе считает количество цифр в числе, значит число трехзначное.
При помощи команд if x mod 2 = 1 then M:= M + x mod 10; подсчитывается сумма всех цифр числа x, если оно нечётно. Наименьшее число, удовлетворяющее условию — 107.
Ответ:107
- Определите, какое число будет напечатано в результате выполнения следующего алгоритма (для вашего удобства алгоритм представлен на четырёх языках):
| Бейсик | Паскаль |
| DIM A, B, T, M, R AS INTEGER
A = -20: B = 20 M = A: R = F(A) FOR T = A TO B IF F(T) < R THEN M = T R = F(T) ENDIF NEXT T PRINT R FUNCTION F(x) F = 16 * (9 — x)* (9 — x) + 127; END FUNCTION |
var a,b,t,M,R :integer;
Function F(x:integer):integer; begin F : = 16 * (9 — x)* (9 — x) + 127; end; begin a : = -20; b : = 20; M : = a; R : = F(a); for t : = a to b do begin if (F(t) < R ) then begin M : = t; R : = F(t) end end; write(R); end. |
| Си | Алгоритмический язык |
| #include<stdio.h>
int F(int x) { return 16 * (9 — x)* (9 — x) + 127; } void main() { int a, b, t, M, R; a = -20; b = 20; M = a; R = F(a); for (t = a; t <= b; t++){ if (F(t) < R) { M = t; R = F(t); } } printf(«%d», R); } |
алг
нач цел a, b, t, R, M a : = -20; b : = 20 M : = a; R : = F(a) нц для t от a до b если F(t) < R то M : = t; R : = F(t) все кц вывод R кон алг цел F(цел x) нач знач : = 16 * (9 — x)* (9 — x) + 127 кон |
Пояснение.
- Алгоритм ищет наименьшее значение функции F(t) на интервале от a до b.
- Имеем: , график этой функции – парабола, ветви которой направлены вверх, поэтому функция принимает наименьшее значение в вершине.
- Найдем абсциссу вершины:
как видно, она лежит в нужном интервале.
- Подставим
Ответ:127
- У исполнителя Удвоитель две команды, которым присвоены номера:
- прибавь 1,
- умножь на 2.
Первая из них увеличивает на 1 число на экране, вторая удваивает его.
Программа для Удвоителя — это последовательность команд. Сколько существует программ, которые число 3 преобразуют в число 26?
Пояснение.
Обозначим R(n) — количество программ, которые преобразуют число 2 в число n. Обозначим t(n) наибольшее кратное 2, не превосходящее n. Заметим, что мы можем получить только числа, кратные 2.
Верны следующие соотношения:
- Если n не делится на 2, то тогда R(n) = R(t(n)), так как существует единственный способ получения n из t(n) — прибавлением единиц.
- Пусть n делится на 2. Тогда R(n) = R(n / 2) + R(n − 1)= R(n / 2) + R(n − 2) (если n > 4). При n = 4: R(n) = 1 (один способ: прибавлением единицы), при n = 5: R(n) = 1. Достаточно вычислить значения R(n) для всех чисел, кратных 2 и не превосходящих 26.
Имеем:
R(4)= 1 = R(5),
R(6) = 2 = R(7),
R(8) = R(4) + R(6) = 1 + 2 = 3 = R(9),
R(10) = R(5) + R(8) = 1 + 3 = 4 = R(11),
R(12) = R(6) + R(10) = 2 + 4 = 6 = R(13),
R(14) = R(7) + R(12) = 2 + 6 = 8 = R(15),
R(16) = R(8) + R(14) = 3 + 8 = 11 = R(17),
R(18) = R(9) + R(16) = 3 + 11 = 14 = R(19),
R(20) = R(10) + R(18) = 4 + 14 = 18 = R(21),
R(22) = R(11) + R(20) = 4 + 18 = 22 = R(23),
R(24) = R(12) + R(22) = 6 + 22 = 28 = R(23),
R(26) = R(13) + R(24) = 6 + 28 = 34.
Ответ: 34.
- A, B и С – целые числа, для которых истинно высказывание
¬(А = B) ∧ ((B < A)→(2C > A)) ∧ ((A < B)→(A > 2C))
Чему равно A, если C = 8 и B = 18?.
Пояснение.
Логическое «И» истинно тогда и только тогда, когда истинны оба утверждения.
1) ¬(А = B) = 1, то есть А ≠ 18 = 1.
2) ((B < A)→(2C > A)) Применим преобразование импликации: (18 > A) ∨ (16 > A) = 1
3) (A < B)→(A > 2C) Применим преобразование импликации: (A > 18) ∨ (A > 16) = 1
Из 2) и 3) следует, что (18 > A) и (A > 16), так как в противном случае возникает противоречие А = 17
| Критерии оценивания выполнения задания | Баллы |
| Выполнены все три действия | 3 |
| Правильно выполнены два действия из трёх. При этом при написании операций сравнения допускается одно неправильное использование строгих/нестрогих неравенств (считается несущественной ошибкой, погрешностью записи). Например, вместо «y>=x» один раз используется «y>x». В работе (во фрагментах программ) допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора решения | 2 |
| Правильно выполнено только одно действие из трёх, то есть либо только приведена таблица, которая содержит ошибки в не более чем одной строке, либо таблица не приведена (или приведена и содержит ошибки более чем в одной строке), но исправлена одна ошибка программы. При оценивании этого задания на 1 балл допускается не учитывать корректность работы программ на точках границ областей (вместо нестрогих неравенств в решении были использованы строгие неравенства или наоборот). В работе (во фрагментах программ) допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора решения | 1 |
| Ни один из пунктов задания не выполнен, то есть не выполнены критерии, позволяющие поставить ученику 1 балл | 0 |
| Максимальный балл | 3 |
Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y — действительные числа) и определяет принадлежность точки заштрихованной области (включая границы). Программист торопился и написал программу неправильно. Ниже для Вашего удобства программа представлена на четырёх языках программирования.
| Бейсик | Паскаль |
| INPUT x, y
IF x>=-1 THEN IF y>=-1 THEN IF y<=1 THEN IF x*x+y*y<=1 THEN PRINT «принадлежит» ELSE PRINT «не принадлежит» END IF END IF END IF END IF END |
var x,y: real;
begin readln(x,y); if x>=-1 then if y>=-1 then if y<=1 then if x*x+y*y<=1 then write(‘принадлежит’) else write(‘не принадлежит’); end |
| Си | Алгоритмический |
| #include<stdio.h>
void main() { float x,y; scanf(«%f%f»,&x,&y); if (x>=-1) if (y>=-1) if (y<=1) if (x*x+y*y<=1) printf(«принадлежит»); else printf(«не принадлежит»); } |
алг
нач вещ x,y ввод x,y если x>=-1 то если y>=-1 то если y<=1 то если x*x+y*y<=1 то вывод ‘принадлежит’ иначе вывод ‘не принадлежит’ все все все все кон |
Последовательно выполните следующее.
- Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F, G, H, I). Точки, лежащие на границах областей, отдельно не рассматривать. Координатные оси не являются границами областей. В столбцах условий укажите «да», если условие выполнится, «нет», если условие не выполнится, «—» (прочерк), если условие не будет проверяться, «не изв.», если программа ведёт себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, напишите «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «да» или «нет».
| Область | Условие1 (x>=–1) | Условие 2 (y>=–1) | Условие 3
(y<=1) |
Условие 4 (x*x+y*y<=1) | Программа
выведет |
Область
обрабатывается верно |
| A | ||||||
| В | ||||||
| С | ||||||
| D | ||||||
| Е | ||||||
| F | ||||||
| G | ||||||
| Н | ||||||
| I |
- Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)
Пояснение.
Элементы ответа:
| Область | Условие1 (x>=–1) | Условие 2 (y>=–1) | Условие 3
(y<=1) |
Условие 4 (x*x+y*y<=1) | Программа
выведет |
Область
обрабатывается верно |
| A | нет | — | — | — | — | нет |
| B | да | да | нет | — | — | нет |
| C | нет | — | — | — | — | нет |
| D | да | да | да | нет | не принадлежит | нет |
| E | да | да | да | да | принадлежит | да |
| F | да | да | да | нет | не принадлежит | да |
| G | да | да | да | нет | не принадлежит | нет |
| H | нет | — | — | — | — | нет |
| I | да | нет | — | — | — | нет |
Возможная доработка (Паскаль, отдельно рассматриваем области, лежащие по разные стороны от прямой x=0):
if (x*x+y*y<=1) and (x>=0) or (x<=0) and (x>=-1) and (y<=1) and (y>=-1) then
write(‘принадлежит’)
else write(‘не принадлежит’)
Возможная доработка (Си, объединение двух пересекающихся областей):
if((x*x+y*y<=1) || (x>=-1) && (x<=0) && (fabs(y)<=1))
printf(«принадлежит»);
else
printf(«не принадлежит»);
Обратите внимание! При разделении области вдоль какой-либо линии точки, которые лежат на этой линии внутри области, могут быть причислены к одной части, к другой или к обеим (то есть, например, в приведённом решении на языке Паскаль одно из условий (x>=0 или x<=0) может быть строгим) Могут быть и другие верные способы доработки.
| Критерии оценивания выполнения задания | Баллы |
| Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2 |
| В любом варианте решения может присутствовать не более одной ошибки из числа следующих: 1) не инициализируется или неверно инициализируется переменная; 2) при выводе ответа не учитывается, что требуемого числа в массиве может не быть; 3) отсутствует вывод ответа; 4) в сравнении перепутан знак; 5) неверно осуществляется проверка делимости; 6) на делимость проверяется не значение элемента, а его индекс; 7) в сложном условии вместо логической операции «И» используется логическая операция «ИЛИ»; 8) используется переменная, не объявленная в разделе описания переменных; 9) не указано или неверно указано условие завершения цикла; 10) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно; 11) неверно расставлены операторные скобки | 1 |
| Ошибок, перечисленных в п. 1–11, две или больше, или алгоритм сформулирован неверно | 0 |
| Максимальный балл | 2 |
На пустой шахматной доске в одной из клеток стоит шахматный конь. Опишите на русском языке или на одном из языков программирования алгоритм получения списка клеток, которые конь может достичь за один ход из данной клетки. На вход программы поступают два целых числа: х, у (1 < х,у < 8) — координаты клетки, в которой стоит конь. На выходе программы должен быть выведен список пар целых чисел — координаты клеток, достижимых конём из исходной клетки за один ход.
Пояснение.
Заметим, что разность соответствующих координат клеток соединённых ходом коня, равна 1 и 2 по модулю. Можно использовать данный критерий при переборе клеток доски. Пример программы на языке Паскаль:
var i, j, x, y, d1, d2 : integer;
begin
readln(x, y);
for i := 1 to 8 do
for j := 1 to 8 do
begin
d1 := abs(i-x);
d2 := abs(j-y);
if ((d1=1) and (d2=2)) or ((d1=2) and (d2=1)) then writeln(i, ‘ ‘, j);
end;
end.
| Критерии оценивания выполнения задания | Баллы |
| Не выполнено ни одно из условий, позволяющих поставить 3, 2 или 1 балл. | 0 |
| Не выполнены условия, позволяющие поставить 3 или 2 балла, и выполнено одно из следующих условий. 1. Первое задание выполнено полностью. 2. Во втором задании правильно указано одно из двух возможных значений S и для этого значения указана и обоснована выигрышная стратегия Пети. 3. Первое задание выполнено частично, и для одного из остальных заданий правильно указано значение S. 4. Для второго и третьего задания правильно указаны значения S. | 1 |
| Не выполнены условия, позволяющие поставить 3 балла, и выполнено одно из следующих условий. 1. Задание 3 выполнено полностью. 2. Первое и второе задания выполнены полностью. 3. Первое задание выполнено полностью или частично; для заданий 2 и 3 указаны правильные значения S. | 2 |
| Выполнены второе и третье задания. Первое задание выполнено полностью или частично. Здесь и далее в решениях допускаются арифметические ошибки, которые не искажают сути решения и не приводят к неправильному ответу. | 3 |
| Максимальный балл | 3 |
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может:
добавить в кучу один камень (действие А) или
утроить количество камней в куче, а затем убрать из кучи 2 камня (действие Б).
Например, имея кучу из 10 камней, за один ход можно получить кучу из 11 или 28 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится более 30. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 31 или больше камней.
В начальный момент в куче было S камней, 2 ≤ S ≤ 30.
Говорят, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Выполните следующие задания. Во всех случаях обосновывайте свой ответ.
1.
а) При каких значениях числа S Петя может выиграть первым ходом? Укажите все такие значения и выигрывающий ход Пети.
б) Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом. Опишите выигрышную стратегию Вани.
- Укажите два значения S, при которых у Пети есть выигрышная стратегия, причём (а) Петя не может выиграть первым ходом, но (б) Петя может выиграть своим вторым ходом, независимо от того, как будет ходить Ваня.
Для указанных значений S опишите выигрышную стратегию Пети.
- Укажите такое значение S, при котором
– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети, и при этом
– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Для указанного значения S опишите выигрышную стратегию Вани.
Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы). На ребрах дерева указывайте, кто делает ход, в узлах – количество камней в позиции.
Пояснение.
- а) Петя может выиграть, если S=11, …, 30. При меньших значениях Sза один ход нельзя получить кучу, в которой не менее 31 камня. Пете достаточно увеличить количество камней в 3 раза и отнять два камня (действие Б).
б) Ваня может выиграть первым ходом (как бы ни играл Петя), если исходно в куче будет S = 10 камней. Тогда после первого хода Пети в куче будет 11 камней или 28 камней. В обоих случаях Ваня выполняет действие Б и выигрывает в один ход.
- Возможные значения S: 4, 9. В этих случаях Петя, очевидно, не может выиграть первым ходом. Однако он может получить кучу из 10 камней (при S= 4 он выполняет действие Б; при S= 9 – добавляет 1 камень т. к. выполняет действие А). Эта позиция разобрана в п. 1 б. В ней игрок, который будет ходить (теперь это Ваня), выиграть не может, а его противник (то есть Петя) следующим ходом выиграет.
- Возможное значение S: 8. После первого хода Пети в куче будет 9 камней или 22 камня. Если в куче станет 22 камня, Ваня выполнит действие Б и выиграет своим первым ходом. Ситуация, когда в куче 9 камней, разобрана
в п. 2. В этой ситуации игрок, который будет ходить (теперь это Ваня), выигрывает своим вторым ходом.
В таблице изображено дерево возможных партий при описанной стратегии Вани. Заключительные позиции (в них выигрывает Ваня) подчёркнуты. На рисунке это же дерево изображено в графическом виде (оба способа изображения дерева допустимы).
| Положения после очередных ходов | ||||
| Исх.
полож. |
1‐й ход Пети
(разобраны все ходы) |
1‐й ход
Вани (только ход по стратегии) |
2‐й ход Пети
(разобраны все ходы) |
2‐й ход Вани
(только ход по стратегии) |
| 8 | 8+1 =9 | 9+1=10 | 10+1=11 | 3*11–2=31 |
| 3*10–2=28 | 3*28–2=82 | |||
| 3*8–2=22 | 3*22–2=64 | |||
| Критерии оценивания выполнения задания | Баллы |
| Программа работает для любых входных данных произвольного размера и находит ответ, не сохраняя входные данные в массиве, размер которого соответствует числу N (количеству запросов). Программа просматривает входные данные один раз. Допускается наличие в тексте программы одной синтаксической ошибки: пропущен или неверно указан знак пунктуации, неверно написано или пропущено зарезервированное слово языка программирования, не описана или неверно описана переменная, применяется операция, недопустимая для соответствующего типа данных (если одна и та же ошибка встречается несколько раз, то это считается за одну ошибку). | 4 |
| Программа работает верно, но входные данные запоминаются в массиве, размер которого соответствует числу N. Этот массив, возможно, потом сортируется. Допускается наличие от одной до трех синтаксических ошибок. Возможно, в принципиально верно организованном вводе данных есть одна ошибка (например, использование read вместо readln в Паскале или неверное считывание строки в C++). Три балла также выставляется, если в эффективной программе, удовлетворяющей критериям выставления 4 баллов, есть одна ошибка, в результате которой программа работает неверно на некоторых наборах нетипичных входных данных. | 3 |
| Программа работает в целом верно, эффективно или нет, но в реализации алгоритма содержится до двух ошибок (неверная инициализация счётчиков, допущена ошибка в принципиально верно организованной сортировке или алгоритме поиска минимальных элементов, используется знак “<” вместо “<=”, “or” вместо “and” и тому подобное). Возможно, некорректно организовано считывание входных данных. Допускается наличие от одной до пяти синтаксических ошибок, описанных выше | 2 |
| Программа, возможно, неверно работает при некоторых входных данных, но по приведённому тексту решения ясно, что экзаменуемый понимает, из каких этапов должно состоять решение задачи. При использовании сортировки она может быть реализована принципиально неверно (например, вместо двух циклов используется один), или допущена принципиальная ошибка в поиске нужных элементов. Всего допускается до 4 различных ошибок в реализации алгоритма, в том числе описанных в критериях присвоения двух баллов. Допускается наличие от одной до семи синтаксических ошибок, описанных выше. | 1 |
| Задание не выполнено или выполнено неверно. | 0 |
| Максимальный балл | 4 |
На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет следующий формат: <Фамилия> <Инициалы> <номер школы>, где <Фамилия> — строка, состоящая не более чем из 20 символов, <Инициалы> — строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> — не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки:
Иванов П.С. 57
Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы (школ) было больше всего участников олимпиады.
Пояснение.
var nс:аrrау[1..99] of integer;
р:1..99;
с: char;
i, N, max: integer;
begin
readln(N);
for i:=l to 99 do nc[i]:=0;
for i:=l to N do
begin
repeat
read(c)
until с=’ ‘;
repeat
read(c)
until с=’ ‘;
readln(p);
nc[p]:=nc[p]+1;
end;
max:=0;
for i:=1 to 99 do
if nc[i]>0 then
if nc[i]>max then max:=nc[i];
for i:=l to 99 do
if nc[i]=max then writeln(i);
readln
end.
или напишите нам прямо сейчас:
Здравствуйте. Скажите пожалуйста, планирую поступать в магистратуру на факультет Психологии « Психология личности»в РГГУ скажите пожалуйста, есть ли у вас, ответы на вступительные экзамены? так как, планирую, сделать акцент на бюджет. Спасибо.
Арсений, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Дистанционная помощь в защите ВКР
Анастасия, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте. Нужна срочно практическая часть вкр, третья глава. Скину похожие работы, на которые можно ориентироваться
Александр, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
вкр по теме: экологический туризм России : анализ состояния, проблемы и перспективы
Людмила, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте вы защищаете ВКР?
Ольга, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Написать магистерскую ВКР на тему «Совершенствование логистических бизнес-процессов на примере торговой компании». Не менее 100 страниц.
Миша, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте нужна работа Вкр
Лена, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Написать ВКР 3 раздела Тема строительство строительство жилого дома с применением каркасно-монолитных технологий Антиплагиат от 75% ПЗ и чертежи
Владимир, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.