Иванов | начальник | 2500 |
3) тест3 (проверка граничных ситуаций):
Иванов | начальник | 2000 |
Петров | сотрудник | 2000 |
Независимо от языка программирования и способа ввода-вывода данных отсутствие каких бы то ни было ответов - есть «отказ», вывод избыточных данных или неполные данные - есть «сбой», неправильный список - есть неправильный результат решения.
Правильными ответами с точностью до формулировок в этой задаче являются:
ответ1 (основной случай):
Иванов | начальник | 2500 |
ответ2 (частный случай):
«никто не получает зарплату выше средней»
ответ3 (граничный случай):
«никто не получает зарплату выше средней»
Приведем правильное решение поставленной задачи в форме программы на языке Basic, в которой исходные данные записываются в списке операторов data. Разработку приводимой ниже программы проведем, начиная с составления сценария, в котором учитываются все ситуации и частные случаи постановки задачи.
Сценарий
список сотрудников:
<фамилия> <долж> <з/плата> *
… … …
средняя з/плата = <среднее>
з/плата выше средней:
<фамилия> <з/плата> *
… … …
не получает никто
Программа Алгоритм
' выше средней з/платы алг «выше средней з/платы
сlsнач
? «сотрудники:» вывод «сотрудники:»
doцикл
read Hn$, dl$, zpчтение fm$, dl$, zp
if fm$=«» then exit doесли fm$=«» то выход
? fm$, dl$, zpвывод fm$, dl$, zp
sum= sum + zp sum = sum + zp
n = n + 1 n= n + 1
loopкцикл
sr = sum/n sr = sum/n
? «средняя з/плата=»; srвывод («средняя 3/nлama=»;sr)
? «з/плата выше средней:» вывод(«з/плата выше средней:»)
restore zpltsперезагрузка данных
ns = 0ns = 0
for k = 1 to nот k = 1 до п
read fm$, dl$, zp чтение fm$, dl$, zp
if zp > sr thenесли zp > sr то
? fni$, zpвывод (fm$, zp)
ns = ns + 1ns = ns + 1
end ifкесли
next kкцикл
if ns = 0 thenесли ns = 0 то
? «нe получает никто» вывод («не получает никто»)
end ifкесли
endкон
zplts: 'данные о зарплате:
data «Иванов», «начальник», 250000
data «Сидоров», «секретарь», 90000
data «», «», 0
Проверку правильности этой программы следует провести на указанных выше трех тестах. Достоинства приведенной программы:
1) хорошо организованный вывод результатов, совмещенный с выводом исходных данных (свойства, заложенные в сценарий);
2) удобная организация структуры программы, позволяющая локализовать возможные ошибки (свойства структурированных алгоритмов);
3) удобная организация исходных данных в тексте программы, позволяющая упростить процедуру тестирования и отладки программы на ЭВМ.
Экзаменационные задачи ГУУ
(Государственный университет управления)
Задача 1
Каждое из N фермерских хозяйств представило свой перечень из М машин разных наименований (марок) на их приобретение в единственном экземпляре (N и М заданы). Составить общий перечень необходимых марок машин с указанием их количества, расположив марки в порядке убывания потребности в них.
Задача 2
N сотрудников (известны фамилии) работают в 2 смены по индивидуальному графику (1-й день - «утро», 2-й день - «вечер», 3-й день - «выходной»). Все они в свое нерабочее время должны пройти диспансеризацию в медпункте, который работает ежедневно в 2 смены. В день начала диспансеризации о каждом сотруднике известно в какую смену он работает или то, что он выходной. Составить ежедневные списки посещения сотрудниками медпункта с указанием времени посещения («утро» и «вечер»), учитывая, что в каждой смене медпункта могут быть приняты не более М человек должен посетить медпункт один раз. Числа N и М заданы.
Задача 3
На кинофестивале 35 стран представили свои фильмы. Общее число фильмов не превышает 100. Известны названия стран - участниц и фильмов, а также баллы, полученные каждым из фильмов. Определить фильм, завоевавший первый приз (максимальный балл) и страну, получившую наибольший средний балл за представленные фильмы. Считать, что фильмы в общем списке по странам не упорядочены, а фильм и страна, его представляющая, является единственными победителями.
Задача 4
Известны очки, полученные каждым из М спортсменов-многоборцев в каждом из N видов соревнований (N и М заданы). Для каждого из спортсменов определить, в каких видах соревнований он получил результат не хуже других спортсменов и какой конкретно. Фамилия спортсменов и названия видов соревнований известны.
Задача 5
Даны сведения о соревновании N фигуристов ( N - заданное число): фамилия, наименование спортивного общества, 10 оценок за выступление. Требуется по каждому спортивному обществу определить фигуриста, показавшего наивысший результат, считая его единственным. Баллы, полученные фигуристом, подсчитываются следующим образом: максимальная и минимальная оценки отбрасываются, а из остальных формируется средняя.
6.4. Олимпиадные задачи по информатике
Особый интерес у студентов и школьников, увлекающихся информатикой, вызывают олимпиадные задачи - наиболее сложные задачи из курса информатики, с помощью которых в форме соревнования выявляются наиболее талантливые и способные учащиеся.
Согласно приказу министра образования Российской Федерации № 500 победители и призеры международных олимпиад могут руководством российских вузов зачисляться без экзаменов на профильные специальности и факультеты.
Победителям и призерам российских и региональных олимпиад ректора вузов победы в таких олимпиадах согласно указанному приказу могут засчитывать как успешную сдачу профильных вступительных экзаменов.
Особенностью олимпиад по информатике является то, что решение олимпиадных задач и выполнение конкурсных заданий проводится исключительно на ЭВМ. Второй особенностью олимпиад по информатике в силу использования персональных компьютеров является форма проведения олимпиад.
В 1995 году по инициативе Международной академии информатизации была проведена первая сетевая олимпиада, в которой приняло участие более 200 учащихся Москвы и Московской области. Новацией этой олимпиады было то, что задачи и результаты их решения передавались с помощью электронной почты, а оценка составленных программ проводилась на ЭВМ с использованием заранее подготовленных тестов.
Победителям и призерам этой олимпиады, решившим наибольшее число задач с наименьшим числом ошибок, было предложено поступление без экзаменов в Московский институт электроники и математики (МИЭИ) для обучения по специальностям в области информатики и вычислительной техники.
Примеры олимпиадных задач по информатике в других университетах и вузах Российской Федерации, которые засчитывают результаты побед в региональных, российских и международных олимпиадах по информатике, можно найти в Интернете по запросу «олимпиада информатики» с помощью поисковых систем Апорт, Ремблер или Яндекс. В 1999 году таких вузов было более сорока.
Ниже приводятся тексты задач первого тура первой сетевой олимпиады с указанием максимального числа баллов за решение этих задач, а также примеры программ их решения на языке Basic.
Оценки за решение задач проставлялись по следующей методике:
1) при правильных результатах на всех тестах 100% баллов; 2) при получении правильного решения хотя бы на одном тесте 40% баллов, а за результаты на остальных (n - 1 )-м тестах добавляется 60%/(n - 1) баллов; 3) при неправильных результатах на всех тестах или отсутствии программы оценка не ставилась.
На первом туре первой сетевой олимпиады были предложены четыре задачи информационно-логического и геометрического содержания со следующими оценками сложности, определенными экспертами:
задача 1 («Экзамены») - 50 баллов;
задача 2 («Слова») - 100 баллов;
задача 3 («4 точки») -150 баллов;
задача 4 («Ломаная») - 250 баллов.
Более 120 участников из 200 представили решения задач. Из них более 20 представили решения трех задач, девять участников предложили решения четырех задач. Правильное решение четырех задач представил только один участник, но даже и у него в последней четвертой задаче программа не прошла все тесты.