- •Концепция типов данных
- •Стандартные простые типы
- •3.1 Целый тип
- •3.1.1. Операции над данными целого типа:
- •3.2. Действительный тип
- •3.2.1. Операции над данными действительного типа:
- •3.3. Логический тип
- •Концепция типа данных. Фундаментальные структуры данных
- •1. Простые типы
- •1.1 Целочисленные типы
- •Предопределенные целочисленные типы
- •1.2 Логический тип
- •1.3 Символьный тип (char)
- •1.4 Перечисляемый тип
- •1.5 Интервальный тип
- •1.6 Вещественный тип.
- •Вещественный тип
- •Операции над вещественными числами
- •Операции присваивания.
- •Операции ввода-вывода.
- •Стандартные функции
- •Диапазон представления для вещественных типов
- •2. Структурированные типы
- •2.1 Массив
- •Операции над множествами
- •2.3 Запись
Операции над вещественными числами
Операции присваивания.
Примеры присвоения значения:
с := -125.6;
e := 10;
d := 1.e2; {1*102}
d1 := 1.2e-257; { 1.2*10-257 }
b := 32*a+Sin(x);
Арифметические операции (+, -,*,/)
При записи формул (выражений) в программе следует учитывать такую особенность: компьютер будет в первую очередь выполнять вычисления в скобках, затем операции умножения и деления, и в последнюю очередь- сложение и вычитание:
1. |
( ) |
2. |
*, / |
3. |
+, - |
Операции с равным приоритетом (+ , - ), (*, /) выполняются слева направо в том порядке, как записаны в выражении. Если у программиста нет уверенности в том, что вычисления будут выполняться в нужном порядке, то лучше расставить лишние скобки, помня о том, что вычисления в скобках выполняются в первую очередь. Например, в выражении А+В*С/D-Е, согласно правилам языка Паскаль, сначала будет выполнено B*C, затем результат делится на D, и только после этого наступит очередь сложения и вычитания:
Если сложение и вычитание требуется выполнить в первую очередь, то следует соответствующим образом расставить скобки: (A+B)*C/(D-E), что в форме алгебраической записи будет выглядеть так:
Операции ввода-вывода.
Например, операторы Write(a, b, c); или Write(a); Write(b); Write(c); или Writeln(a, b, c); - выводят значения переменных "a", "b", "c" начиная с текущей позиции курсора.
Например, для вывода значений переменных "a", "b", "c" в трех строках экрана следует написать:
Writeln(a); Writeln(b); Writeln(c);
Оператор Writeln; переводит курсор на начало следующей строки экрана.
В операторах вывода допускается производить арифметические действия, например, оператор Writeln(32*a+Sin(x)); соответствует операторам b:=32*a+Sin(x); Writeln(b);
При выводе данных можно задавать формат вывода. Для этого после имени переменной ставится знак двоеточие " : ", например: Writeln(a:5:2); - при выводе значения переменной вещественного типа отводится 5 позиций (включая отрицательный знак и точку), из них 2 позиции отводится для вывода цифр в дробной части.
Если формат вывода не задавать, то вещественных чисел - в экспоненциальной форме с количеством цифр, соответствующих типу переменной, например, оператор Writeln('а=', a); выведет на экран надпись: a=5.0200000000E+00 (тип Real), либо
a=5. 02000000000000E+0000 (тип Double).
Перед вводом данных с клавиатуры желательно вывести на экран поясняющее сообщение. Для этого в программу следует включить оператор вывода, например: Write('введите значение а='); затем оператор Readln(a); При выполнении программы на экране появится надпись: введите значение а= . Оператор Readln(a); будет ждать ввода данных. Следует набрать на клавиатуре значение переменной "а", например, число и нажать клавишу Enter.
Для ввода значений нескольких переменных, например, a, b, c применяются конструкции вида: Readln(a); Readln(b); Readln(c); или Readln(a, b, c);
При вводе нескольких числовых данных, например, оператором Readln(a, b, c); необходимо после набора каждого значения переменной нажимать клавишу «Пробел», а в конце ввода - Enter.
Операции отношения (>,<,<>,>=,<=).
Желательно избегать равенства, т.к. значения приблизительные (с разной точностью).
Можно использовать в операторах сравнения if, в операторах цикла while и repeat.
Например:
If x<=0.1 then writeln(‘точка принадлежит плоскасти’);
While e<=0.1E-6 do begin … end;
Repeat … x:=x+0.1;… until x>2.5;
