![](/user_photo/2706_HbeT2.jpg)
- •Программирование в системе Pascal abc
- •Введение
- •1. Система программирования pascal abc
- •1.1. Структура меню среды
- •1.2. Команды редактора Pascal abc
- •Команды удаления и вставки
- •1.3. Правила оформления программ
- •1.4. Компиляция и исправление синтаксических ошибок
- •1.5. Этапы подготовки и решения задач на компьютере
- •1.6. Словарь основных терминов
- •2. Начальные сведения о языке pascal abc
- •2.1. Алфавит языка
- •2.2. Константы
- •2.3. Идентификаторы и типы данных
- •2.4. Переменные и именованные константы
- •2.5. Структура простой программы и комментарий
- •3. Оператор присваивания и числовые данные
- •3.1. Арифметические выражения
- •Приоритеты операций в выражении
- •3.2. Оператор присваивания
- •3.3. Процедуры ввода-вывода
- •3.4. Стандартные функции Pascal abc
- •3.5. Целые типы в Pascal abc
- •3.6. Вещественные типы
- •Переменные комплексного типа
- •3.7. Примеры и задания к самостоятельному выполнению
- •4. Программирование разветвленных алгоритмов
- •4.1. Логические выражения
- •4.2. Условный оператор if
- •4.3. Составной и пустой операторы
- •4.4. Оператор безусловного перехода
- •4.5. Пример и задания с оператором if
- •4.6. Оператор выбора варианта case
- •4.7. Примеры и задания с оператором case
- •5. Программирование алгоритмов циклической структуры
- •5.1. Оператор счётного цикла
- •5.2. Примеры и задания для оператора цикла со счётчиком
- •Задания к самостоятельному выполнению
- •5.3. Оператор цикла с предусловием
- •5.4. Пример и задания для оператора цикла с предусловием
- •5.5. Оператор цикла с постусловием
- •5.6. Процедуры прерываний циклов
- •5.7. Примеры и задания для циклов с постусловием
- •Задания для самостоятельного выполнения
- •6. Структурированные типы данных
- •6.1. Массивы данных
- •Типизированные константы-массивы
- •6.2. Пример и задания для одномерных массивов
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •6.3. Ограниченный тип (диапазон)
- •6.4. Пример и задания для двумерных массивов
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •Задание 3
- •7. Структурное программирование
- •7.1. Структура сложной программы
- •7.2. Подпрограммы. Процедуры и функции
- •7.3. Структура подпрограммы-функции
- •7.4. Примеры и задания с подпрограммой-функцией
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •7.5. Структура подпрограммы-процедуры
- •7.6. Передача в подпрограмму массивов и строк
- •7.7. Рекурсия в программе
- •7.8. Вложенные подпрограммы
- •7.9. Процедуры exit и halt
- •7.10. Пример и задания с подпрограммой-процедурой
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •8. Обработка символьных данных
- •8.1. Символьный тип
- •8.2. Задания для символьных данных
- •9. Обработка строк текста
- •9.1. Строковый тип
- •9.2. Встроенные функции и процедуры для обработки строк
- •9.3. Пример и задания для обработки строк
- •Задания для самостоятельного выполнения
- •10. Файлы
- •10.1. Процедура связывания файлов
- •10.2. Процедуры и функции для работы с файлами
- •10.3. Типизированные файлы
- •10.4. Текстовые файлы
- •10.5. Процедуры ввода
- •10.6. Процедуры вывода
- •10.7. Примеры и задания для работы с файлами
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •11. Комбинированный тип – записи
- •11.1. Структура данных типа записи
- •11.2. Обработка полей записей
- •11.3. Задания с обработкой записей Задание 1
- •Задание 2
- •12. Процедурные типы
- •Библиографический список
- •Обозначения графические в схемах алгоритмов (гост 19.701-90)
- •Содержание
3.5. Целые типы в Pascal abc
В Pascal ABC имеется три стандартных типа целых чисел: Byte, Integer и Word. Диапазон их возможных значений зависит от внутреннего представления числа, которое может занимать один, два или четыре байта. В таблице 3 приведены характеристики этих целых типов.
Таблица 3
Классификация целых типов
Длина, байт |
Название |
Диапазон |
Примечание |
1 2 4 |
BYTE WORD INTEGER |
от 0 до 255 от 0 до 65535 от -2147483648 до +2147483647 |
Короткое целое без знака Целое без знака Целое со знаком
|
Компилятор языка Pascal ABC определяет максимальное значение MAXINT для данных типа INTEGER. При этом справедливо будет соотношение:
MAXINT <= K <= MAXINT
Описание переменных целых типов производится в разделе описаний VAR:
Var <имя переменной> : <целый тип>;
где <целый тип > может быть определен как Byte, Integer или Word.
Например:
VAR K: INTEGER;
I, J: BYTE;
Для целых типов определены следующие операции: сложение, вычитание (имеют более низкий приоритет), умножение и деление DIV, MOD. К целым типам применимы функции из таблицы 4. Функции TRUNC(X) и ROUND(X) с вещественным аргументом также дают целый результат (см. табл. 2). Стандартные математические функции в случае задания целого аргумента всегда возвращают вещественные значения (см. табл. 2).
При использовании процедур и функций с целочисленными параметрами следует руководствоваться правилом «вложенности» типов, т.е. везде, где в качестве аргумента используется тип WORD, можно применять тип BYTE. Для арифметических операций, если операнды относятся к разным целым типам, тип результата имеет максимальную мощность диапазона, т.е. для типов операндов Byte и Word в выражении тип результата будет Word.
Таблица 4
Встроенные процедуры и функции для целых типов
Обращение |
Тип результата |
Действие |
ABS(X) SQR(X) CHR(B)) ODD(L)
RANDOM(W)
DEC(Х, [i] ) INC(Х , [i] ) |
Как у аргумента Как у аргумента CHAR BOOLEAN
Как у аргумента
Процедура Процедура |
Возвращает модуль числа Х Возвращает квадрат числа Х Возвращает символ по его коду Возвращает значение TRUE, если аргумент – нечетное число, FALSE если четное Возвращает псевдослучайное число, равномерно распределенное на интервале 0<=X<=W Уменьшает Х на 1 [на i] Увеличивает Х на 1 [на i] |
3.6. Вещественные типы
В отличие от целых типов значения вещественных типов определяют число с десятичной точкой лишь с некоторой точностью, зависящей от внутреннего представления числа. Вещественное число в памяти ПК хранится в формате, состоящем из знака, мантиссы и порядка числа. Десятичная точка подразумевается стоящей перед левым (старшим) разрядом мантиссы (такая мантисса называется нормализованной). При выполнении операций десятичная точка сдвигается путем выполнения умножения мантиссы на E (символ экспоненты) с порядком.
Например, запись числа в виде: <знак> <мантисса> Е <порядок> соответствует представлению числа <знак> <мантисса>*10 <порядок>.
В Pascal ABC используются только два вещественных типа – REAL и COMPLEX , характеристики которых приведены в таблице 5.
Таблица 5
Вещественные типы
Длина, байт |
Название типа |
Значащие цифры мантиссы |
Диапазон десятичного порядка |
8 16 |
REAL COMPLEX |
15..16 15..16 |
-324 …+308 -324 …+308 |
Объявление переменных вещественных типов производится в разделе описаний переменных VAR аналогично переменным целых типов в виде:
Var <переменная> : <вещественный тип>;
где <вещественный тип > может быть задан только Real или Complex.
Для работы с вещественными типами определены стандартные функции: sin, cos, arctаn, ln, exp, sqr, abs, sqrt (табл. 2), а также функции вещественного типа (табл. 6).
Таблица 6
Встроенные функции вещественного типа
Обращение |
Тип параметра |
Тип результата |
Примечание |
Pi Frac(Х) Int(x) Random Randomize |
вещественный вещественный |
вещественный вещественный вещественный вещественный |
Pi = 3,141592653 Дробная часть Х Целая часть x 0<x<1 случайное число Инициализация датчика случайных чисел |
При этом операции +, -, *, / в арифметическом выражении дают вещественный результат, если хотя бы один из операндов вещественный.