- •Программирование в системе Pascal abc
- •Введение
- •1. Система программирования pascal abc
- •1.1. Структура меню среды
- •1.2. Команды редактора Pascal abc
- •Команды удаления и вставки
- •1.3. Правила оформления программ
- •1.4. Компиляция и исправление синтаксических ошибок
- •1.5. Этапы подготовки и решения задач на компьютере
- •1.6. Словарь основных терминов
- •2. Начальные сведения о языке pascal abc
- •2.1. Алфавит языка
- •2.2. Константы
- •2.3. Идентификаторы и типы данных
- •2.4. Переменные и именованные константы
- •2.5. Структура простой программы и комментарий
- •3. Оператор присваивания и числовые данные
- •3.1. Арифметические выражения
- •Приоритеты операций в выражении
- •3.2. Оператор присваивания
- •3.3. Процедуры ввода-вывода
- •3.4. Стандартные функции Pascal abc
- •3.5. Целые типы в Pascal abc
- •3.6. Вещественные типы
- •Переменные комплексного типа
- •3.7. Примеры и задания к самостоятельному выполнению
- •4. Программирование разветвленных алгоритмов
- •4.1. Логические выражения
- •4.2. Условный оператор if
- •4.3. Составной и пустой операторы
- •4.4. Оператор безусловного перехода
- •4.5. Пример и задания с оператором if
- •4.6. Оператор выбора варианта case
- •4.7. Примеры и задания с оператором case
- •5. Программирование алгоритмов циклической структуры
- •5.1. Оператор счётного цикла
- •5.2. Примеры и задания для оператора цикла со счётчиком
- •Задания к самостоятельному выполнению
- •5.3. Оператор цикла с предусловием
- •5.4. Пример и задания для оператора цикла с предусловием
- •5.5. Оператор цикла с постусловием
- •5.6. Процедуры прерываний циклов
- •5.7. Примеры и задания для циклов с постусловием
- •Задания для самостоятельного выполнения
- •6. Структурированные типы данных
- •6.1. Массивы данных
- •Типизированные константы-массивы
- •6.2. Пример и задания для одномерных массивов
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •6.3. Ограниченный тип (диапазон)
- •6.4. Пример и задания для двумерных массивов
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •Задание 3
- •7. Структурное программирование
- •7.1. Структура сложной программы
- •7.2. Подпрограммы. Процедуры и функции
- •7.3. Структура подпрограммы-функции
- •7.4. Примеры и задания с подпрограммой-функцией
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •7.5. Структура подпрограммы-процедуры
- •7.6. Передача в подпрограмму массивов и строк
- •7.7. Рекурсия в программе
- •7.8. Вложенные подпрограммы
- •7.9. Процедуры exit и halt
- •7.10. Пример и задания с подпрограммой-процедурой
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •8. Обработка символьных данных
- •8.1. Символьный тип
- •8.2. Задания для символьных данных
- •9. Обработка строк текста
- •9.1. Строковый тип
- •9.2. Встроенные функции и процедуры для обработки строк
- •9.3. Пример и задания для обработки строк
- •Задания для самостоятельного выполнения
- •10. Файлы
- •10.1. Процедура связывания файлов
- •10.2. Процедуры и функции для работы с файлами
- •10.3. Типизированные файлы
- •10.4. Текстовые файлы
- •10.5. Процедуры ввода
- •10.6. Процедуры вывода
- •10.7. Примеры и задания для работы с файлами
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •11. Комбинированный тип – записи
- •11.1. Структура данных типа записи
- •11.2. Обработка полей записей
- •11.3. Задания с обработкой записей Задание 1
- •Задание 2
- •12. Процедурные типы
- •Библиографический список
- •Обозначения графические в схемах алгоритмов (гост 19.701-90)
- •Содержание
Задание 2
Дополнить программу для предыдущего задания заполнением и обработкой файлов. Имя файла вводить с клавиатуры в процессе работы программы.
12. Процедурные типы
Для организации передачи в качестве фактических параметров процедур и функций в Pascal ABC применяются два процедурных типа: тип-процедура и тип-функция. При объявлении процедурных типов используется только заголовок процедуры или функции, например:
TYPE
Proc1 = Procedure(a, b, c: real; var d: real);
Proc2 = Procedure(var b1, b2:byte);
Proc3 = Procedure;
Func = Function(x: real):real;
Func2 = Function(s: string): string;
Для объявления переменных процедурного типа используется запись:
VAR pr: proc1;
f: func;
Пример применения параметра – функции :
type Func = Function(x : real): real;
Function F1(x: real): real;
Begin
. . .
end;
Procedure FF(n:byte; F:Func);
Var ...;
Begin
. . .
end;
BEGIN
. . .
FF(2,F1); ... FF(5,F1);
END.
Библиографический список
Михалкович, С.С. Pascal ABC & Programming Taskbook ME / С.С. Михалкович, М.Э. Абрамян. [Электронный ресурс]. – Режим доступа – http://sunschool.math.rsu.ru/
Ерёмин, О.Ф. Методическое пособие по программированию на языке Pascal ABC / О.Ф. Ерёмин. – Моздок, 2009. – 49 с. [Электронный ресурс]. – Режим доступа – http:// scholtro.narod.ru
Чернов, Ю.П. Программирование для начинающих. Turbo Pascal 7.0: учеб. пособие / Ю.П.Чернов, О.П. Шафеева. – Омск: Изд-во ОмГТУ, 2007. – 132 с.
Чернов, Ю.П. Практикум по программированию для начинающих: учеб. пособие / Ю.П.Чернов, О.П. Шафеева. – Омск: Изд-во ОмГТУ, 2000. – 128 с.
Фаронов, В.В. Турбо Паскаль. Начальный курс / В.В. Фаронов. – М.: Нолидж, 1997. – 616 с.
Марченко, А.И. Программирование в среде Turbo PASCAL. Базовый курс / А.И. Марченко, Л.А. Марченко. – Киев: ВЕК+, 1999. – 464 с.
Иванова, Г.С. Технология программирования / Г.С. Иванова. – М.: Изд-во МГТУ им. Баумана, 2006. – 336 с.
Мануйлов, В.Г. Разработка программного обеспечения на Паскале / В.Г. Мануйлов. – М.: ПРИОР, 1996. – 240 с.
Основы программирования в среде Турбо Паскаля: метод. указания / сост. О.П. Шафеева, Ю.П.Чернов. – Омск: Изд-во ОмПИ, 1999. – 48 с.
ГОСТ 19.701-90. Схемы алгоритмов, пpогpамм, данных и систем. Единая система программной документации. – М.: Изд-во стандартов, 1991. – 26 с.
Алгоритмизации и программирования. Турбо Паскаль : метод. указания / сост. О.П. Шафеева. Омск: ОмГТУ, 2004. – 48 с.
Методы проектирования программ: метод. указания к выполнению курсовой работы / сост. О.П. Шафеева. – Омск: ОмГТУ, 2004. – 32 с.
Кинг, Д. Создание эффективного программного обеспечения / Д. Кинг. – М.: Мир, 1991. – 287 с.
Камаев, В.А. Технологии программирования / В.А. Камаев, В.В. Костерин. – М.: Высш. шк., 2005. – 359 с.
Приложение
Обозначения графические в схемах алгоритмов (гост 19.701-90)
Символ |
Наименование |
Назначение |
|
Данные
Процесс
Предопределенный процесс
Подготовка
Решение
Граница цикла
Соединитель
Терминатор
Комментарий
Основная линия |
Определяет ввод или вывод на внешнее устройство или любой носитель данных Отражает обработку данных: выполнение отдельной операции или группы операций Отображает предопределённый процесс, состоящий из одной или нескольких операций программы, которые определены в другом месте (подпрограмме, модуле) Отражает инициализацию и модификацию параметра для управления циклом со счётчиком Описывает проверку условия и выполняет переключение по одному из условий. Имеет один вход и два или более альтернативных выходов, один из которых активизируется после вычисления условия внутри символа Состоит из двух частей: начала и конца цикла. Обе части имеют один и тот же идентификатор. Изменение значения идентификатора, условия для выполнения или завершения помещаются внутри символов в начале или в конце цикла Используется для обрыва линии и продолжения её в другом месте. Должен содержать уникальное обозначение Определяет начало и конец структурной схемы алгоритма программы или подпрограммы Используется для добавления пояснительных записей. Связывается с символом или группой символов, обведённых пунктиром Отображает последовательность выполнения действий в алгоритме |