Основы программирования на языке Паскаль

массивы записи

Стандартные Определённые

пользователем строки файлы p>

целые логические интервальные множества

вещественные перечисляемые указатели

байтовые символьные

Каждому типу данных могут соответствовать константы. Количество элементов констант (цифр, букв) сильно зависит от конкретной конфигурации машины. Однако можно сказать, что для целого типа числа максимальное значение 32767, для вещественных, как минимум, – до 7 цифр мантиссы, для строковых – 255 символов и т.д.

Константы байтового типа – целые числа в диапазоне 0 – 255. Целые константы – набор цифр, возможно, со знаком ¢+¢ или ¢–¢. Вещественные константы могут записываться в двух формах – с фиксированной точкой: 57.34;

-256.758 и с плавающей точкой: 5.734е+01 (эквивалент 57.34) и -2.56758е+02

(эквивалент -256.758).

Логических (булевских) констант всего две: TRUE и FALSE. принято, что в машинном коде TRUE=1, FALSE=0. знаковые константы представляют все символы алфавита плюс символы кириллицы, но не для того, чтобы символ стал константой, его нужно заключить в апострофы: ¢А¢, ¢1¢, ¢+¢, ¢?¢ и т.д. Константы могут храниться в ячейках памяти, определенных какими-либо именами (идентификаторами).

Идентификатор – набор букв и цифр, первая из них – всегда буква, например А, ALP1, B2, GAMMA. Идентификаторы могут быть длиной до 255 символов, однако большинство компиляторов накладывает ограничение, т.е. длина имени не должна превышать восьми символов. Идентификатор в своем составе может содержать знак ¢_¢ (подчерк).

Переменные могут быть описаны в разделе описания переменных Var. разделов описания может быть до пяти, лучше их располагать в следующем порядке: Label, Const, Type, Var, functuonиprocedure.

Если данное будет изменяться (по величине) в процессе выполнения программы, то имя этого данного описывается в разделе Var с соответствующим атрибутом:

Байтовый тип – byte;

Целый тип – integer;

Вещественный тип – real;

Булевский тип – boolean;

Символьный тип – char и т.д.

Пример:

Var

k n:integer;

S,T,Z: char;

a,b,c: real;

L25,L3: boolean;

FAZA: byte;

В этом случае все описанные идентификаторы можно применять в программе. Работа этого раздела будет заключаться в том, что машина выделит две ячейки памяти с именами k и n. В ячейках могут храниться только целые числа: в ячейках с именами S,T,Z – по одному символу; в ячейках a,b,c – только величины типа вещественных чисел; в L25 и L3 –величины true и FALSE, а в ячейке с именем FAZA – только числа от 0 до 255. Если попытаться, например, в ячейку S поместить не символ, а число, то это приведет к ошибке, т.е. правильно S:= ¢A¢; или S:= ¢$¢; или S:= ¢1¢; однако неверно S:= 1 (1 – число в отличие от ¢1¢ – символа). Если в процессе выполнения программы данное не меняется, то его можно описать в разделе "Описания констант":

Const

A=36.74; B=true;

С=¢а¢;

Здесь тоже выделяются ячейки памяти с именами А,В,С для хранения заданных величин, которые не подлежат изменению.

Допустимо описание констант-выражений:

Const

М = (32.5 + 0.64) / 3.14;

Кроме того, машина "знает", чему равны константы е и π.

Пример. Составить программу для вычисления выражения

, где величины R, а, S, L, K вводятся с клавиатуры.

Пусть k, l - целые числа, остальные – вещественные.

Program Prim2,

Var k,L:integer;

Y,R,a,S : real; {здесь для хранения результата y тоже}

{нужна ячейка памяти}

Begin writeln ('введите це', {выдача на экран текста, указанного в}

'лое k,L, действительные' {кавычках; обратите внимание на прави-}

'R,а,S'); {ло переноса текста в операторе writeln:}

{если нужно перенести текст, то ставится} {закрывающий апостроф, затем запятая,}

{новая строка вновь начинается с апострофа}

readln (k,L,R,a,S);

Y: = 1-l(l+sqr(r* a/k))/(exp(2)/sqr(s)* sqr(l+r* a/l));

writeln (Y); readln;

END.

То же самое будет, если записать программу:

Program Prim2a;

Var k,L: integer, R,a,S:real;

Begin writeln ('введитецелые k,L'); readln (k,L);

writeln ('введитевещественные r,S,a'); readln (R,S,a);

writeln(l-l/(l+sqr(r*a/k))/(exp(2)/sqr(s)*sqr(l+r*a/l)),

readln; END.

Последний оператор writeln вначале вычислит арифметическое выражение, а затем выведет на экран его значение в виде числа. Если мы хотим, чтобы результат был в виде 'результат Y = число', то необходимо последний writeln написать в следующем виде:

writeln ('результат Y =',1-l/(l+sqr(r*a/k))/exp(2)/sqr(s) *sqr(l+r*a/l)); тогда машина вначале выведет текст, взятый в апостроф, т.е. "результат Yi", а затем его значение.

2.7. Раздел описания типов

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

Пусть нам нужна переменная с именем season (сезон года). она может принимать значения winter (зима), spring (весна), summer (лето), autumn (осень), другие значения она принимать не может. Тогда нужно сделать следующее описание:

Varseason: (winter, spring, summer, autumn).

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 
 16  17  18  19  20  21  22  23  24  25  26  27  28  29  30 
 31 


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы