Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование на паскале2.doc
Скачиваний:
144
Добавлен:
31.03.2015
Размер:
935.94 Кб
Скачать

Министерство образования и науки российской федерации

МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)

Батасова В.С.

Начальный курс программирования на основе алгоритмического языка Паскаль

Учебное пособие по курсу «Высокоуровневые методы информатики и программирования» для студентов Гуманитарно-прикладного института, обучающихся по специальностям «Прикладная информатика», «Математические методы в экономике»

Москва Издательство МЭИ 2006

УДК

621.398

Б28

Утверждено учебным управлением МЭИ

Подготовлено на кафедре экономики и управления Гуманитарно-прикладного института Московского энергетического института (технического университета)

Рецензенты:

канд. техн. наук, профессор А.А. Крюков (СТАНКИН),

канд. техн. наук, доцент К.Г. Меньшикова (МЭИ)

Батасова В.С.

Начальный курс программирования на основе алгоритмического языка Паскаль. Учебное пособие по курсу «Высокоуровневые методы информатики и программирования». – М.: Издательство МЭИ, 2006.–116 с.

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

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

© Московский энергетический институт, 2006

Введение

Настоящее пособие представляет собой попытку изложения общих основ программирования, независимых от алгоритмического языка. Конкретный язык программирования – в данном случае, Паскаль – используется для приобретения практических навыков кодирования алгоритмов и отладки программ. Это уже вторая попытка: настоящее пособие представляет собой результат переработки [1], как бы перевод его с СИ на Паскаль. Возможность такого перевода еще раз подтверждает тезис: «Не важно, на каком алгоритмическом языке программируешь, а важно, какие задачи решаешь».

Любая программа, независимо от алгоритмического языка, на ко­тором она написана, состоит из описания данных и описания дей­ст­вий, выполняемых с этими данными. "Алгоритмы+структуры дан­ных = программы" - это название книги [2] классика современного програм­мирования Н. Вирта является важнейшим принципом разра­ботки про­грамм.

Существующие в настоящее время универсальные алгоритми­ческие языки (т.е. языки, содержащие все основные средства совре­менного программирования), такие как Паскаль, Си, Фортран, Бейсик, практически не отличаются по своим возможностям. Различия в пра­вилах построения фраз языка не являются принципиальными, освое­ние этих правил - дело практики, а приверженность программиста к ка­кому-то алгоритмическому языку обычно является следствием мно­голетней привычки. Вы­бор алгоритмического языка Паскаль для данного пособия объясняется тем, что в настоящее время он является признанным языком для обучения программированию, а пособие предназначено, прежде всего, для тех, кто учится программировать «с нуля». Автор надеется, что пособие поможет и при изучении Паскаля как второго (или следующего) языка.

Чтобы начать писать программы на каком-либо алгоритмиче­ском языке, надо знать:

  1. Какова структура простейшей (не использующей нестандартные подпрограммы) программы, в каком порядке в ней разме­щаются ин­струкции языка.

  2. Какие типы и структуры данных приняты в языке и как они опреде­ляются (описываются), какие операции над данными различных ти­пов допустимы в языке, как строятся с их помощью выражения и как они вычисляются. Заметим, что на начальном этапе овладения язы­ком необязательно глубоко изучать все допустимые в нем типы и структуры, достаточно знать те, которые необходимы для реше­ния интересующего вас класса задач.

  3. Как записывать операторы преобразования данных: оператор при­сваивания, с помощью которого осуществляются все преобразова­ния внутренних данных, операторы ввода (передачи данных с внеш­них устройств в память компьютера) и вывода (передачи дан­ных из памяти компьютера на внешние устройства).

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

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

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

Для читателей, впервые столкнувшихся с программированием, поясним, что программа, написанная на алгоритмическом языке, должна быть переведена в коды компьютера. Процесс такого перевода назы­вается трансляцией, а специальная программа-переводчик -транс­лято­ром. Существует два способа трансляции: компиляция и интерпре­та­ция. Прикомпиляциипрограмма сначала полностью переводится в коды, а затем выполняется без участия компилятора. Приинтерпретациипоследовательно чередуются перевод группы инструкций языка в коды и их выполнение. Алгоритмический язык Паскаль (также как Си и Фортран) требует именно компиляции. Откомпилированная программа (так называемыйобъектный модуль) далее подвергаетсяредактированию связей(процесс под­ключения к программе подпрограмм) изагрузке в оперативную па­мять. В результате такой обработки получается готовая к выполне­нию программа, которая называетсяисполняемой программойилизагру­зочным модулем.

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

Примеры пособия ори­ентиро­ваны на систему программирования Borland Pascal 7.0 и операционную систему MS DOS или на режим консольного приложения среды Delphi. Среда программирования Borland Pascal предполагает использование алгоритмического языка с тем же именем, являющегося расширением стандартного языка Паскаль; более ранняя среда (и язык) TurboPascal с точки зрения основ программирования мало отличается от Borland Pascal и может использоваться читателем для отладки программ. СредаDelphiимеет в своей основе языкObjectPascal. Краткое описание основных приемов работы в этих средах дано в Приложениях; подробнее с этими средами и соответствующими версиями языка можно ознакомиться, например, в [3-5].

Имея целью начальное обу­чение программированию, мы рассмотрим толькоподмно­жество языкаBorland Pascal (или Object Pascal в Delphi), позволяющее писать простые и практически важные программы. Пособие не имеет своей целью полное описание этих языков.