- •Программирование на языке Паскаль в среде Turbo Pascal версии 6 и 7
- •Глава 7. Составные типы данных 29
- •Глава 8. Подпрограммы и функции 46
- •Глава 9. Файлы 50
- •Глава 10. Динамические переменные (списки) 58
- •Тип и функциональные возможности языка
- •Структура программы на Паскале
- •Алфавит языка
- •Правила написания имен
- •Структура блока описаний
- •Глава 2. Простые типы данных в языке Паскаль Понятие и классификация типов данных
- •Целочисленные типы
- •Вещественные типы
- •Логический тип
- •Символьный тип
- •Интервальный тип пользователя
- •Перечисляемый тип пользователя
- •Глава 3. Встроенные функции Понятие и классификация типов функций
- •Математические функции
- •Функции преобразования типов
- •Глава 4. Выражения Понятие и классификация типов выражений
- •Арифметические операции
- •Логические операции
- •Отношения
- •Битовые операции
- •Глава 5. Выполняемые операторы языка (для программ линейной структуры) Понятие и классификация
- •Классификация инструкций Паскаля
- •Оператор присваивания
- •Простейшие операторы ввода с клавиатуры
- •Простейшие операторы вывода на экран дисплея
- •Глава 6. Выполняемые управляющие операторы языка Простые управляющие операторы
- •Оператор безусловного перехода.
- •Оператор продолжения цикла.
- •Операторы ветвлений
- •Оператор условного перехода.
- •Неполный условный оператор.
- •Полный условный оператор.
- •Операторы циклов
- •Оператор арифметического цикла
- •Операторы итеративных циклов
- •Организация цикла с помощью условного перехода
- •Оператор итеративного цикла с предусловием
- •Оператор итеративного цикла с постусловием
- •Глава 7. Составные типы данных Классификация составных типов
- •Массивы Основные определения
- •Вывод массива
- •Примеры программ работы с массивами
- •Сортировки массива
- •Алгоритмы основных методов сортировок
- •Строки Строковые переменные
- •Стандартные (встроенные) процедуры работы со строками
- •Стандартные (встроенные) функции работы со строками
- •Структуры
- •Глава 8. Подпрограммы и функции Понятие подпрограмм в языке Паскаль.
- •Процедуры.
- •Описание и вызов функций
- •Параметры процедур и функций
- •Глава 9. Файлы Классификация внешних данных
- •Стандартные процедуры работы с файлами
- •Процедуры
- •Функции
- •Особенности работы с текстовыми файлами
- •Пример работы с текстовыми файлами.
- •Двоичные файлы (в машинных кодах) Типизированные файлы
- •Процедуры при работе с типизированными файлами
- •Функции при работе с типизированными файлами
- •Пример работы с типизированными файлами.
- •Файлы без типов
- •Процедуры, используемые при работе с нетипизированными файлами
- •Функции, используемые при работе с нетипизированными файлами.
- •Глава 10. Динамические переменные (списки) Понятие динамических переменных
- •Списочные данные
- •Односвязные списки
- •Двусвязные списки
- •Нульсвязные списки
- •Глава 11.Стандартный модуль работы с текстовым экраном Crt
- •2) Координаты экрана
- •3) Управление графическим режимом
- •4) Управление экраном и окном
- •5) Управление цветом
- •6) Вывод точек
- •7) Вывод линий
- •8) Вывод и закраска контуров
- •9) Окружности, эллипсы, дуги
- •10) Вывод текста
- •11) Последовательность работ при использовании графического режима
- •11) Пример программы приложения
Целочисленные типы
Особенностями работы с целыми числами в ЭВМ являются ограничения, накладываемые на значения из-за фиксированного размера памяти, выделяемой переменным. Следует учитывать три особенности при вычислениях с целочисленными данными:
1. В ЭВМ существуют команды арифметики для данных только одинакового типа и размера. (Если операнды разного типа, и один из них может быть приведен к типу второго без потери точности, перед выполнением операции автоматически будет выполнено приведение.)
2. Тип результата совпадает с типом операндов (кроме вещественного деления целых чисел). Если результат не помещается в отведенное место, старшие разряды теряются. Таким образом, множество целых чисел в ЭВМ представляет собой замкнутое кольцо – за самым большим значением следует самое малое.
3. Потеря информации при переполнении, для арифметических операций с целочисленными значениями выполняется без сообщения об ошибках.
В Turbo Pascal предусмотрено 5 разных стандартных описаний целых чисел, в зависимости от возможных диапазонов их изменения (соответственно выделяемой на числовое значение места в оперативной памяти). Их характеристики приведены в таблице.
Таблица 1. Описатели переменных целочисленных типов.
тип |
р в байтах |
формат |
диапазон |
shortint integer longint byte word |
1 2 4 1 2 |
знак. знак. знак. б/зн. б/зн. |
-128 .. 127 -32768 .. 32767 -2147483648 .. 2147483647 0 .. 255 0 .. 65535 |
Для всех целочисленных данных определены арифметические операции: сложение, умножение, вычитание, деление как вещественных данных, целочисленное деление и нахождение остатка при целочисленном делении. Результатом любой операции, кроме вещественного деления является также целое значение.
Значения целочисленных данных могут записываться в 10- и 16-тиричной форме, причем в последнем случае константе должен предшествовать знак $.
Примеры записи целочисленных констант:
534, -1, 21000000, $1С07, $7fffffff, $ABCD и др.
Существует стандартная константа MAXINT=32767, которую можно использовать не объявляя.
Обычно в разделе VAR для знаковых переменных используют тип integer, а для беззнаковых - word, например:
VAR
I,J,MaxI,Period : integer;
Number,NegativCount : word;
При описании целочисленных переменных, следует иметь ввиду, что этот тип используется в абстрактных математических задачах, а в физических - только для объектов задачи, про которых можно спросить: "Какой он по порядку?" и "Сколько их всего штук?".
Лекция 5
Вещественные типы
Для объектов, описывающих любую физическую измеряемую величину в программе должны заводиться переменные вещественного типа. В памяти значения вещественных чисел хранятся в нормализованной экспоненциальной форме в 3-х полях: знаковом, поле для порядка числа и поле для цифр мантиссы. В зависимости от размеров выделяемых полей меняется как диапазон возможных чисел, так и точность их представления. В Turbo Pascal предусмотрены следующие стандартные описатели для вещественных переменных:
Таблица 2. Описатели переменных вещественных типов.
тип |
размер (байт) |
цифр |
диапазон возможных значений |
real single double |
6 4 8 |
11-12 7-8 15-16 |
2.9e-39..1.7e38 1.5e-45..3.4e38 5.0e-324..1.7e308 |
Обычно используют тип real, два других типа можно использовать только при специальной настройке. Важно помнить, что другие языки (фортран, C) используют 4-х или 8-ми байтовые представления вещественных чисел, поэтому, если нужна совместимость по данным, Паскаль-программа должна использовать описатели single или double.
Для вещественных данных определены операции сложения, вычитания, умножения и деления (кроме деления на 0), причем результатом любой операции является вещественное число.
Вещественные константы записывают в двух формах: с фиксированной точкой и с плавающей точкой (последняя форма еще называется экспоненциальной). Примеры первой формы записи:
3.1416, 0.0735, -21.0
Вторая форма получается из первой дописыванием десятичного порядка, отделяя его от мантиссы символом "Е" или "е", например:
0.5e7, -4.57e-3, 1E10 и т.д.
Лекция 6