Предисловие

Нельзя овладеть программированием, прочитав несколько руко-
водств или прослушав курс лекций по программированию. В подготовке специалистов, умеющих использовать вычислительные машины в своей работе, определяющую роль играет практическое решение задач на ЭВМ. Не случайно в учебных планах многих вузов, включая и Новосибирский государственный университет имени Ленинского комсомола (НГУ), учебному практикуму на ЭВМ выделяется гораздо больше времени, чем курсу программирования.

Для студентов механико-математического факультета НГУ практикум на ЭВМ начинается во втором семестре первого курса и продолжается до конца четвертого курса. Весь практикум делится на две части: двухсеместровый общий практикум, подкрепляющий основной курс по программмированию, и специализированный практикум, нацеленный на приобретение студентами опыта решения на ЭВМ определенных классов задач, специфичных для той или иной специализации, а также на практическое освоение студентами специализированных компонент математического обеспечения.

В настоящей книге, состоящей из введения, двух частей и шести приложений, приводится содержание общего практикума по состоянию на 1984 г.

Введение содержит методические указания преподавателю.

Часть I посвящена заданиям для начинающих и содержит методические указания студенту, словарь понятий, используемых в формулировках задач для начинающих, краткий справочник по языку Паскаль-360, рекомендации по всем этапам выполнения заданий для начинающих, включая образец отчета по заданию, а также тексты 175 индивидуальных задач.

Часть II посвящена заданиям для продолжающих. Помимо формулировок 300 задач она содержит дополнительные рекомендации для студента, решающего задачу с нетривиальными структурами данных и вычислений.

В приложениях 1--5 перечисляются основные диагностические сообщения о типичных студенческих ошибках, обнаруживаемых на этапах трансляции и выполнения Паскаль- и Фортран-программ, а также основные системные коды завершения ОС ЕС ЭВМ, с которыми приходится сталкиваться студентам при выполнении заданий на Паскале и Фортране. Приложение 6 представляет собой краткое описание терминальной системы Primus, используемой в последние годы на факультете для выполнения заданий общего практикума.

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

Основная задача общего практикума состоит в усвоении и закреплении основных приемов, методов и принципов работы при решении задач на ЭВМ с использованием языков высокого уровня. В качестве учебных языков на механико-математическом факультете НГУ используются языки Паскаль и Фортран в их реализации на ЕС ЭВМ. Это не значит, конечно, что для решения заданий общего практикума не подходят другие реализации языков Паскаль и Фортран или другие языки программирования. Однако язык программирования, заменяющий в данном практикуме язык Паскаль, должен иметь достаточно хорошие средства структурирования данных и действий. Например, этим языком может быть Алгол-68, в крайнем случае ПЛ/1, но, конечно, не Алгол-60.

Книга отражает опыт десятилетней работы по становлению курса по практикуму на ЭВМ на механико-математическом факультете НГУ. Интерес, проявленный многими университетами страны к опыту организации практикума на ЭВМ в НГУ, привел к появлению настоящей книги.

Авторы выражают глубокую благодарность всем сотрудникам кафедры вычислительной математики НГУ, принимавшим участие в руководстве студенческим практикумом на факультете, а также тем, кто своей заинтересованностью, советами и поддержкой способствовал изданию данной книги.