ЕГЭ. С-4. Pascal

Ответить
Лаций
Сообщения: 4
Зарегистрирован: 03 май 2009, 13:16
Контактная информация:

В заданиях С-4 ЕГЭ по информатике данные на вход подаются в виде "входного потока". Этот входной поток стоит принимать оператором read(либо readln).
Внимание, вопросы:
1. Как иммитировать этот входной поток для самопроверки выполненных заданий(не хочется, например, вводить 365 строк по формату dd.mm +/-t).
2. {не совсем по теме}Какой бесплатный (ну или с лекарством-сами понимаете, но это лучше а приват :p ) компилятор Pascal порекомендуете использовать на машине Windows Vista x64 (x32 не могу поставить по техническим причинам)? Сейчас использую учебный компилятор PascalABC, который, к сожелению, не способен создавать exe файлы.

Пример задания С-4:
На вход программы подается 366 строк, которые содержат информацию о среднесуточной температуре всех дней 2008 года. Формат каждой из строк следующий: сначала записана дата в виде dd.mm (на запись номера дня и номера месяца в числовом формате отводится строго два символа, день от месяца отделен точкой), затем через пробел записано значение температуры — число со знаком плюс или минус, с точностью до 1 цифры после десятичной точки. Данная информация отсортирована по значению температуры, то есть хронологический порядок нарушен. Требуется написать программу на языке Паскаль или Бейсик, которая будет выводить на экран информацию о месяце (месяцах), среднемесячная температура у которого (которых) наименее отклоняется от среднегодовой. В первой строке вывести среднегодовую температуру. Найденные значения для каждого из месяцев следует выводить в отдельной строке в виде: номер месяца, значение среднемесячной температуры, отклонение от среднегодовой температуры.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
3. И еще детский вопросик(просто программирование в школе не изучал и многово не знаю(я имел ввиду почти ничего :( )):
Вот я хочу копировать подстроку функцией copy, я заведомо знаю, что данная подстрока содержит число. ммм лучше не буду объяснять, а покажу на примере:

Код: Выделить всё

var
 stroka:string[7];
 podstroka:string[4];
 c:real;
begin

stroka:='a32.3bc';
podstroka:=copy(stroka,2,4);
{вот тут выражение, предающее переменной [I]с[/I] значение переменной [I]podstroka[/I](обратите внимание, что [I]c[/I] имеет тип real)}
end.

Вопрос номер 3 снимаю. Решение нашел сам:

Код: Выделить всё

var
 stroka:string[7];
 podstroka:string[4];
 c:real;
 [color="Red"]p:integer;[/color]
begin

stroka:='a32.3bc';
podstroka:=copy(stroka,2,4);
[color="#ff0000"]val(podstroka, c, p);{в переменную [I]c[/I] записалось число 32.3, а в переменную [I]p[/I]- цифра 0}[/color]
end.
Вопрос номер 4:
как заполнить одномерный массив, не используя цикл. в учебниках по pascal даются примеры заполнения только циклом.
мне надо заполнить некий массив из 12-ти элементов.(в частности это кол-во дней в каждом месяце года)
dr.Jekill
Сообщения: 526
Зарегистрирован: 03 янв 2009, 23:17
Откуда: Voronezh
Контактная информация:

!Замечание! ОДИН ВОПРОС - ОДНА ТЕМА!1. Через случайный выбор (создать файл через random и считывать с него);2. У меня на висте нормально работает TPascal 7.1
Нет религии выше истины
Лаций
Сообщения: 4
Зарегистрирован: 03 май 2009, 13:16
Контактная информация:

dr.Jekill, спасибо за ответ. Замечания учту
dr.Jekill
Сообщения: 526
Зарегистрирован: 03 янв 2009, 23:17
Откуда: Voronezh
Контактная информация:

Насчет четвертого: тогда у тебя каждый элемент массива из 12 элементов должен быть типа месяц от 1 до 31 элементов. А заполнять можно вручную, но легче через цикл (для того они и придуманны).
Нет религии выше истины
Лаций
Сообщения: 4
Зарегистрирован: 03 май 2009, 13:16
Контактная информация:

dr.Jekill, я имел ввиду как это оформить. как ни пытаюсь компилятор ругается.
ЛуЛу
Сообщения: 2
Зарегистрирован: 25 май 2009, 09:06
Контактная информация:

При подготовке мы решали эту задачку.
4) Массив заполняли в разделе описания констант ручками (число дней же не меняется, и никаких запарок далее)
Аватара пользователя
Oleg_Rus
Сообщения: 335
Зарегистрирован: 16 окт 2006, 09:56
Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
Контактная информация:

Согласен с Лулу. Если я не ошибаюсь массив можно задать сразу как некую константу с готовым содержанием.
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
Ответить