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

Структура паскаль-программы

Цель работы: Изучение структуры типичной программы на языке Паскаль. Формирование навыков работы в среде программированияPascalABC.

Краткие теоретические сведения

Структура Паскаль-программы. Программа на языке ПАСКАЛЬ состоит из заголовка, разделов описаний и раздела операторов.

Заголовок программы содержит имя программы, например:

Program Example_1;

Описания могут включать в себя раздел подключаемых библиотек (модулей), раздел описания меток, раздел описания констант, раздел описания типов, раздел описания переменных, раздел описания процедур и функций.

Раздел описания модулей определяется служебным словом USESи содержит имена подключаемых модулей (библиотек) как входящих в состав

системы PascalABC, так и написанных пользователем. Раздел описания модулей должен быть первым среди разделов описаний. Имена модулей отделяются друг от друга запятыми:

uses CRT, GraphABC;

Любой оператор в программе может быть помечен меткой. В качестве

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

label3, 471, 29, Quit;

Описание констант позволяет использовать имена как синонимы констант, их необходимо определить в разделе описаний констант:

constk=1024;maxnum=16384;

В разделе описания переменных необходимо определить тип всех переменных, используемых в программе:

varp, q, i: Integer;

pname: Char;

f1, to_be: Boolean;

x:real;

Типы делятся на две группы: простые и составные, состоящие из элементов простых типов. Некоторые простые типы данных:

Byte.Байтовые. Принимают значения из промежутка от 0 до 255. В памяти для переменной этого типа выделяется 1 байт.

Word.Переменные типа "слово". Принимают значения из промежутка от 0 до 65535. В памяти для переменной этого типа выделяется 2 байта.

Integer.Целые. Принимают значения из промежутка от -32768 до 32767. В памяти для переменной этого типа выделяется 2 байта.

Real.Вещественные (с дробной частью). Принимают значения из промежутка (по модулю) от 2.9*10E-39 до 1.7*10E38. В памяти для переменной этого типа выделяется 6 байт, количество цифр после запятой может достигать 11-12 цифр.

Boolean.Логические. Принимают только два значения: True (истина) и False (ложь).

Описание типов, процедур и функций будет рассмотрено в других лабораторных работах. Отдельные разделы описаний могут отсутствовать, но, в ПАСКАЛЬ - программе должны быть обязательноописанывсекомпоненты программы (метки, константы, переменные и т.д.).

Раздел операторов представляет собой составной оператор, который содержит между служебными словами begin ....... end последовательность операторов. Операторная часть содержит последовательность предписаний, которые должен выполнить компьютер по ходу программы. Служебные словаbeginиend, окаймляющие операторы, называютсяоператорными скобками. Операторы отделяются один от другого символом "точка с запятой". После оператора, стоящего перед последнимend программы точку с запятой допускается не ставить. В конце программы всегда ставится символ "точка".

В некоторых реализациях языка Паскаль допускаются отступления в формировании структуры от приведенной последовательности. Например, в PascalABCзаголовок программы не является обязательным, а разделы описания элементов программы могут следовать друг за другом в произвольном порядке. Тем не менее, для сохранения совместимости с другими средами Паскаль - программирования рекомендуется использовать описанную выше структуру программы.

Кроме описаний и операторов ПАСКАЛЬ - программа может содержать комментарии, которые представляют собой произвольную последовательность символов, расположенную между открывающей скобкой комментариев { и закрывающей скобкой комментариев } или начинающуюся с символа "//".

Таким образом, программа на языке Паскаль имеет следующий вид:

program имя программы; раздел описаний begin   операторы end.

При составлении программ рекомендуется применять следующие практические правила.

  1. Располагать операторные скобки с одинаковым отступом от левого края, а операторы по уровням вложенности

begin

оператор1;

оператор2;

оператор3;

end;

  1. Использовать строчные буквы для записи операторов, обозначения переменных, процедур, функций и иных компонентов программы. Хотя транслятор Паскаля позволяет использовать и прописные и строчные буквы, на практике применение последних более распространено;

  2. Использовать содержательные комментарии для операторов и фрагментов программы. Это упрощает понимание принципов работы программы как другими разработчиками, так и самим автором через значительный промежуток времени.

Среда программирования PascalABC. Программный продукт PascаlABC был разработан специально для обучения основам программирования. Основные элементы главного окна программы представлены на рисунке 1.

Рисунок 1 – Расположение элементов главного окна PascalABC

Редактор предназначен для ввода исходного текста программы.

Часто применяемые клавиши:

F2,Ctrl-S- сохранить файл.

F3,Ctrl-O- загрузить файл.

F12- сохранить файл под новым именем.

Ctrl-Shift-S- сохранить все открытые файлы.

Ctrl-0...Ctrl-9- перейти к закладке с номером 0...9.

Ctrl-Tab,Ctrl-Shift-Tab - перейти к следующему/предыдущему окну редактора.

