
- •Лекция 1. Основы языков программирования.
- •Лекция 2. Способы записи алгоритмов.
- •Лекция 3. Знакомство с языком Паскаль.
- •Лекция 4. Структура программы на языке Паскаль.
- •Лекция 5. Стандартные типы данных.
- •5.1 Целые типы
- •5.2 Вещественные типы
- •5.3 Символьный тип.
- •5.4 Ограничительные типы.
- •5.5 Перечислимые типы.
- •Л.6. Операторы языка Паскаль Ввод исходных данных.
- •Расчет.
- •Стандартные функции Турбо Паскаля
- •Стандартные процедуры
- •Константы
- •Вывод результатов
- •Лекция 7. Операторы условий if, case
- •7.1 Оператор безусловного перехода
- •7.2 Условный оператор
- •7.3 Оператор варианта
- •Лекция 8. Операторы цикла for, while, repeat
- •8.1 Оператор цикла с предусловием.
- •8.2 Оператор цикла с постусловием.
- •8.3 Оператор цикла с параметром.
- •Лекция 9. Одномерные и двумерные массивы.
- •Работа с массивами
- •Инициализация элементов массива
- •Лекция 10. Процедуры и функции в Паскаль.
- •Лекция 11. Параметры в процедурах.
- •11.1 Механизм параметров.
- •11.2. Параметры - значения.
- •11.3. Параметры - переменные.
- •11.4. Безтиповые параметры.
- •Лекция 12. Типы данных, определяемые пользователем. Записи.
- •Лекция 13. Работа с файлами. Обработка ошибок в Паскаль.
- •13.1 Файловые типы
- •13.2 Операции ввода-вывода Write, Read
- •13.3. Перемещение по файлу.
- •13.4 Обработка ошибок ввода - вывода
- •13.5 Текстовые файлы
- •13.6 Файлы без типа.
- •Лекция 14. Модули и внешние файлы в Паскаль.
- •15.1. Компиляция и использование модулей
- •15.2. Компиляция и поиск модулей.
- •15.3. Стандартные модули
- •Лекция 15. Динамические структуры данных.
- •15.1 Ссылочные типы и указатели.
- •15.2 Статические переменные.
- •15.3. Создание и удаление динамических переменных.
- •15.4. Установка размеров динамической памяти.
- •Лекция.16. Графические возможности языка Паскаль.
- •Лекция17. Практическое применение языка Паскаль в решении технологических и экологических задач
Лекция 5. Стандартные типы данных.
Переменная в PASCAL характеризуется своим типом. Под типом понимается множество значений, которые может принимать переменная и множество операций, допустимых над этой переменной. Pascal является типизированным языком. Тип переменной определяется при ее описании и не может быть изменен. Аналогичная структура данных предоставляется пользователю практически во всех языках программирования.
Группа |
Подгруппа |
Название |
Идентификатор |
Простой |
Порядковый |
Короткий целый |
ShortInt |
Байтовый |
Byte |
||
Слово |
Word |
||
Целый |
Integer |
||
Длинный целый |
LongInt |
||
Символьный |
Char |
||
Булев |
Boolean |
||
Вещественный |
Вещественный |
Real |
|
С одинарной точностью |
Single |
||
С двойной точностью |
Double |
||
С повышенной точностью |
Extended |
||
Сложный |
Comp |
||
Строковый |
String |
||
Структурный |
Массив |
Array |
|
Множество |
Set |
||
Файл |
File |
||
Запись |
Record |
||
Ссылочный |
Pointer |
||
Процедурный |
Процедура |
Procedure |
|
Функция |
Function |
||
Объектный |
Object |
Рисунок 5.1 - Система типов языка Pascal.
Базовыми в системе типов являются простые типы. Составные типы по определенным правилам строятся из простых. Ссылочные типы образуются их любых других типов. Ограничительные типы формируются из простых типов путем сужения их области допустимых значений. Процедурные типы в некотором отношении расширяют традиционные понятия, позволяя обращаться с подпрограммами как с переменными. И стоящие особняком объектные типы.
5.1 Целые типы
Обозначает множество целых чисел в различных диапазонах. Пять целых типов обозначаются идентификаторами и имеют следующие характеристики:
Таблица 5.1.
Целый тип |
Диапазон значений |
Размер ячейки памяти |
shortint |
-128...127 |
1 байт |
byte |
0...255 |
1 байт |
word |
0...65535 |
2 байта |
integer |
-32728...32727 |
2 байта |
longint |
-2147*106...2147*106 |
4 байта |
Для целых чисел присуще 4 операции: +, -, *, / и две: div -деление нацело и выделение остатка mod. Также inc(x) - увеличивает значение на единицу x:=x+1 и dec(x)-уменьшает значение на единицу x:=x-1. Синтаксическая диаграмма представления в общем виде целого числа представлена на рисунке 5.1.
Рисунок 5.1. Синтаксическая диаграмма.
Большинство компиляторов для представления знака используют дополнительный код (или дополнение до двух).
Для того, чтобы получить представление числа –n в двоичной системе B = b1b2…bw:
Берут логическое дополнение B, т. е. заменяют в каждом b значение на противоположное;
Прибавляют единицу.
Например:
1
= 00000001 11111110 11111111 = -1
2 = 00000010 11111101 11111110 = -2
1 27 = 01111111 10000000 10000001 = -127
У отрицательных значений в старшем бите 1.
Дополнение до двух удобно тем, что при выполнении над ними операций целочисленной двоичной арифметики получается правильное представление
(-1) – 1 = -2
11111111 – 00000001 = 11111110.
Отметим, что строку битов 10000000 нельзя получить из положительного значения (-128), а 128 7 битами представить невозможно! Это необходимо учитывать при работе с типом shortint.
Альтернативное представление чисел со знаком – дополнение до единицы (обратный код). Где –n – простое дополнение n, но зато в этом случае есть два значения нуля.