Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка вторая.doc
Скачиваний:
55
Добавлен:
05.06.2015
Размер:
1.61 Mб
Скачать

Федеральное агентство по образованию

«Московский государственный университет экономики, статистики и информатики

(МЭСИ)»

Нижегородский колледж экономики, статистики и права филиал государственного образовательного учреждения высшего профессионального образования «Московский государственный университет экономики, статистики и информатики (МЭСИ)»

(Нижегородский филиал МЭСИ)

“УТВЕРЖДАЮ”

Зам.директора_____________________

____”______________________ 200_г.

Методическое пособие

ПРОГРАММИРОВАНИЕ НА АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ PASCAL.

Учебный предмет Основы алгоритмизации и программирования

Специальность: 2203 "Программное обеспечение вычислительной техники и автоматизированных систем"

Курс: 2

Принят на заседании цикловой комиссии _______________

_____________________________________________________

Председатель: Четина С.С.

Составили: Авакян В.А., Никеркина С.А., Четина С.С..

Содержание:

  1. Основные элементы языка.

    1. История создания и развития языка программирования.

    2. Структурная схема программы на алгоритмическом языке.

    3. Лексика языка. Типы данных.

    4. Переменные и константы. Выражения и операции.

  2. Операторы языка.

    1. Синтаксис операторов присваивания.

    2. Синтаксис операторов ввода-вывода.

    3. Составление программ линейной структуры.

    4. Синтаксис операторов безусловного и условного переходов

    5. Составной оператор.

    6. Вложенные условные операторы.

    7. Составление программ разветвляющейся структуры.

    8. Составление программ сложной разветвляющейся структуры.

    9. Оператор CASE.

    10. Оператор GOTO.

    11. Синтаксис операторов циклов.

    12. Циклические конструкции.

    13. Циклы с предусловием

    14. Циклы со счетчиком.

    15. Циклы с постусловием.

    16. Составление программ циклической структуры.

  3. Массивы.

    1. Понятие массива.Одномерные массивы.Способы задания одномерных массивов.

    2. Доступ к элементам массива.

    3. Вставка элементов в одномерный массив.

    4. Перестановка элементов массива.

    5. Работа с несколькими массивами.

    6. Понятие двумерного массива.

    7. Формирование значений элементов массива

    8. Работа с элементами массива.

    9. Вставка и удаление строк и столбцов.

    10. Перестановка элементов массива.

    11. Сортировка массива.Способы сортировки массива.

  4. Строки и множества.

    1. Строка.Тип данных string.Строковые переменные , их описание.Длина строки.Операции над строками.

    2. Стандартные функции и процедуры для работы со строками.

    3. Тип данных char.Операции над символами.

    4. Множественный тип данных.

    5. Логические операции над множествами.

  5. Записи.

    1. Комбинированный тип данных.Описание записи.

    2. Сортировка записей.

  6. Процедуры и функции.

    1. Понятие подпрограммы.

    2. Формальные и фактические параметры.

    3. Локальные и глобальные переменные.

    4. Процедуры.

    5. Функции.

    6. Понятие рекурсии.

  7. . Файлы.

    1. Типы файлов. Типизированные файлы.

    2. Процедуры и функции для работы с файлами .

    3. Процедуры и функции для работы с типизированными файлами.

    4. Текстовые файлы.

    5. Компонентные файлы.

    6. Бестиповые файлы..

    7. Последовательный и прямой доступ.

  1. Библиотека подпрограмм.

    1. Программирование модулей.

    2. Модуль: синтаксис, заголовок, разделы.

    3. Библиотеки подпрограмм: понятие и виды.

    4. Схемы вызова библиотек.

    5. Статическое и динамическое связывание.

    6. Создание библиотеки подпрограмм.

  2. Литература.

Основные элементы языка.

История создания и развитие языка программирования

Язык программирования Pascal был создан Никлаусом Виртом в 1970, после его участия в работе комитета разработки стандарта языка Алгол, как язык для обучения процедурному программированию. Название языку дано в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля. Первоначально язык компилировался в байт-код, подобно языку Java. Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Н. Вирта, язык должен способствовать дисциплинированию программирования, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис интуитивно понятен даже при первом знакомстве с языком. Тем не менее, первоначально язык обладал множеством недостатков: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках, отсутствие средств раздельной компиляции и т. п. Необходимо заметить, что многие перечисленные недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, основным языком программирования в академической среде 70-х был Фортран, обладавший гораздо более существенными недостатками, и Паскаль представлял собой значительный шаг вперед. Автор языка понимал недостатки созданного им языка, перестал его развивать и разработал языки Модула-2 и Оберон. Тем не менее, достоинства языка заставляли многие коммерческие и некоммерческие организации разрабатывать системы программирования на основе языка Паскаль. Из числа последних выделяется фирма Borland, Turbo Pascal (затем Borland Pascal) которой был значительно расширен, были устранены многие недостатки языка, добавлены новые возможности. Язык стал богаче, но одновременно, потерял переносимость и общность. Важным шагом в развитии языка, является появление свободного языка Паскаль GNU Pascal, который не только вобрал в себя черты других Паскалей, не только позволил наконец полностью отказаться от «грязных» приемов программирования, особенно присущих, скажем, Turbo Pascal, но и обеспечил черезвычайно широкую портабельность написанных на нем программ (более 20 различных платформ, под более чем 10 различными операционными системами). В настоящий момент пользуются популярностью такие версии языка как TMT Pascal, Free Pascal и GNU Pascal. Продолжает использоваться и Borland Pascal. Развитием языка Borland Pascal является Object Pascal — версия языка Паскаль расширенная средствами объектно-ориентированного программирования. Последние версии Borland Pascal лежат в основе среды программирования Delphi. В России разработан язык программирования Глагол, который имеет близкую к Паскалю идеологию, но в отличие от него изначально спроектирован на использование только русских служебных слов.

