Вопросы для проверки знаний.

Содержание подразделов в разделе описаний

Вопросы для проверки знаний.

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

2. Опишите общую структуру программы на языке Паскаль.

3. Может ли в программе на языке Паскаль отсутствовать заголовок ?

4. В чем заключается описание величин, используемых в программе и как оно используется при ее выполнении?

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

6. Опишите структуру раздела операторов.

7. В чем заключается роль комментария в программе и как оформляются комментарии в программах на языке Паскаль ?

Синтаксис языка Паскаль предусматривает обязательное описание всех используемых в программе величин. Данные описания должны быть помещены в первом после заголовка разделе описаний в строго предписанном порядке. Рассмотрим все подразделы в порядке их вхождения.

Подраздел описания модулей - первый среди подразделов описаний - начинается служебным словом USES и содержит имена подключаемых модулей (библиотек, содержащих функции и процедуры для выполнения действий определенного вида) как входящих в состав системы Turbo Pascal, так и написанных пользователем. Имена модулей отделяются друг от друга запятыми. Например, описание библиотек CRT (работа с экраном, задание интерфейса программы) и Graph (вычерчивание графических элементов) имеет вид:

uses CRT, Graph;

Подраздел описания меток. Любой оператор в программе может быть помечен меткой - специальным именем, который ставится перед оператором и отделяется от него двоеточием. Основное назначение меток - обеспечение передачи управления при выполнении программы. В качестве имени метки можно использовать:

- обычный идентификатор языка Паскаль либо

- целое числа без знака, содержащее не более четырех цифр.

Все метки, используемые в программе, должны быть обязательно указаны в подразделе описания меток, который открывается служебным словом label (англ.- метка).

Пример описания меток:

label 1, 112, 1290, Enter;

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

Пример описания констант:

const K = 1024; MAX= 16384; s = ' площадь ';

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

Пример описания переменных:

var P,Q,R: Integer;

A,B: Char;

F1,F2: Boolean;

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

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

Замечание. В дополнение к описанным выше частям код программы на языке Паскаль может содержать ключи компиляции, которые позволяют управлять режимом компиляции программы. Синтаксически ключи компиляции записываются как комментарии, однако, в отличие от него, они влияют на выполнение программы. Каждый ключ компиляции содержит символ $ и букву-ключ с последующим знаком + (включить режим) или - (выключить режим). Например:

{$E+} - эмулировать математический сопроцессор;

{$F+} - формировать дальний тип вызова процедур и функций;

{$N+} - использовать математический сопроцессор;

{$R+} - проверять выход за границы диапазонов.

Некоторые ключи компиляции могут содержать параметр, например:

{$I имя файла} - включить в текст компилируемой программы названный файл.

Ключи компиляции вставляют в код программы в дополнительную строку перед текстами отдельных ее составных частей-подпрограмм. Кроме ключа в дополнительной строке нет никаких других символов.

1. Что такое модули и как они описываются в программе на языке Паскаль ?

2. Для чего используются метки и что может использоваться в качестве имени метки в языке Паскаль ?

3. Будут ли задавать правильные имена меток в языке Паскаль последовательности:

а) 10А, б) 9999, в) 10000, г) М1, д)А101, е) 4МFin, ж) Exit ?

4. Опишите структуру подраздела описания меток.

5. Опишите структуру подраздела описания констант.

6. Опишите структуру подраздела описания переменных.

7. Для чего нужны ключи компиляции и как они включаются в текст программы ?

4.7. Простейшие программы на языке Паскаль для обработки данных простых типов.
Основная задача программы и ее интерфейс

Каждая программа прежде всего реализует алгоритм решения некоторой основной расчетной задачи, в процессе которого обеспечивается:

1) ввод ее входных данных (аргумента Е) в вычислительную систему,

2) преобразование Е в выходные данные (результат задачи R): R = А(Е),

3) вывод от вычислительной системы к пользователю результата задачи R.

Блок-схема алгоритма типовой программы по преобразованию данных простых типов дана на рис.4.1. Простейшая программа без заголовка для ввода и вывода одиночных величин рассмотрена в п.4.3.

 

Рис. 4.1. Блок-схема типовой программы Рис. 4.2. Блок-схема алгоритма из примера 1

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

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

Пример 1. Задача расчета среднеарифметического значения S трех вещественных чисел a, b, c. Необходимо дать:

1) полное словесное описание алгоритма решения задачи,

2) блок-схему алгоритма,

3) текст программы на языке Паскаль.

Дополнительные требования к пользовательскому интерфейсу программы:

а) вначале работы программы должна выполняться очистка экрана с заданием красного фона,

б) ввод чисел a,b,c должен выполняться с клавиатуры с эхо-повтором на экране монитора, каждое число должно вводиться с новой строки,

в) вывод результата производится на экран с новой строки, цвет букв - желтый.

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

Решение.

1. Полное словесное описание алгоритма.

I Название алгоритма, аргументы Е и результаты R. Алгоритм определения среднеарифметического значения S трех вещественных чисел a, b, c. Аргументы: Е = { a, b, c }, результаты R ={ S }.

II Комментарий.Решение задачи производится путем расчета среднеарифметического значения по стандартной формуле.