Организация программ типовых структур

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

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

Операторы присваивания служат для вычисления значений выражения и присваивания его переменной, расположенной слева от символа: =.

Общий вид записи оператора:

а: = b

где a – имя переменной; b – выражение.

Примеры записи операторов:

Х: = 0,25 Х: = Х + 0,25

Т: = - 10,6 А: = Т

Два оператора присваивания задают переменным Х и Т числовые значения. Оператор Х: = Х + 0,25 вычисляет новое значение Х, изменяя предыдущее значение Х: = 0,25 на величину 0,25. В операторе А: = Т; переменная А получает значение Т.

Переменная и выражение должны принадлежать одному типу. Допускаются два исключения:

1) Переменная действительного типа, а выражения целого или ограниченного целого типа;

2) Выражения ограниченного по отношению к переменной типа и наоборот

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

Для ввода используются операторы:

READ (b1, b2 ,…..bn);

READLN (b1, b2,….., bn);

Где b1, b2,….., bn – имена переменных, подлежащих вводу данных из стандартного входу файла INPUT, в результате которой имена переменных b1, b2,….., bn получают соответствующие значения. Типы вводимых переменных должны соответствовать типам вводимых значений.

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

Оператор READLN (b1, b2,….., bn); обеспечивает выборку данных из стандартного файла INPUT, но после окончания выборки последней переменной осуществляется переход к началу новой строки файла.

При вводе значений переменных целого и действительного типов операторы READ и REАDLN пропускают пробелы между значениями. Оператор READLN; обеспечивает пропуск одной строки в стандартном файле INPUT и переход к началу новой строки.

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

REАD (A, B, C);

READLN (A, B, C);

Для ввода информации используются операторы:

WRITE (b1, b2,….., bn);

WRITELN (b1, b2,….., bn)

WRITELN;

Где b1, b2,….., bn – имена переменные, подлежащих выводу.

Оператор в WRITELN (b1, b2,….., bn): выполняет вывод значений, соответствующих именам b1, b2,….., bn, стандартный выходной файл OUTPUT и после вывода последнего значения осуществляет переход к новой строке файла OUTPUT.

Оператор WRITELN обеспечивает пропуск строки в файле и переход к началу следующий строки.

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

Примеры записи операторов:

WRITE (A, B, C):

WRITELN (A, B, C):

Ширина поля вывода определяется типом устройства, использующего в данной ЭВМ. Форма представления выводимых переменных определяется типом переменных: значение величин целого типа выводятся в обычной форме; значение величин действительного типа – в виде нормализованного числа действительного типа с порядком; значение логического типа – в виду логических значений TRUE и FALSE; значения символьных переменных – в виде соответствующих символов.

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

WRITE (b: m);

WRITELN (b; m);

Где b – имя выводимой переменной; m – константа или выражение целого типа.

Пример записи:

WRITE (D: 6, IR: 8);

Значения переменных D и IR размещаются в одной строке и занимают соответственно шесть и восемь позиций. Каждое значение размещается в отведённом поле и занимает крайние правые позиции. При этом не заполненные позиции остаются свободными и образуют пробелы. Если значения переменной не размещаются в отведённом поле, то число позиций увеличивается.

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

WRITE (b: m: n);

WRITELN (b: m: n);

Где m – поле, отводимое под запись значения; n – часть поля, отводимого под дробную часть числа.

Пример записи:

WRITE(А: 8: 3);

В этом случае под значение А выделяется 8 позиций, три из которых отводятся под дробную часть числа. Если при выводе действительных значений количество позиций, отводимых под дробную часть числа, не указывается, то результат получается в нормализированном виде с десятичном порядком.

При выводе нескольких значений на одной строке для наглядности задаются необходимом количеством пробелов. Дл этого записывают оператор вывода в виде WRITE(´ ´:q); где q – константа целого типа указывающая число пробелов. Например:

WRITE(А, ´ ´: 4, B);

Между значениями А и В обеспечивается гарантированный интервал в четыре пробела.

Приведённые ниже примеры демонстрируют различные виды размещений информации при выводе:

PROGRAM PRIM1 (OUIPUT);

CONST PI=3, 141592;

T=401;

W=TRUE;

SIM=´ D´;

BEGINE

WRITELN(PI: 8: 6);

WRITELN(T: 6, ´ ´: 5, W: 4, ´ ´: 6, SIM:1);

END.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: