Электронная версия курса лекций по дисциплине "Информатика", страница 8

writeln('Укажите исходные данные:');                             {29}

end;                                                                                     {30}

Анализ программного обеспечения

1  Рассмотрим использование словаря (алфавита) языка Паскаль. В состав  алфавита входят  ключевые (служебные) слова и символы. В рассматриваемых программах используются  служебные слова: program, uses, const, var, real, text, char, begin, end, integer,  string, if,  then,  else. Символы подразделяются на буквы, арабские цифры,  знаки арифметических операций,  знаки опера­ций сравнения,  разделители (знаки препинания,  скобки,  апост­рофы, :=).

2  Комментарии помещаются в программу только  для программистов и пользователей программы. Текст комментария заключается в фигурные скобки и ЭВМ не анализируется. В языке программирования Турбо Паскаль запрещается использовать вне комментария русские буквы, за исключением вывода строки символов.

3  Вторая строка является заголовком программы. Имя про­граммы lab4.  Она  находится  в  файле а:\lab4.pas .Двадцать пер­вая строка- это заголовок процедуры. Имя этой  нестандартной, т.е. не входящей в комплект программного обеспечения Турбо Паскаля, процедуры - outpr. Ее вызов осуществляется в 10 строке.

4  В данном программном  обеспечении  используются  имена (идентификаторы): стандартных подпрограмм - write,  writeln,  readln,  assign,  assigncrt,  close, rewrite, clrscr,  readkey; в основной программе констант -  ind, falename и  переменных - u , i , r, f, ch; а в процедуре outpr переменных - ind, filename. Стандартными на­зываются подпрограммы, входящие  в  комплект программного обеспечения языка программирования.  Идентификаторы должны начинаться с буквы, за которой  могут следовать цифры.

5  В общем случае используемые в программе  подпро­граммы, константы,  типы  переменных  и  переменные должны быть описаны (объявлены). Это делается либо непосредственно  в  программе  в соответствующем  разделе  описаний,  либо  с помощью указания в предложении uses (см. строку 3) имен моду­лей типа Unit, в которых  эти описания выполнены.  Исключением являются описания, выполненные в стандартном модуле System,  которые всегда доступны  программе. Так процедурами, описан­ными в этом модуле, и используемыми в программе являются:  write, writeln, readln, close, а в пользовательской процедуре outpr - assign и rewrite. В модуле Crt  описаны  используемые  подпро­граммы - readkey ,   clrscr, assigncrt. Пользовательская процедура outpr описана в строке  8 с помощью директивы Include,  обеспе­чивающей замену  с помощью ЭВМ этой строки на текст файла a:\outpr.pas.

В сроках 4 и 5 описаны константы:  целочисленная - ind (индикатор) и типа строка символов - filename(имя файла).  При описании  переменных  (см.  строки 6 и 7) должен быть указан их тип. Используются такие стандартные типы данных как геаl  (действительный (синоним - вещественный) ), integer (целочисленный),  string (строка символов), char (символ), text для описания файловых переменных текстового типа) и др. С помощью типа real, в отличие от типа integer, описываются переменные значения, которых имеют цифры после десятичной точки.

6  Следует   уделять  внимание  рациональному  размещению текста программы.  Использование пробелов и отступов  позволяет улучшить наглядность программы. Количество используемых строчек для записи каждого оператора и количество операторов  в  каждой строке не  ограничивается  и выбирается из соображений удобства чтения программы человеком.  Однако нельзя разделять  пробелами части одного идентификатора или размещать их на разных строках. Там, где можно по синтаксису языка поставить один  пробел,  там можно поставить произвольное количество пробелов.

7  Операторы отделяются друг от друга символом ";".

8  Для задания границ каждого блока программы служат слова begin и end.  Для простых программ,  в отличие  от  сложных, обычно достаточно  одной такой пары.  Последнее слово end программы должно заканчиваться точкой.  После набора этой точки необходимо не забыть нажать на клавишу "Ввод".

9  В 10 строке вызывается процедура outpr. Она имеет фактические параметры:  f  - текстовая файловая переменная;  ind численное значение  этого идентификатора определяет то,  куда производится  вывод данных и filename. Его значение является именем дискового файла, в который может осуществляться вывод данных.

10В   заголовке   процедуры   outpr   (21 строка)  в скобках  указываются  формальные параметры (с указанием их типов): па­раметр-переменная  f, параметры-значения этой подпрограммы - ind и filename.  Эти параметры получают свои  значения  от  соот­ветствующих фактических параметров при вызове подпрограммы.

В 24 строке вызывается процедура clrscr, которая обеспечи­вает очистку экрана.

В 25-27 размещается оператор "если-то-иначе". В нем прове­ряется условие ind=1. Если оно выполняется, то сызывается процедура assign(f,filename). Она устанавливает соответствие между файло­вой переменной f и дисковым файлом,  имя которого является значением переменной  filename.  В  результате  данные, выводи­мые в файловую переменную, f будут автоматически выводиться в  указанный дисковый файл.

Иначе (т.е.  если условие не верно)  выполняется  второй оператор "если-то-иначе". В нем проверяется условие ind=2. Если  условие   истинно,  то  вызывается     процедура assign(f,'prn'). Устанавливается  соответствие между переменной f и внешним устройством по имени 'prn' (т.е. принтером). При не выполнении последнего условия вызывается процедура assigncrt(f), которая устанавливает соответствие между переменной f и экраном дисплея.

Затем вызывается процедура rewrite(f), которая открывает файл f для записи в него данных.

После выполнения подпрограммы outpr осуществляется возврат в  программу и ввод в интерактивном (диалоговом) режиме исходных данных.

11Ввод и вывод значений переменных.

Пусть в  рассматриваемой  программе  вводятся   значения u=20.5 i=5. Тогда на экране пользователя появится (после завершения программы) следующий текст: