Предисловие дорогие друзья !

Вид материалаДокументы

Содержание


§6. Типы данных.
6.2. простейшие тèïû âåëè÷èí.
Данные целого типа.
2) Данные действительного типа.
4) Данные логического типа.
6.3. Объявление данных.
2) Ïåðåìåííûå величины.
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   29

§6. Типы данных.


6.1. Âåëè÷èíû. Программа оперирует объектами, которые для компьютера принято называть данными. Данные могут быть различного типа. Наиболее распространённые типы — это числовые, логические и символьные. Для обозначения исходных данных и результатов вычислений употребляются величины.

Ïîíÿòèå âåëè÷èíû ÿâëÿåòñÿ îäíèì èç ñàìûõ âàæíûõ ïîíÿòèé øêîëüíûõ êóðñîâ ìàòåìàòèêè è ôèçèêè. Âåëè÷èíû, êîòîðûå ðàññìàòðè­âàþòñÿ â êóðñàõ ìàòåìàòèêè è ôèçèêè, ÿâëÿþòñÿ ïðåèìóùåñòâåííî ÷èñ­ëîâûìè âåëè÷èíàìè. Ïîэòîìó ÷àñòî ñêëà­äûâàåòñÿ ïðåäñòàâëåíèå î òîì, ÷òî âåëè÷èíû — ýòî òî, ÷òî âñåãäà ìîæíî èçìåðèòü. Ïëîùàäü ôèãóðû, ñêîðîñòü äâèæåíèÿ òåëà, ñèëà — ýòî ïðèìåðû âåëè÷èí. Ïðè èçó÷åíèè èíôîðìàòèêè âîçíèêàåò íåîáõîäèìîñòü ðàñøèðèòü ïîíÿòèå âåëè÷èíû.  íîâîì ïîíèìàíèè âåëè÷èíàìè îêàçûâà­þòñÿ íå òîëüêî ÷èñëîâûå âåëè÷èíû, íî è ãðàôèêè, òåêñòû, ãåîìåòðè­÷åñêèå ôèãóðû è, âîîáùå, îáúåêòû ñàìîé ðàçíîé ïðèðîäû. Íåîáõîäè­ìîñòü ðàññìîòðåíèÿ òàêèõ âåëè÷èí îáóñëîâëåíà óíèâåðñàëüíîé ñïîñîá­íîñòüþ êîìïüþòåðà îáðàáàòûâàòü ðàçëè÷íóþ èíôîðìàöèþ. Ýòà èíôîðìàöèÿ ìîæåò áûòü, â ÷àñòíîñòè, ÷èñëîâîé (÷èñëîâûå âåëè÷èíû), ãðàôè­÷åñêîé (ãðàôè÷åñêèå âåëè÷èíû), òåêñòîâîé (ëèòåðíûå èëè ñòðîêîâûå âåëè÷èíû).

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

Íàïðèìåð: a, ab, summa, x1, a2, b1.

Папоминаем, что в êà÷åñòâå èìåí âåëè÷èí íåëüçÿ èñïîëüçîâàòü ñëóæåáíûå ñëîâà ÿçûêà.

Âåëè÷èíû áûâàþò äâóõ âèäîâ: ïîñòîÿííûå (êîíñòàíòû) è ïåðåìåí­íûå.

Êîíñòàíòà — величина, значение которой не изменяется â ïðîöåññå âûïîëíåíèÿ ïðîãðàììû. Îíà ìîæåò áûòü çàäàíà ÿâíî ñâîèì çíà÷åíèåì èëè îáîçíà­÷åíà èìåíåì.

Ïåðåìåííàÿ — величина, êîòîðая может изменяться, принимая при этом различные значения.

6.2. простейшие тèïû âåëè÷èí. Человек, оперируя какими-либо данными, способен быстро разобраться в типах данных и в тех операциях, которые допустимы для каждого из типов. Например, он не будет извлекать квадратный корень из слова или не запишет число с заглавной буквы. Основной причиной, позволяющей производить такое быстрое распознавание, является отличие в записи разных типов данных. Компьютер же всякую информацию воспринимает как последовательность двоичных разрядов. Поэтому ему необходимо дополнительно указать, какой тип имеет каждое используемое в программе данное. Это осуществляется с помощью специальных операторов-описаний.

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

Над данными каждого из типов допускается производить определённые для этого типа данных операции.

Итак, тип – это характеристика величины, которая определяет три её свойства: форму внутреннего представления, множество принимаемых значений и множество допустимых операций.

