|
||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Решение экзаменационных задачРешение задач по информатике представляют интерес не только для всех студентов, но и для абитуриентов и учащихся средних школ, собирающихся поступать на профильные специальности и факультеты. Здесь рассматриваются задачи, предлагавшиеся на вузовских экзаменах по информатике, а также задачи выпускных и вступительных экзаменов в 1994-1997 годах. На экзаменах по информатике, как правило, включаются задачи обработки данных - информационные, логические, экономические, расчетные, комбинаторные и простейшие геометрические задачи. Включение в экзаменационные билеты задач по математике, физике или экономике не рекомендуется, поскольку для их решения требуются соответствующие знания, выходящие за рамки курса информатики. Основной сложностью организации экзаменов по информатике является необходимость отладки программ и получения результатов на ЭВМ при разнообразии языков программирования - Бейсик, Паскаль, Си, Фортран, изучаемых в вузах и школах. В силу этих причин приводимые здесь формулировки задач носят содержательный характер, независимый от языков программирования и используемых ЭВМ. Основной технической трудностью при решении экзаменационных задач на ЭВМ являются вопросы организации ввода исходных данных, имеющих существенные различия в используемых языках программирования, что также отражается на формулировках и условиях задач. Существуют три основных общих способа организации ввода исходных данных в персональных ЭВМ, имеющихся в таких языках программирования как Бейсик, Паскаль, Си и Фортран. Рассмотрим их особенности и недостатки. П е р в ы й с п о с о б - ввод исходных данных с клавиатуры ЭВМ. Этот способ может быть реализован на любых персональных ЭВМ с помощью любого языка программирования. Однако здесь весьма существенен порядок ввода данных, который должен явно указываться в условиях задач. В т о р о й с п о с о б - запись исходных данных в файлах на магнитных дисках. Это способ может быть реализован не на всех персональных ЭВМ и не во всех языках программирования. К тому же не во всех действующих учебниках по информатике имеются примеры решения задач с вводом исходных данных из файлов на магнитных дисках. Дополнительным недостатком этого способа является необходимость описания в программах форматов вводимых данных, что полностью отсутствует в учебниках по информатике. Для разрешения этих проблем приходится программировать форматный ввод, что приводит к дополнительным ошибкам как в программах, так и в данных. Т р е т и й с п о с о б - наиболее удобный для отладки программ на персональных ЭВМ - описание исходных данных внутри текста программ в виде присваивании или операторов data на языке Бейсик. Этот способ описания данных приведен в настоящем учебном пособии, изложен во всех школьных учебниках по информатике и известен всем школьникам, изучавшим информатику в школах. Однако этот способ, характерный и удобный для диалоговых программ, отсутствует в профессиональных языках программирования таких как Паскаль, Си, Фортран, изучение которых выходит за рамки школьных учебников. По этой причине в формулировках задач по программированию, ориентированных на учащихся с углубленным изучением информатики, используется форматный способ ввода, принятый для професссиональных языков программирования. Здесь в примерах программ решения экзаменационных задач используется самый простой и наиболее удобный для отладки программ способ организации ввода тестовых данных в виде операторов data на языке Бейсик. Однако формулировки задач приводятся так, чтобы исходные данные могли вводиться всеми тремя указанными выше способами. Рассмотрим образцы решения экзаменационных задач с примерами составления как алгоритмов, так и сценариев диалога. Использование сценариев диалога и является тем средством, которое уравнивает все используемые на персональных ЭВМ языки программирования и позволяет экзаменующимся избегать ошибок ввода-вывода данных, характерных для профессиональных языков программирования. Составление сценариев диалога позволяет до составления алгоритмов предусмотреть порядок ввода исходных данных и реакции программ на самые различные входные ситуации, которые будут проверяться при тестировании на ЭВМ, и тем самым защитить программу и себя от ошибок в исходных данных. В качестве основного языка иллюстраций и примеров программ здесь и далее используется язык Basic для компьютеров IВМ PC как из-за удобств описания входных данных, так и из удобств отладки программ на Бейсике на персональных ЭВМ. Многолетняя практика проведения экзаменов по информатике на ЭВМ показала, что отладка программ на Бейсике стабильно завершается на ЭВМ в два раза быстрее, чем на более «мощных» языках, таких как Паскаль, Си или Фортран, что весьма существенно при жестких ограничениях времени на экзаменах.
Задача 1. «Информационно-логическая». Составить алгоритм и программу выбора самого легкого по весу ученика по данным из таблицы, содержащей сведения о фамилиях, именах, росте и весе учеников.
Разработку программы решения данной задачи проведем с составления сценария диалога с ЭВМ, что существенно упрощает отладку и работу с программой при решении тестовых задач. Сценарий
ученики: <фам> <имя> <вес> <рост> <пол> * … … … самый легкий ученик: <фам> <имя> <вес> отсутствует
ПрограммаАлгоритм ' выбор самого легкого ученика алг «выбор самого легкого ученика» сls ' нач ? «ученики:» ' вывод («ученики:») vs = 0 ' vs = 0 do ' цикл read fm$, nm$, r, v, pl$ ' ввод fmS, nm$, r, v, pl$ if fm$ = «» then exit do ' если fm$ = «» то выход fm$, nm$, r, v, pl$ ' вывод fm$, nm$, r, v, pl$ if р1$=»муж» then ' если pl$ = «мyж» то if vs = 0 then ' если vs = 0 то vs = v ' vs = v fs$ = finS: ns$ = nm$ ' fs$ = fin$: ns$ = nm$ elseif v < vs then ' инес v < vs то vs = v ' vs = v fs$ = fm$: ns$ = nm$ ' fs$ =fm$: ns$ = nm$ end if ' кесли end if ' кесли loop ' кцикл ? «самый легкий ученик:» ' вывод («самый легкий ученик:») if vs = 0 then ' если vs = 0 то ? «отсутствует» ' вывод («отсутствует») elseif vs > 0 then ' инес vs > 0 то ? fs$, ns, vs ' вывод (fs$, ns, vs) end if ' кесли end ' кон
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |