Презентация содержит исходный текст задания, и предпологаемый пример выполнения решенной задачи. Разбирается выбранный подход к решению задания, указываются "хитрости" программиста используемые в программе. Есть полный текст программы, с пошаговой детализацией (комментариями). Материал представлен компактно и расчитан на учащихся и учителей имеющих навыки самостоятельного программирования.
Для тех кто готовится к ЕГЭ показан уровень сложности заданий С4 и возможности справиться с этим заданиемНаглядно показан уровень сложности задач типа С4 и возможность (доступность) их решения. Изложен ход мысли программиста составившего решения задачи, подведены итоги самого главного при выполнения решения задания
Разбор решения Задач С4 ЕГЭ.pptx
Подготовка к ЕГЭ. Разбор решения задания С4
Подготовка учащихся к ЕГЭ
Решение задач повышенной сложности
С4
Разбор задач на конкретном
примере, с пояснениями по основным
моментам алгоритма решения
2016-2017уч.г.
Подготовка к ЕГЭ. Разбор решения задания С4
Хитрости применённые в
программе
• Работа с данными «Время», в программе они описываются как
•
•
Char:
символьный ввод времени преобразуется в числовое
десятичное значение времени, для удобства определения
промежутков времени;
запись «:» в показании времени аннулируется повторным
считыванием символа, например время 12 : 23 с помощью
оператора READ (c, c1) считываются символы отвечающие за
часы, следующий оператор READ (c, с, c1) содержит три
параметра, один из которых повторяется и за счёт этого
считывается в «с» сначала «:», а затем в этуже переменную
считывается символ отвечающий за количество десяток в записи
минут, при этом значение «:» теряется безвозмездно.
Подготовка к ЕГЭ. Разбор решения задания С4
Задание 27 № 4571.
На вход программе подаются сведения о пассажирах, же
лающих сдать свой багаж в камеру хранения на заранее извест
ное время до полуночи. В первой строке сообщается число
пассажиров N, которое не меньше 3, но не превосходит 1000;
во второй строке – количество ячеек в камере хранения М, ко
торое не меньше 10, но не превосходит 1000. Каждая из следу
ющих N строк имеет следующий формат:
<Фамилия> <время сдачи багажа> <время освобождения
ячейки>, где <Фамилия> – строка, состоящая не более чем из
20 непробельных символов; <время сдачи багажа> – через
двоеточие два целых числа, соответствующие часам (от 00 до
23 – ровно 2 символа) и минутам (от 00 до 59 – ровно 2 симво
ла); <время освобождения ячейки> имеет тот же формат.
Подготовка к ЕГЭ. Разбор решения задания С4
<Фамилия> и <время сдачи багажа>, а также <время сдачи багажа>
и <время освобождения ячейки> разделены одним пробелом. Время
освобождения больше времени сдачи.
Сведения отсортированы в порядке времени сдачи багажа. Каждому
из пассажиров в камере хранения выделяется свободная ячейка с мини
мальным номером. Если в момент сдачи багажа свободных ячеек нет, то
пассажир уходит, не дожидаясь освобождения одной из них. Требуется
написать программу (укажите используемую версию языка программиро
вания, например Borland Pascal 7.0), которая будет выводить на экран
для каждого пассажира номер ему предоставленной ячейки (можно
сразу после ввода данных очередного пассажира). Если ячейка пассажи
ру не предоставлена, то его фамилия не печатается.
Подготовка к ЕГЭ. Разбор решения задания С4
Пример входных данных:
3 { число пассажиров }
10 {число ячеек в камере}
Иванов 09:45 12:00
Петров 10:00 11:00
Сидоров 12:00 13:12
Результат работы программы на этих входных данных:
Иванов 1
Петров 2
Сидоров 1
Подготовка к ЕГЭ. Разбор решения задания С4
Пояснение.
•
Программа верно читает входные данные, сразу запоми
ная только время окончания хранения багажа в массиве, со
ответствующем ячейкам камеры хранения. Подходящая
ячейка определяется путём последовательного просмотра
элементов этого массива до первого свободного или тако
го, в котором записано время окончания хранения, не пре
восходящее текущего времени сдачи очередного багажа. В
случае удачного выбора ячейки фамилия и номер ячейки
распечатываются. Баллы начисляются только за програм
му, которая решает задачу хотя бы для частного случая.
Время можно как переводить в минуты, так и хранить в
виде строки, сравнивая затем строки непосредственно. В
последнем случае упрощается ввод данных.
Подготовка к ЕГЭ. Разбор решения задания С4
Пример программы на языке PascalABC
Описание переменных
program tr;
var p : array[1..10] of integer;
c,c1 : char;
i,j,N,K : integer;
name : string;
time1,time2 : integer;
Подготовка к ЕГЭ. Разбор решения задания С4
begin
readln(N,K); {ввод количества пассажиров и ячеек хранения }
for i:=1 to K do p[i]:=0; { Задание исходных данных содержимого ячеек}
for i:=1 to N do { Организация типовой работы с каждым пассажиром}
begin
name := ''; {Исходное значение имени пассажира «пусто»}
repeat {Организация в цикле по символьного считывания фамилии пассажира}
read(c); {Считывания с клавиатуры, во время набора фамилии, одного символа }
name := name + c ; {«Склеивание» фамилии пассажира из набранных символов}
until c=' '; {считана фамилия, концом операции конкатенации служит знак пробел “ ”}
read(c,c1); {считаны символы часа первого времени}
time1:=60*((ord(c)ord('0'))*10+ ord(c1)ord('0')); {перевод часов из «60» в «10» систему}
read(c,c,c1); {пропущено двоеточие, и считаны символы минут}
time1:=time1+(ord(c)ord('0'))*10+ord(c1)ord('0'); {перевод минут из «60» в «10» систему}
read(c,c,c1); {считаны символы часа второго времени}
time2:=60*((ord(c)ord('0'))*10+ ord(c1)ord('0')); {перевод часов из «60» в «10» систему}
readln(c,c,c1); {пропущено двоеточие, и считаны символы минут}
time2:=time2+(ord(c)ord('0'))*10+ord(c1)ord('0'); {перевод минут из «60» в «10» систему}
for j:=1 to K do if p[j] <= time1 then begin {организация поиска ближайшего времени}
p[j]:=time2; writeln(name,' ',j); break; {вывод времени , указание ФИО и останов программы}
end;
end;
end.
Подготовка к ЕГЭ. Разбор решения задания С4
Разбор полетов
• Задача решается «простыми»
операторами, каждое действие в
отдельности доступно для
понимания.
• Основной проблемой является
подход к решению, который
реализован через переход от
времени к числам.
• Дальнейшие действия сводятся к
алгоритму «поиск минимального».
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.