- •Алгоритмические языки и программирование
- •Циклический алгоритм
- •История создания языков программирования
- •Структура программы на языке "Паскаль"
- •Переменные и их имена
- •Замечания
- •Команда присваивания
- •Операторы write и writeln. Процедуры вывода информации
- •Операторы read и readln. Процедуры ввода информации
- •Арифметические операции с целыми числами. Переменные целого типа. Вещественный тип
- •Арифметические операции с целыми числами и переменными целого типа в языке Паскаль
- •Операции отношения или сравнения
- •Логические операции
- •Операция целочисленного деления и операция - остаток от деления
- •Расширение диапазона значений целых переменных
- •Расширение диапазона значений вещественных переменных
- •Оператор безусловного перехода goto
- •1: Writeln('Число не содержит цифру 2');
- •Оператор if ... Then ... Else
- •Цикл с предыдущим условием. Оператор while ... Do ...
- •Цикл с последующим условием. Оператор repeat...Until...
- •Различия между циклом - while и циклом – repeat
- •Циклы с параметрами. Операторы for...To...Do... И for...Downto...Do...
- •Оператор Case...Of...
- •Логические операции
- •Массивы
- •Ошибки в программировании. Примеры ошибок в языке Паскаль
- •Выполнение программы. Ключевые кнопки
- •Первые ошибки и их исправление
- •Вызов процедуры из процедуры
- •Работа с файлами. Файловый тип
- •Доступ к файлам
- •Инициация файла
- •Стандартные процедуры и функции для работы с файлами
Расширение диапазона значений целых переменных
Турбо-Паскаль имеет возможности для расширения диапазона значений целых переменных.
Так, если тип integer устанавливает диапазон целых значений от -32768 до 32767, то целый тип longint расширяет его от -2147483648 до 2147483647.
Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать один, два или четыре байта. В таблице приводятся названия целых типов, длина их внутреннего представления в байтах и диапазон возможных значений.
Целые типы
Длина, байт |
Название типа |
Диапазон значений |
1 |
byte |
0 ... 255 |
1 |
shortint |
-128 ... 127 |
2 |
word |
0 ... 65535 |
2 |
integer |
-32768 ... 32767 |
4 |
longint |
-2147483648 ... 2147483647 |
При использовании процедур и функций с целочисленными параметрами следует руководствоваться "вложенностью" типов, т.е. везде, где может использоваться WORD, допускается использование BYTE (но не наоборот), в LONGINT входит INTEGER, который, в свою очередь, включает в себя SHORTINT.
Расширение диапазона значений вещественных переменных
Аналогично расширению диапазона значений целых переменных существует расширение диапазона значений вещественных переменных. При этом все числа диапазона в вещественных типах могут быть положительными и отрицательными, но мантисса отрицательных содержит на одну цифру меньше. Мантиссы во всех типах практически одинаковы и рост диапазона осуществляется за счет увеличения возможного порядка чисел.
Порядок как число занимает небольшое количество байт, но за счет него диапазоны значений достигают огромных величин.
Вещественные типы
Длина, байт |
Мантисса |
Название типа |
Диапазон значений |
6 |
11-12 |
real |
± 2.9E-39 ... ± 1.7E38 |
4 |
7-8 |
single |
± 1.5E-45 ... ± 3.4E38 |
8 |
15-16 |
double |
± 5.0E-324 ... ± 1.7E308 |
10 |
19-20 |
extended |
± 3.4E-4932 ... ± 1.1E4932 |
Для работы программы с использованием расширенных типов single, double и extended необходимо переключать модель генерации чисел с плавающей точкой. Это делается с помощью добавления в программу директивы {$n+} перед словом program:
{$n+}
program abc;
var a:single;
…
Без данной директивы попытка присвоить переменной расширенного вещественного типа какое-либо значение закончится ошибкой вида:
Error 116: Must be in 8087 mode to compile this.
(Ошибка 116: Должен быть в 8087 режиме чтобы компилировать это.)
Лекция №5 Представления основных структур программирования: итерация, ветвление, повторение.
Оператор безусловного перехода goto
Оператор перехода указывает, что дальше программа должна выполняться, начиная с оператора, помеченного меткой, которая записана в этом операторе перехода.
Оператор перехода имеет вид: goto <метка>. Здесь goto - зарезервированное слово (перейти на ... [метку]).
Метка в Турбо Паскале - это произвольный идентификатор, позволяющий именовать (помечать) некоторый оператор программы и таким образом ссылаться на него. Допускается в качестве меток (в том числе) использовать целые числа без знака.
Например:
goto 2341, goto 23, goto 1, goto bl1, goto mnk3, goto n56.
Любая метка должна быть описана в разделе описания меток, который обычно располагается в программе до начала раздела операторов:
label <список меток>.
Например: label 2341; label 1, 2; label bl1, 18, mnk.
В программе метка записывается перед оператором, на который осуществляется переход. Метка отделяется от оператора двоеточием. Между меткой и оператором можно включать один или несколько пробелов, например: