Меню Закрыть

Типы целочисленных переменных в паскале

Содержание

Содержание раздела PASCAL

Введение. Общая характеристика языка. 1 Основы языка PASCAL 2 Структура программы 2.1 Раздел объявлений и соглашений, основнй блок 2.2 Типы переменных 3 Операторы языка PASCAL 4 Простые и структурные типы данных 5 Процедуры и функции 6 Динамическая память 7 Модули 8 Ключи и директивы компилятора 9 Файлы 10 Другие возможности Турбо-Паскаля 1 0 .1 Оверлей 10. 2 Прямое обращение к памяти и портам 11 Турбо-Паскаль 6.0 и структурное программирование 12 ТурбоПаскаль и ООП 13 Объектно-ориентированная библиотека Turbo Vision 14 Встроенная справочная система

Тип переменной задает вид того значения, которое ей присваивается и правила, по которым операторы языка действуют с переменной, например:

Если переменные A и B целочисленного типа, то программа:

Выведет на экран строку: “3.14 2.71 5.85”

Если же они строкового типа, то программа:

Выведет: “3.14 2.71 3.142.71”, так как оператор сложения просто добавит строку B в конец строки A.

Тип константы определяется способом записи ее значения:

Можно использовать выражения. Выражения должны в качестве операторов содержать только константы, в том числе ранее объявленные, а так же знаки математических операций, скобки и стандартные функции.

BYTE целое число от 0 до 255, занимает одну ячейку памяти (байт).
BOOLEAN логическое значение (байт, заполненный единицами, или нулями), true, или false.
WORD целое число от 0 до 65535, занимает два байта.
INTEGER целое число от –32768 до 32767, занимает два байта.
LONGINT целое число от –2147483648 до 2147483647, занимает четыре байта.
REAL

число с дробной частью от 2.9*10-39.до 1.7*1038, может принимать и отрицательные значения, на экран выводится с точностью до 12-го знака после запятой, если результат какой либо операции с REAL меньше, чем 2.9*10-39, он трактуется как ноль. Переменная типа REAL занимает шесть байт.

DOUBLE

число с дробной частью от 5.0*10-324.до.1.7*10308, может принимать и отрицательные значения, на экран выводится с точностью до 16-го знака после запятой ,если результат какой либо операции с DOUBLE меньше, чем 5.0*10-324, он трактуется как ноль. Переменная типа DOUBLE занимает восемь байт.

CHAR символ, буква, при отображении на экран выводится тот символ, код которого хранится в выводимой переменной типа CHAR, переменная занимает один байт. STRING строка символов, на экран выводится как строка символов, коды которых хранятся в последовательности байт, занимаемой выводимой переменной типа STRING; в памяти занимает от 1 до 256 байт – по количеству символов в строке, плюс один байт, в котором хранится длина самой строки.
Читайте также:  Восстановить пароль учетной записи на компьютере

При обьявлении переменной строкового типа можно заранее указать ее длину в байтах – X:

MyString:STRING[X];
При присвоении этой переменной строки длиннее X, присваиваемая строка будет обрезана с конца после X-того символа.

Размер переменной типа STRING в памяти можно узнать следующим способом:
Size:=SizeOf(MyString);
Функция SizeOf() возвращает размер, занимаемый переменной, служащей параметром. Параметром может служить и тип переменной; строка:
Writeln(SizeOf(STRING));
Выведет на экран число 256, так как по умолчанию под все строки отводится по 256 байт.

Кроме того, можно узнать, сколько символов в строке (индекс последнего непустого символа в строке):
Size:=Ord(MyString[0]);
Используется ибращение к нулевому элементу (символу) строки, в котором хранится ее длина, но MyString[0] – значение типа CHAR, тоесть символ, код которого равен длине строки, нужный нам код – число возвращает функция Ord()Таким же образом можно обратиться к любому N – тому элементу строки:
MyChar:=MyString[N];

ARRAY[a..b,c..d,….] OF “тип элемента”; массив некоторой размерности, содержащий элементы указанного типа.

Диапазоны индексов для каждого измерения указываются парами чисел или констант, разделенных двумя точками, через запятую (a..b,c..d). После OF записывается тип элементов массива. В памяти массив занимает место, равное: (b-a)*(d-c)*..* SizeOf(“тип элемента”). Размер массива не может превосходить 65536 байт.

Обращение к элементам массива происходит следующим образом:
X:=MyArray[a,b,c. ];

При этом переменная X должна быть того же типа, что и элементы массива или приводимого типа. Число индексов (a,b,c. ) должно быть равно числу обьявленных при описании измерений массива.

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

Проблема возникает при следующих присвоениях:
I:=J;
A:=B;

В то же время, такие присвоения будут выполнены вполне корректно:
J:=I;
B:=A;

При этом переменная J примет значение с нулевой дробной частью, а B – станет строкой, содержащей один символ – из A.

В первом же случае, можно поизвести следующие операции:
I:=Trunc(J); <функция trunc() возвращает целую часть аргумента>
I:=Round(J);

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

Читайте также:  Joomla обтекание картинки текстом

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

Простые типы делятся на стандартные (порядковые) и перечисляемые (ограниченные).

Стандартные типы

Турбо-Паскаль имеет четыре встроенных стандартных типа: integer (целое), real (вещественное), boolean (логический) и char (символьный).

Целочисленный тип (integer)

В Турбо-Паскале имеется пять встроенных целочисленных типов: shortint (короткое целое), integer (целое), longint (длинное целое), byte (длиной в байт) и word (длиной в слово). Каждый тип обозначает определенное подмножество целых чисел, как это показано в следующей Таблице.

Встроенные целочисленные типы.

Тип

Диапазон

Формат

8 битов со знаком

16 битов со знаком

32 бита со знаком

8 битов без знака

16 битов без знака

Арифметические действия над операндами целочисленного типа осуществляются в соответствии со следующими правилами:

  1. Тип целой константы представляет собой встроенный целочисленный тип с наименьшим диапазоном, включающим значение этой целой константы.
  2. В случае бинарной операции (операции, использующей два операнда), оба операнда преобразуются к их общему типу перед тем, как над ними совершается действие. Общим типом является встроенный целочисленный тип с наименьшим диапазоном, включающим все возможные значения обоих типов. Например, общим типом для целого и целого длиной в байт является целое, а общим типом для целого и целого длиной в слово является длинное целое. Действие выполняется в соответствии с точностью общего типа и типом результата является общий тип.
  3. Выражение справа в операторе присваивания вычисляется независимо от размера переменной слева.

Операции совершаемые над целыми числами:

SQR — возведение в квадрат

DIV — после деления отбрасывает дробную часть

MOD — получение целого остатка после деления

ABS — модуль числа

RANDOM(X)-получение случайного числа от 0 до Х

Описываются переменные целого типа следующим образом:

var список переменных: тип;

Например: var а,р,n:integer;

Вещественный тип(real)

К вещественному типу относится подмножество вещественных чисел, которые могут быть представлены в формате с плавающей запятой с фиксированным числом цифр. Запись значения в формате с плавающей запятой обычно включает три значения — m, b и e — таким образом, что m*b е , где b всегда равен 10, а m и e являются целочисленными значениями в диапазоне вещественного типа. Эти значения m и e далее определяют диапазон и точность вещественного типа.

Читайте также:  Игра на кого я похож

Имеется пять видов вещественных типов: real, singlе, duble, exnende, comp. Вещественные типы различаются диапазоном и точностью связанных с ними значений

Диапазон и десятичные цифры для вещественных типов

Тип

Диапазон

Цифры

2.9×10Е-39 до 1.7×10Е 38

1.5×10Е-45 до 3.4×10Е 38

5.0×10Е-324 до 1.7×10Е 308

3.4×10Е-493 до 1.1×10Е 403

Операции совершаемые над вещественными числами:

  • Все операции допустимые для целых чисел.
  • SQRT(x)-корень квадратный из числа х.
  • SIN(X), COS(X), ARCTAN(X).
  • LN(X)-натуральный логарифм.
  • EXP(X)-экспонента Х (е х ).
  • EXP(X*LN(A))-возведение в степень (А х ).
  • Функции преобразования типов:
  • TRUNC(X)-отбрасывает дробную часть;
  • ROUND(X)-округление.
  • Некоторые правила арифметических операций:
    • Если в арифметическом действии встречаются числа типа real и integer, то результат будет иметь тип real.
    • Все составные части выражения записываются в одну строку.
    • Используются только круглые скобки.
    • Нельзя подряд ставить два арифметических знака.
    • Описываются переменные вещественного типа следующим образом:

      Символьный тип(char)

      K типу char относится любой символ заключенный в апострофы. Для представления апострофа как символьную переменную, надо заключить его в апостроф:’’’’.

      Каждый символ имеет свой код и номер. Порядковые номера цифр 0,1..9 упорядочены по возрастанию. Порядковые номера букв также упорядочены по возрастанию, но не обязательно следуют друг за другом.

      К символьным данным применимы знаки сравнения:

      Например: ‘A’ — это особый вид констант, задаваемых через запятую и имеющих свой порядковый номер, начиная с 0.

      Можно выполнить такие операторы присваивания:

      но нельзя выполнять смешанные присваивания:

      К переменным перечислимого типа применимы следующие функции:

      1. ORD — порядковый номер

      2. PRED — предшествующий элемент

      3. SUCC — последующий элемент.

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

      В языке Паскаль определено пять целых типов.

      Таблица. Целые типы Pascal

      Тип Диапазон допустимых значений Отводимая память, в байтах
      shortint -128…127 1
      integer -32 768…32 767 2
      longint -2 147 483 648…2 147 483 647 4
      byte 0…255 1
      word 0…65 535 2

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

      Здесь a, b, c… — имена переменных, integer – тип переменных. Транслятор, встретив такое описание переменных a, b, c, запоминает, что эти переменные могут принимать только целые значения и формирует соответственно этому команды программы.

      Таблица. Операции над целыми типами, дающие в результате значение целого типа

      Рекомендуем к прочтению

      Добавить комментарий

      Ваш адрес email не будет опубликован.