- •Программирование в системе 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)
- •Содержание
1.4. Компиляция и исправление синтаксических ошибок
После подготовки текста программы необходимо ее откомпилировать, связать с библиотекой стандартных процедур и функций, загрузить в оперативную память и передать ей управление. Компиляцией называется трансляция программы, записанной на исходном языке, в объектный модуль и создание в результате исполняемого файла.
Вся эта последовательность действий называется исполнением программы и реализуется в разделе Программа командой Выполнить (F9). Вызов команды Выполнить приводит к компиляции и исполнению программного модуля, находящегося непосредственно в редакционном окне (рис. 3). Кроме этого система Pascal ABC позволяет выполнять пошаговую компиляцию и исполнение со входом в подпрограмму (F7) или без входа в подпрограмму (F8), а также исполнение программы вплоть до строки программы, в которой находится курсор, с помощью клавиши F4.
Рис. 3
Этап компиляции позволяет определить наличие или отсутствие синтаксических ошибок в программе. При их обнаружении среда автоматически загружает в окно редактора исходный файл и помещает курсор в ту строку программы, при компиляции которой найдена ошибка.
Во многих случаях такие ошибки возникают из-за неправильного набора текста на клавиатуре, пропуска запятых, двоеточий и т.п. Найденная ошибка исправляется программистом, и производится повторная компиляция программы.
Если в программе нет синтаксических ошибок, то далее производится тестирование программы, в процессе которого выявляются семантические и алгоритмические ошибки [4, 5]. Тестирование включает подготовку тестов (специальным образом подобранных наборов входных данных, для которых заранее просчитан результат), его прогон и сравнение полученных результатов с эталонными (тестовыми). Число тестовых наборов должно быть достаточным для слежения за ходом выполнения программы по всем ее ветвям и проверки свойств, характеристик и функций (спецификаций) проектируемой программы. Кроме того, необходимы наборы, контролирующие допустимые значения для исходных данных и предельные значения для результатов.
1.5. Этапы подготовки и решения задач на компьютере
Практика программирования показывает, что решение прикладных, инженерных, экономических и научных задач на ЭВМ сложный и трудоемкий процесс, состоящий из следующих этапов.
1. Постановка задачи состоит в четком изложении условия задачи и определении подзадач.
2. Физический и математический анализ. Анализируется, существует ли вообще решение данной задачи и единственно ли оно. Подбирается математический аппарат, и строится математическая модель для решения задачи. Выбирается метод или методика решения (составляются формулы, определяются правила, связывающие эти формулы).
3. Этап алгоритмизации. На основании выбранного метода и конкретных методик с учетом возможностей ПК разрабатывается алгоритм и строится его схема. Этот этап заключается в разложении вычислительного процесса на возможные составные части, описании содержания каждой такой части, установлении порядка их следования, которые определят структуру программы, т. е. разрабатывается укрупнённый алгоритм решения задачи и проверяется возможность реализации выбранного метода. Подобное расчленение алгоритма на составные части называется структуризацией.
4. Этап программирования. Выбирается язык и (или) система программирования, и в соответствии с алгоритмом разрабатывается программа на конкретном языке программирования.
5. Отладка программы и тестирование. Отладка программы состоит в обнаружении и исправлении ошибок, допущенных на всех этапах проектирования программы. Синтаксические ошибки обнаруживаются компилятором, который выдаёт сообщение об ошибке и её месте (в основном это ошибки в написании операторов) при компиляции. Алгоритмические ошибки или смысловые (семантические) обнаруживаются в результате тестирования.
6. Решение задач на компьютере.
7. Обработка результатов решения задач. Производится анализ результатов, строятся таблицы, графики, делаются выводы.
Дополнительно могут присутствовать такие этапы, как описание структуры программы, описание структур данных, оптимизация программы, этап документирования.
Готовая программа в компьютере проходит следующие стадии:
Различают следующие системы подготовки и выполнения программы:
1) компилирующего типа (статистическая подготовка) (СИ, ПАСКАЛЬ);
2) интерпретирующего типа (динамическая подготовка).
В системах компилирующего типа сначала для всей программы готовится загрузочный модуль, который затем выполняется, т.е. подготовка и выполнение разделены во времени.
В системах интерпретирующего типа последовательно читается, транслируется и сразу же выполняется оператор за оператором (БЕЙСИК).