Ctrl-Shift-I- увеличить отступ выделенного блока.

Ctrl-Shift-U- уменьшить отступ выделенного блока.

Окно вывода. Под окном редактора расположено окно вывода. Оно предназначено для вывода данных процедурамиwriteиwriteln, а также для вывода сообщений об ошибках и предупреждений во время работы программы.

Окно вывода может быть скрыто. Клавиша F5и кнопка>123показывают/скрывают окно вывода. Для скрытия окна вывода используется также клавишаEsc.

Окно вывода обязательно открывается при любом выводе в него.

Для очистки окна вывода следует нажать комбинацию клавиш Ctrl-Delили кнопку .

Окно ввода. Окно ввода открывается при выполнении процедурreadиreadlnв ходе работы программы. Ввод данных в в окно ввода сопровождается эхо-выводом в окно вывода (см. рисунок 1). После нажатия клавишиEnterданные из окна ввода попадают в соответствующие переменные, окно ввода закрывается, и программа продолжает работать дальше. При вводе чисел с дробной частью десятичным разделителем является символ "точка".

Запуск и остановка программы.

Для запуска программы в текущем окне редактора следует нажать клавишу F9или кнопку панели инструментов.

Программа вначале компилируется во внутреннее представление, после чего, если не найдены ошибки, программа начинает выполняться. При выполнении программы кнопка запуска программы становится неактивной, кнопка останова программы, наоборот, активной и в строке статуса отображается информация "Программа выполняется".

Выполнение программы можно в любой момент прервать нажатием комбинации клавиш Ctrl-F2 или кнопки .

Пошаговое выполнение программы.

Режим пошагового выполнения предназначен для отладки программы. Для выполнения одного шага (одной строки) программы следует нажать клавишу F8или кнопку(шаг без входа в подпрограмму), либо клавишуF7или кнопку(шаг со входом в подпрограмму). Для выполнения программы до данной строки следует установить на нее курсор и нажать клавишуF4или кнопку .

Прервать программу, находящуюся в режиме пошагового выполнения, можно с помощью комбинации клавиш Ctrl-F2 или кнопки. Если программа находится в режиме пошагового выполнения, то ее можно выполнить до конца, нажав F9.

Окно отладки.

Окно отладки позволяет просматривать во время пошагового исполнения программы значения переменных. По умолчанию оно располагается в правом верхнем углу окна редактора и имеет следующий вид (рисунок 2).

Рисунок 2- Общий вид окна отладки

Окно отладки включается/выключается нажатием комбинации клавиш Ctrl-Shift-W или меню Вид→Окно отладки. Для добавления переменной или выражения в окно отладки следует нажать комбинацию клавиш Ctrl-F5 или кнопку. Можно также перетащить из редактора в окно отладки выделенное выражение левой кнопкой мыши или при активном окне отладки нажать клавишу Ins. Допускаются выражения, содержащие функции, в т.ч. и определенные в программе. Для удаления строки из окна отладки следует выделить эту строку и нажать клавишу Del или воспользоваться командой контекстного меню окна отладки, вызываемого правой кнопкой мыши. Для изменения строки в окне отладки следует дважды щелкнуть на ней.Для очистки окна отладки следует нажать комбинацию клавиш Ctrl-Del или воспользоваться командой контекстного меню окна отладки. Если выражение неверно, его вычисление вызывает ошибку или в данном контексте недоступны некоторые переменные, то при выполнении программы в столбце "Значение" появляется сообщение "нельзя вычислить".

При компиляции программы (преобразовании в машинный код) могут возникать различные ошибки, связанные как с неправильным использованием структур языка (семантические), так и с неправильным их написанием (синтаксические). При обнаружении синтаксической ошибки в тексте программы компилятор выдает сообщение с указанием ее характера и ставит курсор в место ее обнаружения в программе.

Задание на работу

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

Таблица 1 – Текст программы с комментариями

Строки программы

Пояснения (комментарии)

program addition;

Заголовок программы

var x, y, summa: real;

Описание трех переменных:

x, y, summa – вещественного типа

begin

Начало раздела операторов

writeln('Введите первое слагаемое');

Вывод на экран поясняющей надписи для пользователя

readln(x);

Ввод значения переменной x с клавиатуры

writeln('Введите второе слагаемое');

Вывод на экран поясняющей надписи для пользователя

readln(y);

Ввод значения переменной y с клавиатуры

summa:=x+y;

Вычисление суммы x и y с занесением результата в переменную summa

writeln('Сумма=', summa:6:3);

Вывод результата сложения на экран

end.

Конец программы

  1. Запустить программу на выполнение.

  2. Запустить программу на выполнение в пошаговом режиме с контролем текущих значений всех переменных на каждом шаге.

  3. Заменить операцию суммирования на другие арифметические операции.

Лабораторная работа № 2