Набор величин можно представить в виде некоторого количества ящичков. Каждый из ящиков имеет: свой адрес — имя величины; размер — тип величины; содержимое — значение величины. причём, содержимое ящика — это неделимый предмет, который занимает весь ящик. Если мы хотим заменить один предмет другим, то должны удалить первый предмет из ящика.

Простейшие стандартные типы данных в языке Паскаль ñëåäóþùèå:

1) Данные целого типа.

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

Запись целых чисел в программе такая же, как и в математике. Это набор цифр, которому может предшествовать знак «плюс» или «минус»: 201, -126, +12600. Значения целых чисел не могут выходить за пределы определённые типом величины. в памяти машины данные представлены точно. В языке Паскаль для представления целых чисел используются следующие типы:

Íàèìåíîâàíèå òèïà Îáëàñòü çíà÷åíèé

byte 0..255

word 0..65535

shorting -128..127

integer -32768..32767

longint -2147483648..2147483647

Как видите, не любое целое число может быть представлено в языке Паскаль. Это связано с тем, что числа в памяти машины представлены в двоичном виде, и принимаемое значение зависит от того, сколько разрядов использует тот или иной тип. Для данных BYTE и SHORTING отводится 1 байт = 8 бит, WORD и INTEGER — 2 байта = 16 бит, LONGINT — 4 байта = 32 бита. (Как видите, размер ящика влияет на возможный размер содержимого.)

2) Данные действительного типа.

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

Для представления вещественных чисел существует несколько типов (см. Приложение 3). Мы рассмотрим пока только один: real. Самое малое по модулю число (не считая нуля), которое можно сохранить в переменной типа REAL, равно 10-38, а самое большое — равно 10+38. несмотря на большой диапазон по сравнению с целыми числами действительные числа обладают недостатком: они представлены в памяти ЭВМ с некоторым приближением. Это объясняется неточным переводом многих действительных чисел из десятичной системы в двоичную. При вычислениях погрешность может накапливаться. Кроме того, тип real позволяет сохранять только 12 значащих (верных) цифр.

3) Данные символьного типа.

Язык Паскаль позволяет обрабатывать не только числа, но и символы. это даёт возможность представлять в программах тексты и выполнять над ними некоторые операции.

Набор символов используемых в компьютере достаточно большой. Все символы упорядочены, т.е. каждый символ имеет свой порядковый номер от «0» до «255» (см. Приложение 4).

Òèï äàííûõ char (символ) îáîçíà÷àåò ìíîæåñòâî ñèìâîëîâ. Îäèí ñèìâîë òðåáóåò äëÿ ñâîåãî вíóòðåííåãî ïðåäñòàâëåíèÿ 8 áèò = 1 áàé­òó. номера символов используются в операциях сравнения и в некоторых стандартных функциях. Ïðè îïðåäåëåíèè значений символьных âåëè­÷èí, присваиваемое çíà÷åíèå çàêëþ÷àåòñÿ â àïîñòðîôû: 'à', 'Â', '+'.

4) Данные логического типа.

Данные логического типа участвуют во всевозможных условных операторах языка Паскаль. Ëîãè÷åñêèé òèï boolean õàðàêòåðèçóåòñÿ äâóìÿ çíà÷åíèÿìè âåðî­ÿòíîñòè: true (èñòèííî) è false (ëîæíî). Слова TRUE и FALSE определены в языке и являются логическими константами.

Более подробно с типами данных можно познакомиться в Приложении 3.

6.3. Объявление данных.  îòëè÷èе îò íåêîòîðûõ äðóãèõ ÿçûêîâ программирования (íàïðè­ìåð, Áåéñèê), ãäå äåéñòâóåò ïðèíöèï óìîë÷àíèÿ (т.е. переменные объявляются в момент их первого появления в программе), â Ïàñêàëå äîëæíî áûòü äàíî îïèñàíèå âñåõ ïåðåìåííûõ èñïîëüçóåìûõ â ïðîãðàììå. Программисты говорят, что в языке Паскаль должны быть объявлены все объекты до того, как они будут использованы.

Каждая величина должна быть объявлена в программе, т.е. указан её тип, какая она — целочисленная, дробная или другого типа. Вернёмся снова к примеру со сложением чисел. Слагаемые могли быть либо целыми, либо дробными числами.

Для объявления данных мы должны выбрать тип в соответствии с типом слагаемых, а для этого необходимо знать правила объявления типов переменных и констант.

1) Êîíñòàíòû. Если константа обозначается именем, то она äîëæíа áûòü îïèñàíа â ðàçäåëå констант. Описание начинается со служебного слова CONST. после имени константы ставится знак «=» (равно), за которым записывается значение константы. Тип константы в этом случае определяется присваиваемым ей значением.

