Next:Рекомендации
преподавателю и студенту
Up:Введение
Previous:Введение
Основная цель, которую мы ставим студенту при выполнении индивидуальных
заданий -- это практическое освоение всех этапов разработки надежной и
наглядной интерактивной (диалоговой) Zonnon-программы (Полное описание
языка Zonnon содержится в гл. 1.) для
компьютерного решения несложной задачи, требующей разработки алгоритма,
обработки сложных структур данных и создания дружеского интерфейса.
В силу этого тематика индивидуальных заданий определяется в первую очередь всеми видами работ, которые должен освоить студент, чтобы научиться создавать качественные (эффективные, наглядные и надежные) нетривиальные программы. В большинстве случаев задача, решаемая во время выполнения индивидуального задания, -- это задача невычислительного характера, имеющая краткую и точную (содержательную) формулировку и допускающая большое разнообразие решений.
Вместе с тем студенту и преподавателю нужно иметь в виду, что многие из методов и понятий, используемых в индивидуальных заданиях, являются неотъемлемой частью образования современного специалиста, использующего ЭВМ для решения своих задач. Поэтому студенту рекомендуется прочитать весь методический материал главы, включая словарь понятий (используемых в заданиях), прежде чем приступать к решению заданий, формулировки которых находятся в гл. 6. Тематические задачи разбиты на пять разделов:
1) графы и системы дорог,в соответствии с кругом тех понятий, определения которых составляют соответствующие разделы словаря (гл. 2).
2) грамматики, языки и автоматы,
3) формулы и программы,
4) геометрия,
5) игры
Предполагается, что при прохождении компьютерного практикума студент получит не менее пяти индивидуальных заданий, по одному из каждого тематического раздела.
В процессе решения каждого задания студент составляет отчет, который
включает:
анализ условия задачи и выработка подхода к ее решению; пошаговая разработка (на основании выбранного подхода) алгоритма решения и его описание; обоснование алгоритма; выбор и обоснование представления для входных, выходных и промежуточных данных; кодирование алгоритма, т.е. его запись на языке Zonnon; выбор и обоснование набора тестов, на которых будет проверяться программа; отладка программы и демонстрация ее правильной работы на выбранном наборе тестов.
Это разбиение условно в том смысле, что фактически некоторые виды
работ тесно переплетаются и выполнение их обычно составляет единый процесс.
Например, строить набор тестов удобнее одновременно с построением самого
алгоритма, а обосновывать правильность работы алгоритма удобно путем детальной
демонстрации процесса его построения. Практические рекомендации по выполнению
перечисленных работ приведены в гл.3.
Здесь даются общие рекомендации по разработке алгоритма, представления
данных и выбора тестов, начиная с анализа условия задачи.
Особенностью индивидуальных заданий является то, что они связаны со
сложными структурами данных, с организацией поиска или порождения тех элементов
конечного (но, как правило, чрезвычайно большого) множества, которые удовлетворяют
определенным ограничениям, и требуют при своем решении анализа алгоритма
и его сложности. Поэтому в гл. 4 даются
рекомендации по алгоритмическому решению задач, связанных с организацией
вычислений на дискретных конечных математических структурах, а в гл.
5
подробно рассматриваются вопросы выбора представления данных.
Next:Рекомендации
преподавателю и студенту
Up:Введение
Previous:Введение