Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Олимпиадные задачи по информатике




Экзаменационные задачи ГУУ

(Государственный университет управления)

 

Задача 1

Каждое из N фермерских хозяйств представило свой перечень из М машин разных наименований (марок) на их приобретение в единст­венном экземпляре (N и М заданы). Составить общий перечень необходимых марок машин с указанием их количества, расположив марки в порядке убывания потребности в них.

 

Задача 2

N сотрудников (известны фамилии) работают в две смены по инди­видуальному графику (1-й день - «утро», 2-й день - «вечер», 3-й день - «выходной»). Все они в свое нерабочее время должны пройти диспансеризацию в медпункте, который работает ежедневно в две смены. В день начала диспансеризации о каждом сотруднике известно в какую смену он работает или то, что он выходной. Со­ставить ежедневные списки посещения сотрудниками медпункта с указанием времени посещения («утро» и «вечер»), учитывая, что в каждой смене медпункта могут быть приняты не более М человек и каждый сотрудник должен посетить медпункт один раз. Числа N и М заданы.

 

Задача 3

На кинофестивале 35 стран представили свои фильмы. Общее число фильмов не превышает 100. Известны названия стран - участ­ниц и фильмов, а также баллы, полученные каждым из фильмов. Определить фильм, завоевавший первый приз (максимальный балл) и страну, получившую наибольший средний балл за представленные фильмы. Считать, что фильмы в общем списке по странам не упоря­дочены, а фильм и страна, его представляющая, является единствен­ными победителями.

 

Задача 4

Известны очки, полученные каждым из М спортсменов-много­борцев в каждом из N видов соревнований (N и М заданы). Для каждого из спортсменов определить, в каких видах соревнований он получил результат не хуже других спортсменов и какой конкретно. Фамилия спортсменов и названия видов соревнований известны.

 

Задача 5

Даны сведения о соревновании N фигуристов (N - заданное число): фамилия, наименование спортивного общества, 10 оценок за выступление. Требуется по каждому спортивному обществу опре­делить фигуриста, показавшего наивысший результат, считая его единственным. Баллы, полученные фигуристом, подсчитываются следующим образом: максимальная и минимальная оценки отбра­сываются, а из остальных формируется средняя.

 

 

Особый интерес у студентов и школьников, увлекающихся ин­форматикой, вызывают олимпиадные задачи - наиболее сложные задачи из курса информатики, с помощью которых в форме сорев­нования выявляются наиболее талантливые и способные учащиеся.

Согласно приказу министра образования Российской Федерации № 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 представили решения трех задач, девять участников пред­ложили решения четырех задач. Правильное решение четырех задач представил только один участник, но даже и у него в последней четвертой задаче программа не прошла все тесты.

В целом задачи были подобраны по принципу от простого к слож­ному. С одной стороны это дало всем успевающим в информатике ученикам довести до успешных результатов хотя бы одну программу, а с другой - сложность и дифференциация задач были таковы, чтобы можно было увидеть уровень подготовки и оценить способности участников.

Рассмотрим формулировки задач, проверочные тесты и правильные решения в форме программ на языке Basic. Первая задача относится к классу информационно-логических.

 

Задача 1. «Экзамены».

Среди N абитуриентов, сдававших экзамены по информатике, математике и языку, выбрать всех отличников и всех учащихся, на­бравших в сумме не меньше проходного балла. Данные о проходном балле вводятся с клавиатуры, а данные о результатах сдачи экзаме­нов представлены таблицей:

 

фамилия имя информатика математика язык
Иванов Саша      
Петрова Катя      
Сидоров Алеша      

 

Приведем проверочные тесты и правильные результаты:

Тест 1:

Иванов Саша      
Петрова Катя      
Сидоров Алеша      

 

проходной балл =? 12

 

Правильные результаты:

отличники:

Петрова Катя

не меньше проходного:

Иванов Саша

Петрова Катя

 

Тест 2:

Иванов Саша      
Сидоров Алеша      

проходной балл =? 12

 

Правильные результаты:

отличники:

отсутствуют

не меньше проходного:

Иванов Саша 4 4 4

Тест 3:

Сидоров Алеша      

проходной балл =? 14

Правильные результаты:

отличники:

отсутствуют

не меньше проходного:

отсутствуют.

 

В приведенных тестах анализируются различные логические ситуации с отсутствием «отличников» или «успешно» сдавших экза­мены. При составлении программы эти ситуации можно явно преду­смотреть в сценарии диалога с ЭВМ:

 

Сценарий

оценки учащихся:

<фам> <имя> <мат> <инф> <язык> *

………………………………….

проходной балл=? <b1>

отличники:

<фам> <имя> *

……………

отсутствуют

не меньше проходного:

<фам> <имя> <sum> *

……………..

отсутствуют

 

ПрограммаАлгоритм

' результаты экзаменов алг «результаты экзаменов»

cls нач

? «оценки учащихся:» вывод («оценки учащихся:»)

do цикл

read fm$, nm$, mt, in, zk ввод fm$, nm$, mt, in, zk

if fm$ = «» then exit do если fm$ = «» то выход

? fm$, nm$, mt, in, zk вывод (fm$, nm$, mt, in, zk)

loop кцикл

input «проходной балл=»,b1 запрос («проходной балл=»,b1)

restore ocenki перезагрузка ocenki

? «отличники:» вывод («отличники:»)

n = 0 п = 0

do цикл

read fm$, nm$, mt, in, zk ввод fm$, nm$, mt, in, zk

if fm$ = «» then exit do если fm$ = «» то выход

if mt=5 and in=5 and zk=5 then если mt=5 и in = 5 и zk=5 то

? fm$, nm$ вывод (fm$, nm$)

n = n + 1 n = n + 1

end if кесли

loop кцикл

if n=0 then? «отсутствуют» если п=0 то вывод(«отсутствуют»)

restore ocenki перезагрузка-оценок

? «не меньше проходного:» вывод («не меньше проходного:»)

n = 0 п = 0

do цикл

read fm$, nm$, mt, in, zk ввод fm$, nm$, mt, in, zk

if fm$ = «» then exit do если fm$ = «» то выход

sum = mt + in + zk sum = mt + in + zk

if sum >= hi then если sum >= bl то

? fm$, nm$, sum вывод (fm$, nm$, sum)

n = n + 1 n = n + 1

end if кесли

loop кцикл

if n = 0 then? «отсутствуют» если п = 0 то вывод («отсутствуют»)

end кон

 

ocenki: 'оценки учащихся

data «Иванов», «Саша», 4, 4, 3

data «Петрова», «Катя», 5, 5, 5

data «Сидоров», «Алеша», 5, 3, 3

data «», «», 0, 0, 0

 

Рассмотренная задача имеет чисто квалификационный характер проверки знаний информатики по школьной программе и умения самостоятельно составлять алгоритмы и программы решения на ЭВМ простейших информационных задач. С этой задачей справилось большинство участников олимпиады. Однако далеко не все преду­смотрели исключительные ситуации и в результате многие из них потеряли определенную часть баллов на указанных тестах.

Вторая олимпиадная задача также относится к классу информа­ционно-логических задач. Ее содержание заключается в переработке символьных данных.

 

Задача 2. «Слова».

Для фразы на русском языке, в которой нет знаков препинания, а слова отделяются одним единственным пробелом, организовать циклическую перестановку слов.

Исходная фраза:

 

ВЕЧЕРАМИ МЫ СМОТРИМ ТЕЛЕВИЗОР

 

Циклическая перестановка слов:

 

МЫ СМОТРИМ ТЕЛЕВИЗОР ВЕЧЕРАМИ

СМОТРИМ ТЕЛЕВИЗОР ВЕЧЕРАМИ МЫ

ТЕЛЕВИЗОР ВЕЧЕРАМИ МЫ СМОТРИМ

ВЕЧЕРАМИ МЫ СМОТРИМ ТЕЛЕВИЗОР

 

Сценарий

Исходная фраза:

<строка>

Перестановка слов:

<строка'> *

 

Проверочные тесты:

 

Тест 1: Исходная фраза:

утром был дождь

Правильные результаты:

Перестановка слов:

был дождь утром

дождь утром был

утром был дождь

 

Тест 2: Исходная фраза:

правильно

Правильные результаты:

Перестановка слов:

правильно

Программа Алгоритм

¢ перестановка слов алг «перестановка слов»

cls нач

? «Исходная фраза:» вывод («Исходная фраза:»)

line input st$ ввод-строки (st$)

? st$ вывод st$

In = len(st$) in = len(st$)

? «Перестановка слов:» вывод («Перестановка слов:»)

