Присоединиться

11 класс·высокий уровень

На вход программе подаётся 31 строка. Строки содержат информацию о

Условие

На вход программе подаётся 31 строка. Строки содержат информацию о дневных и ночных температурах декабря 2008 года. Формат каждой из строк следующий: сначала записана дата в виде dd (на запись номера дня в числовом формате отводится строго два символа), затем через пробел записаны значения дневной и ночной температур — числа со знаком плюс или минус. Даты вводятся в порядке возрастания. Требуется написать программу, которая будет выводить на экран информацию о периодах непрерывного повышения среднесуточной температуры. Найденные значения для каждого из периодов следует выводить в отдельной строке в виде: номер первого дня периода, номер последнего дня периода, значение среднесуточной температуры за период. Критерии оценивания выполнения задания | Баллы | Программа работает для любых входных данных. Программа просматривает входные данные один раз. Допускается наличие в тексте программы одной синтаксической ошибки: пропущен или неверно указан знак пунктуации, неверно написано или пропущено зарезервированное слово языка программирования, не описана или неверно описана переменная, применяется операция, недопустимая для соответствующего типа данных (если одна и та же ошибка встречается несколько раз, то это считается за одну ошибку). | 4 | Программа работает верно. Допускается наличие от одной до трех синтаксических ошибок. Возможно, в принципиально верно организованном вводе данных есть одна ошибка (например, использование read вместо readln в Паскале или неверное считывание строки в C++). Три балла также выставляется, если в эффективной программе, удовлетворяющей критериям выставления 4 баллов, есть одна ошибка, в результате которой программа работает неверно на некоторых наборах нетипичных входных данных. | 3 | Программа работает в целом верно, эффективно или нет, но в реализации алгоритма содержится до двух ошибок (неверная инициализация счётчиков, допущена ошибка в принципиально верно организованной сортировке или алгоритме поиска минимальных элементов, используется знак “<” вместо “<=”, “or” вместо “and” и тому подобное). Возможно, некорректно организовано считывание входных данных. Допускается наличие от одной до пяти синтаксических ошибок, описанных выше | 2 | Программа, возможно, неверно работает при некоторых входных данных, но по приведённому тексту решения ясно, что экзаменуемый понимает, из каких этапов должно состоять решение задачи. При использовании сортировки она может быть реализована принципиально неверно (например, вместо двух циклов используется один), или допущена принципиальная ошибка в поиске нужных элементов. Всего допускается до 4 различных ошибок в реализации алгоритма, в том числе описанных в критериях присвоения двух баллов. Допускается наличие от одной до семи синтаксических ошибок, описанных выше. | 1 | Задание не выполнено или выполнено неверно. | 0 | Максимальный балл | 4 |

Формат задания

Развёрнутый ответ: короткого ответа здесь нет — оценивается само рассуждение. Разбор откроется после входа.

Решение по шагам

  1. Как рассуждать

    Решение. const N=31;type day = recordd : integer;s : real;end;var days : array[1..N] of day;tl,t2,s : real;i,k : integer;beginfor i:=l to N dobeginreadln(days[i].d,tl,t2);days[i].s:=(tl+t2)/2;end;i:=l;while i < N dobeginif days[i].s<days[i+1].s thenbegins:=days [i].s;k:=i;repeati:=i+l;s:=s+days[i].s;if i=N then break;until days[i].s>=days[i+1].s;writeln (k,'-',i,s/(i-k+1));end;i:=i+l;end;end.

Осталось ещё 1 шаг

  1. Полный разбор с проверкой ответа

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Обработка символьных строк»