Âîò íåñêîëüêî ïðèìåðîâ:

const oben =324; {целочисленная константа}

unter =-oben; {целочисленная константа }

parole='àáðàêàäàáðà'; {строковая константа }

maximum=12.5; {вещественная константа }

Ñóùåñòâóþò è, òàê íàçûâàåìûå, òèïèçèðîâàííûå êîíñòàíòû.  îïèñà­íèè òèïèçèðîâàííîé êîíñòàíòû ïðèñóòñòâóþò îïèñàíèå òèïà è îäíî èç äîïóñòèìûõ çíà÷åíèé äëÿ ýòîãî òèïà.

Òèïèçèðîâàííûå êîíñòàíòû ÿâëÿþòñÿ, ñîáñòâåííî ãîâîðÿ, ïåðåìåí­íûìè, êîòîðûì â òîé ÷àñòè ïðîãðàììû, ãäå îïèñûâàþòñÿ êîíñòàíòû, ïðèñâàèâàåòñÿ íåêîòîðîå íà÷àëüíîå çíà÷åíèå. Îíè íå òîëüêî ìîãóò îïèñûâàòüñÿ êàê ïåðåìåííûå, èõ ìîæíî èñïîëüçîâàòü â ïðîãðàììå â êà÷åñòâå ïåðåìåííûõ, ò.å. èì ìîæíî ïðèñâîèòü íîâîå çíà÷åíèå èëè èñïîëüçîâàòü èõ â êà÷åñòâå ïàðàìåòðà â ïðîöåäóðàõ è ôóíêöèÿõ.

Ïðèìåðû описания типизированных констант:

CONST zinsen : real=7.5; {Вещественная константа}

anzahl : integer=589; {Целочисленная константа}

ein : char='z'; {Символьная константа}

2) Ïåðåìåííûå величины. Ïåðåìåííûå äîëæíû áûòü îïèñàíû (определены) â ðàçäåëå VAR, где после имени переменной ставят знак «:» (двоеточие), за которым записывают тип. Если несколько переменных имеют одинаковый тип, то их можно объединить в список, разделяя запятыми.

Ïðèìåðы описания переменных:

VAR m,n: integer; {переменные m,n — целого типа}

a : boolean; {переменная а — логического типа}

b,c : char; {переменные b, c — символьного типа}

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

Вопросы и задания.
  1. Какие величины называют константами?
  2. Какие величины называют переменными?
  3. каковы правила записи имён величин? Приведите примеры.
  4. для чего используется указание типа величины?
  5. Перечислите простейшие типы величин.
  6. можно ли в процессе выполнения программы изменять значения констант?
  7. Существует ли ограничения на множество целых чисел, используемых в языке Паскаль? Если да, то чем они определяются?
  8. Для представления каких чисел в языке Паскаль используется тип REAL?
  9. В чём отличие двух типов числовых данных REAL и INTEGER?
  10. Указать неправильные записи чисел на языке Паскаль:

а) 0006; б) - 0; в) 7,0; г) 7.; д) + 0.3;    е) .3;

ж) 2/3; з) Е-1; и) 8Е0; к) 0Е-4; л) 2*Е5;    м) е.
  1. Есть ли разница (с точки зрения языка Паскаль) между числами 100 и 100.0, между 20 и 20.0? По какому признаку (величине или форме записи) целые числа отличаются от вещественных?
  2. Какие из следующих последовательностей символов являются числами в языке Паскаль:

а) 0; б) -5; в) 1/12; г) 3,14; д) +7.7; е) 0.66…;

ж) 0.(6); з) -0,815; и) 2+2.5; к) ±1; л) VII.

17. Правильно ли определён тип величины:

количество тетрадей - вещественный тип;

вес контейнера - целый тип?

18. Укажите тип величины, если значение равно:

a) 115; b) 0.15.

19. Из приведённых значений выберите допустимые для величин

целого типа (BYTE)

вещественного типа

символьного типа

целого типа (INTEGER)

‘?’; 30; -46; -0.126; 15.003; ‘g’.

20. Определите, является ли величина постоянной или переменной:

количество дней в неделе;

количество дней в январе месяце;

количество дней в месяце.

21. Определите тип для величин:

скорость машины;

количество учебных предметов.

22. Для величины КОЛИЧЕСТВО СТРАНИЦ В КНИГЕ выберите допустимое: 23.7; 292; -78; ‘7’; 123; ‘5’; 34.8.