Экзамены и диагностики

2 886 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Исполнитель Громозека выполяет некоторые действия с числом на экране. Громозека знает всего три команды, которым присвоены номера:
1. Прибавить 1
2. Прибавить 2
3. Умножить на 3
Программа для исполнителя Громозека – это последовательность команд. Сколько существует программ, для которых при исходном числе 3 результатом является число 15 и при этом траектория вычислений содержит число 11? 
Исполнитель Громозека выполяет некоторые действия с числом на экране. Громозека знает всего три команды, которым присвоены номера:
1. Прибавить 1
2. Прибавить 3
3. Прибавить 5
Программа для исполнителя Громозека – это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 15 и при этом траектория вычислений содержит число 7? 

На электронную почту пришло письмо, подписанное аббревиатурой (первыми буквами фамилии, имени и отчества (далее - ФИО) отправителя). Аббревиатура оказалась незнакома. Есть список всех предполагаемых отправителей, взятый из ранее полученных писем, среди которых различных людей с такой аббревиатурой не больше 10.
Предлагается написать эффективную, в том числе по используемой памяти, программу, которая определит всех вероятных адресатов – людей, ФИО которых можно сократить до нужной аббревиатуры. ФИО следует выдать в порядке убывания частоты их встречаемости в списке.
На вход программе в первой строке подается аббревиатура (строка, состоящая из трех заглавных латинских букв). Во второй строке находится число N – количество ФИО, полученных в результате анализа почты, не все из них подходят под указанную аббревиатуру. Значение N может быть очень велико. В каждой из следующих N строк записано три слова: фамилия, имя, отчество соответствующего человека. Слова разделяются одним пробелом. В конце и в начале строки пробелов нет. Все слова записаны заглавными латинскими буквами. Длина ФИО не превышает 100 символов. Гарантируется, что, хотя бы один человек с нужной аббревиатурой есть.

Пример входных данных
IPI
4
IVANOV PETR IVANOVICH
PETROV IVAN IVANOVICH
IVANOV PETR IVANOVICH
ILYIN PETR ILYICH

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

Пример выходных данных для приведенного выше примера входных данных
IVANOV PETR IVANOVICH 2
ILYIN PETR ILYICH 1
 

На вход программы подается 366 строк, которые содержат информацию о среднесуточной температуре всех дней 2008 года. Формат каждой из строк следующий: сначала записана дата в виде dd.mm (на запись номера дня и номера месяца в числовом формате отводится строго два символа, день от месяца отделен точкой), затем через пробел записано значение температуры — число со знаком плюс или минус, с точностью до 1 цифры после десятичной точки. Данная информация отсортирована по значению температуры, то есть хронологический порядок нарушен. 

Требуется написать программу, которая будет выводить на экран информацию о месяце (месяцах), среднемесячная температура у которого (которых) наименее отклоняется от среднегодовой. Отклонения считаются одинаковыми, если разница между ними по модулю не превышает 0.00001.
В первой строке вывести среднегодовую температуру. Найденные значения для каждого из месяцев следует выводить в отдельной строке.
Формат вывода:
среднегодовая_температура 
номер_месяца значение_среднемесячной_температуры отклонение_от_среднегодовой_температуры

20183#20183
В корзине лежит a красных и b синих шаров. Из корзины наугад вынимают n шаров. Требовалось написать программу, которая определяет количество вариантов такого опыта (вариантом считаем пару чисел: количество вынутых красных и синих шаров). Программист торопился и написал программу неправильно: 

Паскаль Си
var n,a,b:integer;
begin
  readln(n, a, b);
  if a + b < n then writeln(0)
  else
    if a < b then
      if a < n then writeln(a+1)
    else
    if b < n then writeln(b+1)
    else writeln(n+1);
end.
#include<stdio.h>
main()
{
  int n,a,b;
  scanf("%d%d%d",&n,&a,&b);
  if (a + b < n) printf("0\n");
  else
    if (a < b) 
      if (a < n) printf("%d\n",a+1);
    else
    if (b < n) printf("%d\n",b+1);
    else printf("%d\n",n+1);
}

Последовательно выполните следующее:
1.       Определите, что выведет программа при n = 5, a = 3, b = 6 (выполните задание устно).
2.       Укажите значения n, a, b, при которых программа выдаёт неправильный ответ (выполните задание устно).
3.       Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы.

Доработанную программу прикрепите к ответу.

20142#20142
Для какого названия города истинно высказывание:
(Первая буква гласная /\ Последняя буква гласная) ~  Название содержит букву «м»)?
Знаком ~ обозначается операция эквивалентности (результат X ~ Y – истина, если значения X и Y совпадают).
1) Москва          2) Дюссельдорф            3) Амстердам  4) Атланта
20141#20141
Для какого названия станции метро истинно высказывание:
(Первая буква согласная Вторая буква согласная) ~  Название содержит букву «л»)? 
Знаком ~ обозначается операция эквивалентности (результат X ~ Y – истина, если значения X и Y совпадают).
1) Маяковская           2) Отрадное                     3) Волжская           4) Комсомольская
20137#20137
Для какого названия реки ложно высказывание:
 (Вторая буква гласная  → Предпоследняя буква согласная) /\   Первая буква стоит в алфавите раньше третьей?
1) ДУНАЙ           2) МОСКВА                       3) ДВИНА           4) ВОЛГА
20135#20135
Для какого имени истинно высказывание:
 (Первая буква согласная  → Вторая буква гласная) /\   Последняя буква согласная?
1) АЛИСА              2) МАКСИМ                3) СТЕПАН                    4) ЕЛЕНА
20134#20134
Для какого слова истинно высказывание:
¬ (Первая буква согласная  → (Вторая буква согласная \/   Последняя буква гласная))?
1) ГОРЕ                2) ПРИВЕТ                          3) КРЕСЛО          4) ЗАКОН
20133#20133
Для какого имени истинно высказывание:
¬ (Последняя буква гласная  → Первая буква согласная) /\   Вторая буква согласная?
1) ИРИНА           2) АРТЁМ                           3) СТЕПАН          4) МАРИЯ
20131#20131
Для какого имени истинно высказывание:
¬ (Первая буква согласная  → Последняя буква согласная) /\   Вторая буква согласная?
1) ИРИНА           2) СТЕПАН                          3) КСЕНИЯ          4) МАРИЯ
Поделиться
Класснуть