Задания
Версия для печати и копирования в MS Word
Тип Д19 C4 № 3149
i

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

Спрятать решение

Ре­ше­ние.

const N=31;

type day = record

d : integer;

s : real;

end;

var days : array[1..N] of day;

tl,t2,s : real;

i,k : integer;

begin

for i:=l to N do

begin

readln(days[i].d,tl,t2);

days[i].s:=(tl+t2)/2;

end;

i:=l;

while i < N do

begin

if days[i].s<days[i+1].s then

begin

s:=days [i].s;

k:=i;

repeat

i:=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.

Спрятать критерии
Критерии проверки:

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­нияБаллы
Про­грам­ма ра­бо­та­ет для любых вход­ных дан­ных. Про­грам­ма про­смат­ри­ва­ет вход­ные дан­ные один раз. До­пус­ка­ет­ся на­ли­чие в тек­сте про­грам­мы одной син­так­си­че­ской ошиб­ки: про­пу­щен или не­вер­но ука­зан знак пунк­ту­а­ции, не­вер­но на­пи­са­но или про­пу­ще­но за­ре­зер­ви­ро­ван­ное слово языка про­грам­ми­ро­ва­ния, не опи­са­на или не­вер­но опи­са­на пе­ре­мен­ная, при­ме­ня­ет­ся опе­ра­ция, не­до­пу­сти­мая для со­от­вет­ству­ю­ще­го типа дан­ных (если одна и та же ошиб­ка встре­ча­ет­ся не­сколь­ко раз, то это счи­та­ет­ся за одну ошиб­ку).4
Про­грам­ма ра­бо­та­ет верно. До­пус­ка­ет­ся на­ли­чие от одной до трех син­так­си­че­ских оши­бок. Воз­мож­но, в прин­ци­пи­аль­но верно ор­га­ни­зо­ван­ном вводе дан­ных есть одна ошиб­ка (на­при­мер, ис­поль­зо­ва­ние read вме­сто readln в Пас­ка­ле или не­вер­ное счи­ты­ва­ние стро­ки в C++). Три балла также вы­став­ля­ет­ся, если в эф­фек­тив­ной про­грам­ме, удо­вле­тво­ря­ю­щей кри­те­ри­ям вы­став­ле­ния 4 бал­лов, есть одна ошиб­ка, в ре­зуль­та­те ко­то­рой про­грам­ма ра­бо­та­ет не­вер­но на не­ко­то­рых на­бо­рах не­ти­пич­ных вход­ных дан­ных.3
Про­грам­ма ра­бо­та­ет в целом верно, эф­фек­тив­но или нет, но в ре­а­ли­за­ции ал­го­рит­ма со­дер­жит­ся до двух оши­бок (не­вер­ная ини­ци­а­ли­за­ция счётчи­ков, до­пу­ще­на ошиб­ка в прин­ци­пи­аль­но верно ор­га­ни­зо­ван­ной сор­ти­ров­ке или ал­го­рит­ме по­ис­ка ми­ни­маль­ных эле­мен­тов, ис­поль­зу­ет­ся знак “<” вме­сто “<=”, “or” вме­сто “and” и тому по­доб­ное).

Воз­мож­но, не­кор­рект­но ор­га­ни­зо­ва­но счи­ты­ва­ние вход­ных дан­ных. До­пус­ка­ет­ся на­ли­чие от одной до пяти син­так­си­че­ских оши­бок, опи­сан­ных выше

2
Про­грам­ма, воз­мож­но, не­вер­но ра­бо­та­ет при не­ко­то­рых вход­ных дан­ных, но по при­ведённому тек­сту ре­ше­ния ясно, что эк­за­ме­ну­е­мый по­ни­ма­ет, из каких эта­пов долж­но со­сто­ять ре­ше­ние за­да­чи. При ис­поль­зо­ва­нии сор­ти­ров­ки она может быть ре­а­ли­зо­ва­на прин­ци­пи­аль­но не­вер­но (на­при­мер, вме­сто двух цик­лов ис­поль­зу­ет­ся один), или до­пу­ще­на прин­ци­пи­аль­ная ошиб­ка в по­ис­ке нуж­ных эле­мен­тов. Всего до­пус­ка­ет­ся до 4 раз­лич­ных оши­бок в ре­а­ли­за­ции ал­го­рит­ма, в том числе опи­сан­ных в кри­те­ри­ях при­сво­е­ния двух бал­лов. До­пус­ка­ет­ся на­ли­чие от одной до семи син­так­си­че­ских оши­бок, опи­сан­ных выше.1
За­да­ние не вы­пол­не­но или вы­пол­не­но не­вер­но.0
Мак­си­маль­ный балл4