Структурная схема программы на алгоритмическом языке.

Программы на языке Паскаль имеют блочную структуру:

1. Блок типа PROGRAM - имеет имя, состоящее только из латинских букв и цифр. Его присутствие не обязательно, но рекомендуется записывать для быстрого распознавания нужной программы среди других листингов.

2. Программный блок, состоящий в общем случае из 7 разделов:

  • раздел описания модулей (uses);

  • раздел описания меток (label);

  • раздел описания констант (const);

  • раздел описания типов данных (type);

  • раздел описания переменных (var);

  • раздел описания процедур и функций;

  • раздел описания операторов.

Общая структура программы на языке Паскаль следующая:

Рrogram ИМЯ..; {заголовок программы} Uses ...; {раздел описания модулей} Var ..; {раздел объявления переменных}   ... Begin {начало исполнительной части программы}   ... {последовательность   ... операторов} End. {конец программы}

Начнем знакомство с Паскалем с программы, которая складывает два числа и выводит сумму на экран.

Откройте файл, в который Вы запишите эту программу. Для этого нажмите клавишу F10, чтобы выйти в главное меню, затем клавишами перемещения курсора выберите опцию File, а в выпавшем меню команду New.

Примечание. Обратите внимание на оформление текста программы.

Program Summa2;   {Задача. Вычислить сумму двух чисел и вывести на экран.     Решение. Иванов Петр, 10 А класс.} Var   number1, {переменная для хранения первого числа}   number2, {переменная для хранения второго числа}   rezult {переменная для хранения результата вычисления}   : integer; Begin {признак начала программы}   number1 := 3; {присваиваем переменной number1 значение 3}   number2 := 4; {присваиваем переменной number2 значение 4}   {складываем значения переменных number1 и number2 и результат присваиваем переменной rezult }   rezult := number1 + number2;   Write (number1, '+', number2,'=',rezult); {вывод примера на экран} End. {признак конца программы}

Задание.

  1. Найдите в этой программе заголовок, раздел описания переменных, признак начала программы, признак конца программы, тело программы, комментарий.

  2. Что обозначает строчка: number1, number2, rezult : integer;

  3. Как вы понимаете запись: number1 := 3;

  4. Чему равно значение переменной rezult после выполнения оператора: rezult := number1 + number2;

  5. Переведите с английского языка слово Write. Как вы думаете, что должен делать оператор с таким названием?

  6. Поменяем местами второй и третий операторы. Будет ли программа работать? Почему?

  7. Какой недостаток Вы видите у этой программы? Как нужно изменить условие задачи, чтобы решать подобные задачи с любыми числами. Подумайте, что должно измениться в теле нашей программы, чтобы выполнить эту задачу.

А теперь подведем итог вашим размышлениям.

Имя этой программы Summa2. Заметим, что требования к имени выполняются: оно отражает содержание программы, а также не содержит недопустимых символов.

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

Из разделов описаний имеется лишь один - раздел переменных. Он начинается со служебного слова Var. Мы описали три переменные: number1, number2, rezult. Все они переменные целого типа. Поэтому мы перечислили их через запятую, поставили двоеточие и указали тип переменных. Подобные объявления разделяются между собой точкой с запятой.

После описательной части идет раздел операторов, начинающийся со служебного слова Begin, после которого идут операторы языка.

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

Лексика языка. Типы данных.

Познакомимся с основными понятиями языка.

Алгоритм - четкая последовательность действий, необходимая для решения задачи.

Программа - алгоритм, записанный на языке программирования.

Алфавит языка - набор элементарных символов, используемый для составления программ. Алфавит содержит:

  • 52 буквы латинского алфавита (строчные и заглавные);

  • арабские цифры (0-9);

  • специальные символы;

  • знаки математических действий (+ - * / );

  • знаки пунктуации (. : , ; " ` );

  • скобки ( [ ] ( ) { } );

  • знак пробела;

  • знаки отношений (< > =).

Идентификатор (имя) - имя какого-либо элемента программы, которое должно удовлетворять следующим требованиям:

  • длина имени не должна превышать 63 символа,

  • первым символом не может быть цифра,

  • переменная не может содержать пробел;

  • имя не должно совпадать с зарезервированным (служебным) словом,

  • прописные и строчные буквы воспринимаются одинаково.

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

Примеры зарезервированных слов: AND, GOTO, PROGRAM, ELSE, IF, RECORD, NOT, ARRAY, REPEAT, UNTIL, BEGIN, IN, SET, END, CASE, CONST, USES, INTERFACE, STRING, LABEL, THEN, OF, DIV, TO, VAR, DO, TYPE, WHILE, DOWNTO, FILE, FUNCTION, PROCEDURE и другие.

Переменные (Var) - вид данных, который может изменять свое значение в ходе программы, описывают переменные после зарезервированного слова Var.

Константы (Const) - вид данных, который является постоянным на всем протяжении выполнения программы, описывают константы после зарезервированного слова Const.

Комментарии - некоторая запись, служащая для пояснения программы, которая записывается в фигурных скобках.