s$ = st$ s$ = st$

do цикл

k = instr(s$,«») k = instr(s$,«»)

if k = 0 then если k = 0 то

? s$ вывод (s$)

exit do выход

end if кесли

lf$ = left$(s$,k-l) lf$ = left$(s$,k-l)

rt$ = right(s$,ln-k) rt$ = right(s$,ln-k)

ns$ = rt$ + «» + lf$ ns$ = rt$ + «» + lf$

? ns$ вывод (ns$)

if ns$ = st$ then exit do при ns$ = st$ выход

s$ = ns$ s$ = ns$

loop кцикл

end кон

Третью задачу можно отнести к числу комбинаторных задач, реше­ние которых заключается в организации перебора различных вари­антов данных.

 

Задача 3. «4 точки».

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

 

х у
   
   
   
   

 

Составление алгоритмов и программы для решения этой задачи также полезно начать с составления сценария диалога.

Сценарий

координаты точек:

           
     
 


<х1> <у1>

… … …

<х4> <у4>

максимальный маршрут:

<ml> <m2> <m3> <m4>

длина = <mх>

минимальный маршрут:

<n1> <n2> <n3> <n4>

длина = <mn>

 

Простейший способ решения этой задачи заключается в орга­низации перебора всех замкнутых маршрутов, проходящих через заданные точки и выбора среди минимального и максимального по длине маршрутов.

 

Программа Алгоритм

¢мин. и макс. маршруты алг «мин. и макс. маршруты»

cls нач

n = 4 п = 4

dim x(n),y(n),r(n,n) dim x(n),y(n),r(n,n)

? «координаты точек» вывод («координаты точек»)

gosub vvdan 'ввод данных ввод-координат-точек

restore mrshrt 'маршруты загрузка-маршрутов

? «маршруты:» вывод («маршруты:»)

mr = 1*2*3 mr =1*2*3

mx = 0 тх = 0

for l = 1 to mr от l = 1 до mr

read k1, k2, k3, k4 ввод k1, k2, k3, k4

dl = r(kl,k2) + r(k2,k3) dl = r(kl,k2) + r(k2,k3)

d3 = r(k3,k4) + r(k4,kl) d3 = r(k3,k4) + r(k4,k1)

d = dl + d3 d = d1 + d3

? kl; k2; k3; k4, d вывод (k1; k2; k3; k4, d)

if mx = 0 then если тх = 0 то

mx = d: mn = d mx = d: mn = d

ml = kl: m2 = k2 ml = k1: m2 = k2

m3 = k3: m4 = k4 m3 = k3: m4 = k4

nl = kl: n2 = k2 n1 = k1: n2 = k2

n3 = k3: n4 = k4 n3 = k3: n4 = k4

elseif d > mx then инеc d > mx то

mx = d mx = d

ml = kl: m2 = k2 m1 = k1: m2 = k2

m3 = k3: m4 = k4 m3= k3: m4 = k4

elseif d < mn then инеc d < mn то

mn = d mn = d

nl = kl: n2 = k2 n1 = k1: n2 = k2

n3 = k3: n4 = k4 n3 = k3: n4 = k4

end if кесли

next 1 кцикл

? «максимальный маршрут:» вывод («максимальный маршрут:»)

? ml; m2; m3; m4 вывод (m1; m2; m3; m4)

? «длина =»; mx вывод («длина =»; mx)

? «минимальный маршрут:» вывод («минимальный маршрут:»)

? nl; n2; n3; n4 вывод (n1; n2; n3; n4)

? «длина =»; mn вывод («длина =»; mn)

end кон

vvdan: 'ввод данных алг «ввод данных»

restore tchks загрузка-точек

for k = 1 to n от k = 1 до п

read x(k),y(k) ввод x(k),y(k)

? x(k),y(k) вывод x(k),y(k)

next k кцикл

for k = 1 to n от k = 1 до п

for l = 1 to n от l = 1 до п

dx = x(k) - x(l) dx = x(k) - x(l)

dy = y(k) - y(l) dy = y(k) - y(l)

rs = dx*dx + dy*dy rs = dx*dx + dy*dy

r(k,l) = sqr(rs) r(k,l) = sqr(rs)

next 1 кцикл

next k кцикл

return кон

 

mrshrt: 'маршруты:




Поделиться с друзьями:


Дата добавления: 2014-11-25; Просмотров: 639; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.