Информатика задачи на C++: 1.Ежедневно вам приходит огромное количество писем с предложениями по улучшению города. Вы - справедливый и мудрый Мэр, поэтому стараетесь прислушиваться к мнению горожан, и раз в месяц выбираете лучшее предложение из всех, чтобы воплотить его в жизнь. За это вас и любят горожане: и старики, и молодежь, и даже дети. И каждый хочет сделать свой город лучше.
Аналитики разобрали гору писем и сформировали список из C предложений. В этом списке они указали возраст горожанина age и годовой доход income в сентиннеалях от его предприятия. Взглянув на сводную таблицу предложений, вы, конечно, сразу поняли, что не ко всем стоит прислушиваться.
Предложения детей (1<=age<=12) рассматривать бессмысленно, а предложения более взрослых людей (30<=age) имеют преимущество перед предложениями молодежи (13<=age<=29) (в силу огромного жизненного опыта).
Ваша задача - выбрать предложение от гражданина с наибольшим доходом. При этом если доход представителя молодежи не превышает доход представителя старшего поколения хотя бы на сто тысяч сентиннеалей в год, то предпочтение отдается предложению представителя старшего поколения.
К примеру, между предложением 19-летнего Джексона с доходностью 200 000 сентиннеалей и 60-летнего Мюррея с доходностью 120 000 сентиннеалей, выберут Мюррея (да, его предприятие на 80 тысяч менее доходно, но у него же опыт!). А из предложений Мюррея и 20-летней Элис с доходностью 250 000 сентиннеалей, выберут Элис, потому что доходность её предложения на 130 тысяч больше, чем у Мюррея.
2.Выбрав, наконец, лучшее предложение, вы увидели новые письма, лежащие на вашем рабочем столе. Наверху стопки была яркая, разрисованная бумага, на которой детским почерком была написана мечта о проведении большого праздника для всего Космополиса. Яркие картинки навели вас на мысль, что доход не является самой главной целью, и вы решили провести у себя в городе ряд фестивалей, чтобы все жители могли отдохнуть и насладиться жизнью в Космополисе!
Министр культуры определил, что фестивали можно проводить только в субботу 5-го или субботу 6-го числа любого месяца, а также в четверг каждого числа, кратного n (n меняется от года к году), любого месяца.
Необходимо определить все возможные даты проведения фестивалей на ближайший год, если первое января был k-ый день недели (где k=1 - понедельник, а k=7 - воскресенье).
3.Построив множество предприятий, проведя образовательную, технологическую и культурную реформы, вы пришли к необходимости расширения вашего Космополиса до нового уровня. После многих совещаний и огромной бюрократической волокиты вам удаётся присоединить две новые области к вашему городу: доход первой составляет 100 тысяч сентиннеалей в год, а доход второй - 200 тысяч. При этом, у вас имеется план по развитию этих областей.
Каждый год вы собираете общих доход с двух областей и все собранные деньги вкладываете в менее доходную из них, увеличивая её размер и доходность. При этом к концу следующего года она принесёт столько денег, сколько было в неё вложено. Так, к концу первого года вы собираете 300 тысяч сентиннеалей и уже через год у вас есть две области: одна приносит 200 тысяч, а другая (модернизированная) - 300 тысяч сентиннеалей.
Рассчитайте, какая доходность будет у крупнейшей из двух областей спустя L лет при условии ежегодной модернизации, а также каков суммарный доход, приносимый областями за все L лет?
Решение.
15.1 Следующий алгоритм выполнит требуемую задачу.
нц
пока справа свободно
закрасить
вправо
кц
нц
пока снизу свободно
закрасить
вниз
кц
закрасить
нц
пока не (снизу свободно)
влево
кц
вниз
нц
пока не (справа свободно)
закрасить
вниз
кц
закрасить
вправо
нц
пока не (сверху свободно)
закрасить
вправо
кц
15.2 Решение
var a, s: integer;
begin
s: = 0;
readln(a);
while a<>0 do begin
if (a mod 8=0) and (a mod 10 = 6) then
s : = s + a;
readln(a);
end;
writeln(s)
end.
Для проверки правильности работы программы необходимо использовать следующие тесты:
Входные данные Выходные данные
1
8
6
10
0
0
2
16
0
16
3
16
96
5
0
112
Спрятать критерии
Критерии проверки:
Критерии оценивания выполнения задания 15.
Алгоритм правильно работает при всех допустимых исходных данных 2
При всех допустимых исходных данных верно следующее:
1) выполнение алгоритма завершается, и при этом Робот не разбивается;
2) закрашено не более 10 лишних клеток;
3) остались незакрашенными не более 10 клеток из числа тех, которые должны были быть закрашены
1
Задание выполнено неверно, т. е. не выполнены условия, позволяющие поставить 1 или 0
Максимальный 2
Критерии оценивания выполнения задания 15.
Предложено верное решение. Программа правильно работает на всех приведённых выше тестах. Программа может быть записана на любом языке программирования 2
Программа выдаёт неверный ответ на одном из тестов, приведённых выше. Например, решение, в котором неверно задано условие отбора чисел: (a mod 8=0)or(a mod 10=6), выдаст неправильный ответ на тесте № 1. 1
Программа выдаёт на тестах неверные ответы, отличные от описанных в критерии на 0
Максимальный 2
Теоретический материал (Паскаль)
Понятие двумерного массива. Описание типа массива. Формирование значений элементов массива случайным образом
Одним из основных направлений использования компьютеров является накопление и обработка данных - различных таблиц, справочников, словарей и другой информации. Для представления такой информации в программе удобно использовать массивы. Как правило, обработка таких данных осуществляется по одному и тому же закону, для чего удобно использовать циклические алгоритмы.
Мы уже рассматривали формирование и обработку одномерных массивов. Вспомним, что в массив мы объединяем конечную последовательность компонентов одного типа и даем им общее имя. Каждый отдельный компонент массива называется элементом. Количество элементов называется размером массива. Тип элементов определяет тип массива. Размер и тип массива указываются при его описании, причем размер может быть указан либо конкретным значением, либо ранее определенной константой. Номер элемента называется индексом. Индексы могут быть целыми положительными константами или целыми переменными. Чтобы обратиться к некоторому элементу массива, нужно рядом с идентификатором массива в скобках указать индекс элемента.
Но часто данные могут быть организованы в виде таблицы (матрицы), где расположение каждой переменной определяется номером строки и номером столбца. Например, место в зрительном зале задается указанием номера ряда и номером места в этом ряду. Такие данные удобно описать как двумерный массив. В отличие от одномерного массива каждому элементу двумерного массива соответствует пара индексов. Первый индекс - это номер строки, а второй - номер столбца, где расположен элемент массива.
Размер двумерного массива задается парой чисел: M*N, где M - число строк, а N - число столбцов в таблице.
Пусть задан двумерный массив Matr, имеющий размер 10*20. Этот массив на языке Паскаль может быть описан следующим образом:
Var
Matr : array [1..10,1..20] of integer;