Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Процедуры ввода данных




CONST

Описание величин

Действительные типы величин.

Целые типы величин.

Короткое целое без знака: BYTE.

Отводится 1 байт памяти.

Допустимы положительные значения: 0..255.

Короткое целое со знаком: SHORTINT.

Отводится 1 байт памяти.

Допустимы положительные и отрицательные значения: -128..127.

Целое без знака: WORD.

Отводится 2 байта памяти.

Допустимы положительные значения: 0..65 535.

Целое со знаком: INTEGER.

Отводится 2 байта памяти.

Допустимы положительные и отрицательные значения:

-32768..32767.

Длинное целое со знаком: LONGINT.

Отводится 4 байта памяти;

Допустимы положительные и отрицательные значения: -2147483648..2147483647

Наиболее распространенная из этих форм – REAL. Для величин этого типа отводится 6–7 байт памяти. Допустимы положительные и отрицательные значения порядка 10-39…10+38 (более точно 2.9e-39…1.7e+38).

Допустимы стандартные операции.

Форма представления:

а) с плавающей точкой;

б) с фиксированной точкой.

Форма представления с плавающей точкой – это форма записи числа, которая характеризирует его порядок. Это форма вида

[Sig1]<N1>.<N2> e Sig2<N3>

где: Sig1 – знак числа;

Sig2 – знак числа степени 10;

<N1> – цифры целой части числа;

<N2> – цифры мантиссы числа;

<N3> – порядок числа (степень десяти);

e – знак формы представления.

ЗАМЕЧАНИЕ 1. При записи в этой форме числа возникает неоднозначность, так, например, одно и то же число можно записать как

9.17Е+00 = 0.0097Е+03 = 917000.0Е-05

Форма записи с плавающей запятой, когда

1 < N1.N2 < 10

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

ПРИМЕР:

1.91700110e+00

-3.10120310e-01

7.32563424e+02

-2.24503435е+03

ЗАМЕЧАНИЕ 2. При записи необходимо писать все цифры числа. Нельзя писать: e-05 или 1e-05, нужно писать 1.0Е-05.

Форма представления с фиксированной точкой – это форма записи вида

Sig<N1>.<N2>,

где Sig – знак числа;

<N1> – цифры целой части числа;

<N2> – мантисса числа.

ПРИМЕР:

1.17, -0.01, +324.0.

 

В Паскале действует правило: все объекты программы, которым присваиваются имена, а именно:

ПРОГРАММНЫЕ ЕДИНИЦЫ – ПРОЦЕДУРЫ И ФУНКЦИИ;

ВЕЛИЧИНЫ – КОНСТАНТЫ, ПЕРЕМЕННЫЕ, ТИПИЗИРОВАННЫЕ КОНСТАНТЫ;

ТИПЫ ВЕЛИЧИН, КОТОРЫЕ ПОЛЬЗОВАТЕЛЬ ХОЧЕТ ОБЬЯВИТЬ, должны быть описаны. При этом описать величину – это означает оговорить ее тип, а в некоторых случаях – и значение.

Описание констант производится в разделе CONST.

ПРИМЕР:

i=1;

x=0.1;

y=1.254e-02;

f=false;

c='a';

ЗАМЕЧАНИЕ. Описываются константы лишь по одной величине. Описание списком, то есть такое описание, когда одно значение задается сразу нескольким величинам, записанным через запятую, запрещено.

Описание переменных производится в разделе по VAR-схеме:

VAR

K: integer;

X1, y1: real;

Ff, b: boolean;

D: char;

Описание типизированных констант производится в разделе CONST, возможно даже вместе с описанием констант, по схеме:

<идентификатор>: <тип> = <значение>;

ПРИМЕР:

CONST

A: integer = 2;

X2: real = 3.05;

X3: real = -1.30056e-25;

B1: boolean = true;

C5: char = ¢ j ¢;

ЗАМЕЧАНИЕ. Описывать списком типизированные константы запрещено. Типизированная константа при описании содержит структуры, которые отвечают и структуре, и переменной. Типизированные константы еще называют СТАРТОВЫМИ ВЕЛИЧИНАМИ; в отличие от констант они могут в процессе выполнения программы изменять свое значение.

 

 

Для ввода значений величин типа: real, integer, char используется стандартная процедура, которую условно можно представить в следующем виде:

read[ln][([файл], идентификатор1[,идентификатор2,...])]

где: файл - имя логического файла для ввода значений с внешнего физического файла;

идентификатор1, идентификатор2… – идентификаторы переменных, которые последовательно получают необходимые для ввода значения.

В рассматриваемой записи процедуры ввода квадратными скобками отмечены те элементы, которые могут отсутствовать, например, могут встретиться такие записи:

read[(идентификатор1[,идентификатор2,...])];

readln(идентификатор1[,идентификатор2,...])];

readln,

то есть в программе это может быть записано в виде

readln(x,y,z);

 

Для рассматриваемых процедур выполняются два основных правила.

ПРАВИЛО 1. Если тип величины real, integer, то считывается одно число, знак пробела воспринимается как разделитель.

Это правило позволяет для переменных, если они типа real или integer, вводить значения в двух вариантах: или через пробел (при завершении набора значений нажимается клавиша <ENTER>), или просто через клавишу <ENTER>. Возможен также комбинированный вариант из этих двух.

При вводе с клавиатуры особого различия между read и readln нет. Это отличие характерно при считывании значений из файла, о чем будет сказано далее. Можно отметить, что дополнение ln обеспечивает переход для чтения новой строчки. При вводе значений с клавиатуры это проявится в том, что выполнение нескольких процедур read() может происходить без промежуточного нажатия <ENTER>, а процедуры readln() – только после нажатия <ENTER>.

ПРИМЕР. Необходимо задать значения переменных целого типа: i = 2, j = 5, k = 8.

1-й вариант:

VAR i,j,k: integer;

.............

read(i, j);

read(k);

.............

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

2 [пробел] 5 [пробел] 8 <ENTER>

2-й вариант:

VAR i,j,k: integer;

.............

readln(i, j);

read(k);

.............

В этом случае при вводе значений с клавиатуры в виде

2 [пробел] 5 [пробел] 8 <ENTER>

они будут заданы только переменным i и j, а для того чтобы задать еще и значение k, необходимо набрать на клавиатуре

8 <ENTER>

Для этого варианта более простой ввод значений может иметь вид

2 [пробел] 5 <ENTER> 8 <ENTER>

или

2 <ENTER> 5 <ENTER> 8 <ENTER>

ПРАВИЛО 2. Если тип величины char – считывается один символ, знак пробела читается как символ. Поэтому при вводе символьных величин пробел как разделитель не используется, то есть символьные величины набираются последовательно, без пробела, с последующим нажатием <ENTER>. Можно также все значения набирать через <ENTER>.

ЗАМЕЧАНИЕ. В начале работы программа создает пустую строку, которая при введении символьных переменных воспринимается как символ, и его необходимо пропустить. Поэтому при введении символьных величин в начале программы пишут:

readln; read(c,cz);

Исходя из рассмотренных двух правил рекомендуется переменные разных типов вводить по группам, не смешивая типы.

ЗАМЕЧАНИЕ. Тип boolean вводить через процедуру ввода ЗАПРЕЩЕНО. Рекомендуется для этого использовать типизированную константу.

Процедуру readln без параметров можно использовать также для остановки выполнения программы до нажатия клавиши <ENTER>. Но если перед этим использовалась процедура read, остановка не произойдет.

 




Поделиться с друзьями:


Дата добавления: 2014-12-26; Просмотров: 339; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.022 сек.