курсовые,контрольные,дипломы,рефераты
С.А. Григорьев
В языке Паскаль определены следующие арифметические типы данных: целочисленные типы - Byte, ShortInt, Word, Integer и LongInt; вещественные типы - Single, Real, Double и Extended; и не совсем вещественный тип Comp. Характеристики этих типов приведены в таблице 1 (запись 1.5e-45 означает 1.5, умноженное на 10 в степени -45, это общепринятое в языках программирования обозначение для вещественных чисел - константа с плавающей точкой).
Таблица 1
Арифметические типы данных
Название типа | Диапазон допустимых значений |
Количество верных цифр |
Размер в байтах |
Byte | 0...255 | - | 1 |
ShortInt | -128...127 | - | 1 |
Word | 0..65535 | - | 2 |
Integer | -32768...32767 | - | 2 |
LongInt | -2147483648...2147483647 | - | 4 |
Single | 1.5e-45...3.4e+38 | 7-8 | 4 |
Real | 2.9e-39...1.7e+38 | 11-12 | 6 |
Double | 5.0e-324...1.7e+308 | 15-16 | 8 |
Extended | 3.4e-4932...1.1e+4932 | 19-20 | 10 |
Comp | -9.2e18...9.2e18 | 8 | 8 |
Типы Byte и Word используются для целых величин без знака, типы ShortInt, Integer и LongInt - для целых со знаком, типы Single, Real, Double и Extended - для вещественных величин. Тип Comp может содержать только целые числа от -2 63 +1 до +263-1, но эти числа хранятся в вещественном формате, поэтому тип Comp считается вещественным. С данными типа Comp можно обращаться так же, как с данными других вещественных типов, но дробная часть числа при этом автоматически отбрасывается.
Целые числовые константы записываются в языке Паскаль в десятичном виде или в 16-ричном виде, 16-ричная константа начинается с символа $ и содержит 16-ричные цифры : 0-9,A-F. Например, число 255 можно записать как $FF. Числовые константы по умолчанию имеют тип Integer или LongInt. Вещественные константы записываются либо с фиксированной точкой, например, -1.234, либо с плавающей точкой, например, -1.234E-5 или 555е12.
В программе, как правило, приходится использовать переменные арифметических типов. Каждая такая переменная (и переменная любого другого типа) в языке Паскаль должна быть обязательно описана, т.е. должен быть явно указан ее тип. Описание переменных в общем случае имеет вид:
VAR имя , ... , имя : тип ; имя , ... , имя : тип ; ...
Здесь имя - имена переменных (идентификаторы), тип - типы переменных, VAR - ключевое слово, означающее, что после него следуют описания переменных. Переменные одного типа можно описать совместно, разделив их имена запятыми, а можно описывать и каждую переменную отдельно. Точка с запятой означает окончание описания переменных данного типа. Слово VAR может повторяться в программе сколько угодно раз. Выбор типа для той или иной переменной определяется назначением этой переменной. Пусть, например, переменная i служит счетчиком (индексом) элементов некоторой последовательности, причем известно, что количество элементов не может превосходить 100. Мы можем описать переменную i любым целочисленным типом, но правильный выбор - Byte или ShortInt, любой другой тип будет избыточным. Всегда следует выбирать типы переменных осознанно; если вы не понимаете, какой тип должна иметь ваша переменная, вероятнее всего, эта переменная в программе не нужна. Для вещественных переменных чаще всего используется тип Real, являющийся основным вещественным типом в Паскале, поэтому мы везде будем писать Real для вещественных переменных, хотя это может быть и другой вещественный тип.
Пусть в программе нам необходимы переменные b1,b2,b3,b4 типа Byte, переменные i,j,k типа Integer и переменные r1,r2 типа Real. Их можно описать, например, так:
VAR b1,b2,b3,b4 : Byte;
i,j,k : Integer;
r1,r2 : Real;
или так :
VAR b1 : Byte;
i,j,k : Integer;
VAR r1 : Real;
VAR b2,b3,b4 : Byte;
r2 : Real;
Эти описания эквивалентны.
Всякая переменная обладает четырьмя атрибутами: именем, типом, адресом и значением. Имя переменной есть идентификатор, т.е. последовательность символов; тип переменной определяет ее свойства, диапазон допустимых значений и размер памяти, необходимый для размещения этой переменной; адрес переменной указывает на место в памяти, где размещается ее значение; переменная всегда имеет некоторое значение, даже если вы ничего не сделали, чтобы определить это значение. В последнем случае говорят, что переменная не определена; это значит, что ее значение не известно нам заранее (ни в коем случае не следует думать, что неопределенные переменные имеют нулевые значения - это не так).
Каким же образом определить значение переменной ? Для этого используется оператор присваивания:
имя:= выражение;
Здесь мы встречаемся с двумя новыми понятиями - оператор и выражение. Оператор - это минимальная осмысленная конструкция в языке Паскаль, вся программа - это последовательность операторов. Оператор всегда заканчивается символом ";", кроме одного единственного оператора END. Допускаются пустые операторы ";" , не выполняющие никаких действий. Выражение - это конструкция, состоящая из одного или нескольких операндов и, возможно, знаков операций, и имеющая некоторое значение. Операндами могут быть константы, переменные и другие выражения, т.е. вы можете строить сколь угодно сложные выражения. Мы не знаем пока никаких знаков операций, но предположим, что знак + означает операцию сложения (это так и есть). Запишем несколько выражений:
1 (константа есть частный случай выражения);
b1 (переменная есть частный случай выражения);
25+1E3
b1+4.25+r2
Теперь мы можем присвоить переменной ее значение:
i:=-11; j:=22+i; k:=i+j+177;
Наряду с переменными в Паскале есть и другие именованные объекты - это константы (отличайте их от числовых констант, которые не имеют имени, а лишь значение). Константы бывают двух видов - нетипизированные и типизированные. Нетипизированные константы описываются, так же, как и переменные в разделе описаний, в виде :
CONST имя=значение; имя=значение; ...
Здесь имя - идентификатор, значение - вообще говоря, некоторое выражение, которое может включать и именованные константы, описанные выше, но только не переменные. Запишем несколько примеров:
CONST C=-155;
D=C+100;
E=1E2+C+D;
CONST F=D+1;
CONST G=C+F;
Нетипизированные константы, описанные в разделе описаний, вы можете затем использовать в разделе операторов в выражениях, но изменить их значения невозможно. Не совсем удачное название "нетипизированные" означает не отсутствие у констант типа - любая константа имеет совершенно определенный тип, который определяется ее значением, - а лишь то обстоятельство, что при описании таких констант тип не указывается явно. В нашем примере константы C,D,F и G имеют тип Integer, а константа E - тип Real. Второй класс именованных констант - типизированные константы, описание которых имеет вид:
CONST имя:тип=значение; имя:тип=значение; ...
Эти константы вы можете использовать так же, как и нетипизированные, но можете и изменять их значения (например, с помощью оператора присваивания) подобно переменным. Типизированные константы можно, с небольшими оговорками, рассматривать как переменные, которым присвоено начальное значение. Приведем пример :
CONST t:Word = $FFFF; b:Byte = 11; r:Real = 1.23E-16; z:Integer = 0;
BEGIN t:=t-1; END.
Некоторые аспекты безопасности Веб-серверов на Unix платформах
Статическая IP-маршрутизация
Разрешение имен доменов с помощью DNS
Условный оператор. Блок. Оператор выбора
Логический тип данных. Операции сравнения
Операторы цикла
Метки. Оператор GOTO. Процедура Halt
Интервальные типы данных. Оператор TYPE. Массивы
Ошибки при выполнении программы. Опции компилятора
Множества
Copyright (c) 2024 Stud-Baza.ru Рефераты, контрольные, курсовые, дипломные работы.