АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Константы и переменные, типы данных

Читайте также:
  1. БАЗЫ ДАННЫХ. MICROSOFT ACCESS 2010
  2. Базы данных. Модели данных
  3. Виды данных.
  4. ГЛАВА 3. Константы в программах
  5. Затраты фирмы в коротком периоде: постоянные, переменные, общие издержки
  6. Иерархическая модель данных. 200
  7. Интерфейс программы Еxcel. Ввод и редактирование данных. Создание таблиц. Простейшие приемы работы в Excel.
  8. Классификация издержек производства (постоянные, переменные, внутренние, внешние, альтернативные)
  9. Константы и препроцессор С
  10. Копирование и перемещение данных.
  11. Культура и культурные константы

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

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

CONST_ идентификатор = значение константы;

Пример 2. CONST а=2.2; s=3;

Переменные в отличие от констант могут в процессе выполнения программы менять свои значения.

Каждая переменная и константа в программе принадлежит к определенному типу данных. Тип констант автоматически распознается компилятором без предварительного описания. Тип переменных должен быть обязательно (в отличие от ТВ) описан в разделе описания типов данных (см. структуру программы). Для описания переменных служит команда:

VAR_ идентификатор: тип;

Пример 3. VAR n, I, j: integer; x, z: real;

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

Классификация типов данных представлена на рис. 2.7.

Целочисленные типы данных (табл. 2.1)представляют собой значения, которые могут использоваться в арифметических выражениях.

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

 
 

 

 


Рис. 2.7. Классификация типов данных.

 

Таблица 2.1. Целочисленные типы данных.

Тип Диапазон значений Требуемая память, байт
Byte Shortint Integer Word Longint 0…255 -128…127 -32768…32767 0…65535 -21474836482147483647  

Таблица 2.2. Вещественные типы данных.

Тип Диапазон Требуемая память, байт
Real Single Double Extended Comp 2.9*10E-39…1.7*10E38 1.6*10E-45…3.4*10E38 5.0*10E-324…1.7*10E308 1.9*10E-4951…1.1*10E4932 -2E+63+1…2E+63+1  

Литерный (символьный) тип определяется множеством значений кодовой таблицы персонального компьютера. В программе значения переменных и констант типа char должны быть заключены в апострофы.

Булевский тип (boolean) представлен двумя значениями True (истина) и False (ложь) и используется в логических выражениях и выражениях отношения.

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

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

Строка – это последовательность символов кодовой таблицы ЭВМ. При использовании в выражении строка заключается в апострофы. Над строковыми данными (string) допустимы операции сцепления (+) и операции отношения (=, <>, <, >, >=, <=).

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

Для описания массива предназначено словосочетание ARRAY OF. Описать массив можно в разделе описания переменных или в разделе описания типов данных, используя следующие операторы:

1) TYPE_ имя типа =ARRAY[ тип индекса ]_OF_ тип элементов массива;

2) VAR_ имя массива1 [, имя массива2 …]: имя типа;

Пример 4. а) Описание массивов в разделе описания типов данных (задаются одномерные массивы из пяти элементов вещественного типа с именами m1, rez).

TYPE mass=array [1..5]of real;

VAR m1, rez: mass;

б) Описание массива в разделе описания переменных.

VAR matrix: array [1..5,1..7] of integer;

Множество – это структурированный тип данных, представляющий набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которые можно рассматривать как единое целое. Все элементы множества должны принадлежать к одному из скалярных типов, кроме вещественного. Для описания множественного типа используется словосочетание SET OF, описание аналогично описанию массива. При работе с множествами допускается применение операций отношения (=,<>,>=,<=), объединения (+), пересечения (*), разности множеств (-) и операции in, которая используется для проверки принадлежности какого-либо значения указанному множеству. Результатом выполнения этих операций является значение TRUE или FALSE.

Пример 5. Задание множества.

VAR nomer: SET OF (1, 2, 3, 4, 5);

Chetn: SET OF (2, 4);

Записи – структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов. Определение типа записи имеет формат:

TYPE_ имя-типа =RECORD идентификатор-поля1-записи: тип

….

идентификатор-поляN-записи: тип

END;

VAR идентификатор: имя типа;

Доступ к полям записи осуществляется с помощью идентификатора переменной типа запись и идентификатора поля, разделенных точкой.

Пример 6. Запись типа ZAPIC содержит три компонента: номер, фамилию и имя. Доступ к полям записи осуществляется через переменную SPICOK типа запись и массив TABL, состоящим из записей.

TYPE ZAPIC= RECORD nomer: integer;

famil: string[20];

Imya:string[20];

END;

VAR: SPICOK: ZAPIC; TABL: ARRAY [1.. 25] OF ZAPIC;

BEGIN

READ(SPICOK.NOMER, SPICOK.FAMIL, SPICOK.IMYA);

Файл - поименованная совокупность данных, расположенная во внешней памяти. В Паскале существуют три типа файлов: типизированные (файлы строго определенного типа, их содержимое рассматривается как последовательность записей определенного типа), текстовые (можно рассматривать как последовательность символов, разбитую на строки) и нетипизированные (рассматриваются как совокупность символов или байтов). Для создания каждого из этих типов файлов используются соответствующие служебные слова. Далее рассмотрена работа только с текстовыми файлами.

Необходимо быть очень внимательными и аккуратными при объявлении типов переменных. Совместимость типов играет важнейшую роль в выражениях, операциях сравнения и в операторах присваивания.


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 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)