→ Пошук по сайту       Увійти / Зареєструватися
Знання Мова програмування Pascal

Константы, переменные, выражения

6.КОНСТАНТЫ

Тип констант в языке ПАСКАЛЬ определяется по их виду: константы целого типа - это целые числа, не содержащие десятичной точки, константы действительного типа - действительные числа, логические константы - логические значения TRUE и FALSE, символьные константы - либо строки длиной в один символ, либо конструкции вида #K или ^K.

Язык ПАСКАЛЬ допускает использовать синонимы для обозначения констант, в этом случае текст программы содержит раздел описания констант, например: {}

7. ПЕРЕМЕННЫЕ.

ИНИЦИАЛИЗАЦИЯ ПЕРЕМЕННЫХ

Тип переменных определяется пользователем в разделе описания пере- менных:{}

В настоящее время в профессиональном программировании принято записывать имена переменных с использованием так называемой венгерской нотации.

Венгерская нотация - это соглашение о наименованиях переменных и функций. Соглашение широко используется при программировании на языках PASCAL, C и в среде WINDOWS.

Венгерская нотация основывается на следующих принципах:

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

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

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

Префикс Типкоординаты символа или точки на экране
by Byte
sh Shortint
i Integer
w Word
l Longint
r Real
si Single
d Double
e Extended
c Comp
ch Char
b Boolean
p Pointer
x,у  

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

a Array
s String
sz Stringz
se Set
re Record
f File
t Text

Например:

rV, arVector[1..20], sName, iCount
.

В откомпилированной программе для всех переменных отведено место в памяти, и всем переменным присвоены нулевые значения.

Для задания начальных значений переменным (инициализации переменных) TURBO PASCAL позволяет присваивать начальные значения переменным одновременно с их описанием. Для этого используется конструкция

имя переменной: тип = значение;

которая должна быть размещена в разделе описания констант, например:

const rWeight: Real = 0.4;

8. ВЫРАЖЕНИЯ

Выражение состоит из констант, переменных, указателей функций, знаков операций и скобок. Выражение задает правило вычисления некоторого значения. Порядок вычисления определяется старшинством (приоритетом) содержащихся в нем операций. В языке ПАСКАЛЬ принят следующий приоритет операций:

  1. арная операция not, унарный минус -, взятие адреса @
  2. операции типа умножения * / div mod and shl shr
  3. операции типа сложения + - or xor
  4. операции отношения = <> < > <= >= in

Выражения входят в состав многих операторов языка ПАСКАЛЬ, а также могут быть аргументами встроенных функций.

9. ОПЕРАТОР ПРИСВАИВАНИЯ

:=

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

10. ОПЕРАТОРЫ ВВОДА И ВЫВОДА

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

Для ввода и вывода данных используются стандартные процедуры ввода и вывода Read и Write, оперирующие стандартными последовательными файлами INPUT и OUTPUT.

Эти файлы разбиваются на строки переменной длины, отделяемые друг от друга признаком конца строки. Конец строки задается нажатием клавиши ENTER.

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

 Read(A1,A2,...AK);
         ReadLn(A1,A2,...AK);
         ReadLn;
 

Первый из них реализует чтение К значений исходных данных и присваивание этих значений переменным А1, А2, ..., АК. Второй оператор реализует чтение К значений исходных данных, пропуск остальных значений до начала следующей строки, присваивание считанных значений переменным А1, А2, ..., АК. Третий оператор реализует пропуск строки исходных данных.

При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам. Чтение исходных данных логического типа в языке ПАСКАЛЬ недопустимо.

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

 var rV, rS: Real;
         iW, iJ: Integer;
         chC, chD: Char;
         ................
         Read(rV, rS, iW, iJ);
         Read(chC, chD);
 

Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter.

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

 Write(A1,A2,...AK);
         WriteLn(A1,A2,...AK);
         WriteLn;
 

Первый из этих операторов реализует вывод значений переменных А1, А2,...,АК в строку экрана. Второй оператор реализует вывод значений переменных А1, А2, ..., АК и переход к началу следующей строки. Третий оператор реализует пропуск строки и переход к началу следующей строки.

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

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

Форма представления значений в поле вывода соответствует типу переменных и выражений: величины целого типа выводятся как целые десятичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде символов, логического типа - в виде логических констант TRUE и FALSE.

Оператор вывода позволяет задать ширину поля вывода для каждого элемента списка вывода. В этом случае элемент списка вывода имеет вид А:К, где А - выражение или строка, К - выражение либо константа целого типа. Если выводимое значение занимает в поле вывода меньше позиций, чем К, то перед этим значением располагаются пробелы. Если выводимое значение не помещается в ширину поля К, то для этого значения будет отведено необходимое количество позиций. Для величин действительного типа элемент списка вывода может иметь вид А:К:М, где А - переменная или выражение действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой.

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

. . . . . . . . . . . .
        var rA, rB: Real;       iP,iQ:Integer;
        bR, bS: Boolean;    chT, chV, chU, chW: Char;
        . . . . . . . . . . . .
        WriteLn(rA, rB:10:2);
        WriteLn(iP, iQ:8);
        WriteLn(bR, bS:8);
        WriteLn(chT, chV, chU, chW);
загрузка...
Сторінки, близькі за змістом