Вопросы для проверки знаний.
Содержание подразделов в разделе описаний
Вопросы для проверки знаний.
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 Комментарий.Решение задачи производится путем расчета среднеарифметического значения по стандартной формуле.