Файл: Основы программирования на языке Pascal (стандартные типы данных языка программирования ).pdf
Добавлен: 03.07.2023
Просмотров: 118
Скачиваний: 5
Операции, применимые к переменным вещественного типа, отображены в таблице 5.
Таблица 1 – Структура программы
# |
Синтаксис |
Комментарий |
1 |
program <наименование> |
Заголовок программы. Не является обязательным |
2 |
uses <модули> |
Раздел используемых модулей |
3 |
const <имя> = <значение> <имя> : <тип> = <значение> |
Раздел объявления константных величин |
4 |
type <имя> = <тип> |
Раздел объявления типов |
5 |
var <имя> : <тип> |
Раздел объявления переменных |
6 |
label <имя> |
Раздел объявления меток |
7 |
procedure <имя> (параметры); begin [операторы] end; |
Раздел объявления процедур |
8 |
function <имя> (параметры) : тип; begin [операторы] end; |
Раздел объявления функций |
9 |
begin [операторы] end. |
Раздел операторов основной программы |
Таблица 2 – Целые типы данных
Тип |
Область возможных значений |
Размер, б |
byte |
0..255 |
1 |
shortint |
-128..127 |
1 |
integer |
-32768..32767 |
2 |
word |
0..65535 |
2 |
longint |
-2147483648..2147483647 |
4 |
Таблица 3 – Операции над целочисленными переменными
Операция |
Комментарий |
+ |
сложение |
- |
вычитание |
* |
умножение |
/ |
деление |
div |
деление нацело |
mod |
получение остатка от деления |
sqr |
возведение в квадрат |
abs |
взятие модуля числа |
Таблица 4 – Вещественные типы данных
Тип |
Диапазон десятичного порядка |
Число цифр мантиссы |
Размер, б |
real |
-39..39 |
11..12 |
6 |
singl |
-45..38 |
7..8 |
4 |
double |
-324..308 |
15..16 |
8 |
extended |
-4951..4932 |
19..20 |
10 |
comp |
-263+1..263-1 |
19..20 |
8 |
Таблица 5 – Операции над вещественными переменными
Операция |
Комментарий |
sin |
синус |
cos |
косинус |
arctan |
арктангенс |
exp |
экспонента |
frac |
дробная часть |
int |
целая часть |
ln |
логарифм |
round |
округление |
sqrt |
квадратный корень |
Следующий тип данных – логический. Область допустимых значений логических переменных ограничивается двумя вариантами – true (истина) и false (ложь). Переменные логического типа занимают в памяти компьютера один байт. Операции, применимые к таким переменным, приведены в таблице 6.
Таблица 6 – Операции над логическими переменными
Операция |
Комментарий |
not |
отрицание |
or |
логическое или |
and |
логическое и |
xor |
исключающее или |
Наряду с рассмотренными типами данных принято выделять и символьные типы, упорядоченные по стандарту ASCII. Данный стандарт включает в себя символы заглавных и строчных букв, а также цифры и специальные символы. Как и логические, символьные переменные занимают в памяти компьютера один байт. В рамках программного кода значения символьных переменных заключаются в апострофы. Кроме того, значения могут задаваться при помощи ASCII-кодов. Для получения кода какого-либо символа, применяется операция ord. Обратная ей операция – преобразование кода в символ – chr. Также над переменными символьного типа доступны операции сравнения, которые внутри компьютера реализуются в виде сравнения ASCII-кодов соответствующих символов.
Последовательности символов длиной от 1 до 255 объединяются в строки, образуя тем самым, новый тип данных – string. Операции, применимые к переменным строкового типа, приведены в таблице 7 [1].
Таблица 7 – Операции над строковыми переменными
Операция |
Комментарий |
length |
длина строки |
+ |
конкатенация |
>, < |
сравнение |
copy |
копирование подстроки |
pos |
поиск подстроки |
insert |
вставка одной строки в другую |
delete |
удаление подстроки |
Также необходимо ответить еще два немало важных типа данных - перечислимый тип и тип-диапазон. Перечислимым типом называется упорядоченный набор идентификаторов, который задается путем их непосредственного перечисления в разделе типов. Переменные перечислимого типа могут объявляться без предварительного описания используемого типа. Операции, применимые к таким переменным:
- pred – предыдущий элемент;
- succ – следующий элемент;
- ord – определение порядкового номера.
Тип-диапазон представляет собой подмножество базового типа, в качестве которого выбирается любой порядковый тип. Переменные типа-диапазон определяются двумя константами, отвечающими за границы диапазона значений. Тип-диапазон наследует все свойства своего базового типа. Существует две функции, при помощи которых реализуется работа с переменными типа-диапазон:
- high – максимальное значение;
- low – минимальное значение [2].
Еще один базовый тип данных языка программирования Паскаль - тип запись. Данный тип представляет собой конечное упорядоченное множество элементов различных типов данных, объединенных под одним именем. Так, например, на рисунке 1 приведена структура записи, описывающая данные студента.
Рисунок 1 – Структура записи «Студент»
Общим видом записи является такая запись, в которой каждый ее элемент может быть, в свою очередь, записью более низкого уровня. Независимо от количества уровней в структуре записи, полезная информация хранится лишь в элементах, соответствующих листьям. Доступ к содержательному элементу осуществляется указанием последовательности имен в промежуточных элементах и соответствующего содержательного элемента.
Работе с переменными структурного типа в языке Паскаль доступна с использованием операции присоединения имен with [15].
Кроме того, Паскаль предлагает возможность работы с более сложным типом данных - файлом. В общем случае файлом называется именованная область внешней памяти компьютера, содержащая последовательность некоторых однотипных информационных элементов. Это определение объясняет тот факт, что файлы считаются структурами данных.
В зависимости от степени хранения файлы в языке Паскаль делятся на внешние (физические) и внутренние (логические). Физические файлы предназначены для обмена данными со средой, поэтому хранятся на внешних носителях. По завершению программы их содержимое сохраняется неизменным, благодаря чему эти файлы могут быть использованы другими программами.
Логические файлы расположены в оперативной памяти компьютера и стираются по завершению программы, их создавшей.
На логическом уровне в качестве информационных элементов файлов могут выступать любые структуры данных, даже файлы. На физическом уровне универсальным информационным элементом любого файла является байт.
Существует три типа внешних файлов:
- типизированные – содержат данные только одного типа. Функции и процедуры, применимые к таким файлам, приведены в таблице 8;
- текстовые – последовательность строк разной длины, каждая из которых заканчивается меткой конца строки - EoLn;
- нетипизированные [11].
Таблица 8 – Операции над типизированными файлами
Операция |
Комментарий |
FileSize |
Определение текущего размера файла |
FilePos |
Номер текущей записи в файле |
Seek |
Перемещение указателя на запись с заданным номером |
Truncate |
Усечение файла после указанной записи |
Erase |
Уничтожение файла |
В данной главе описана история появления языка программирования Паскаль, его назначение. Отражены критерии оценки различных языков программирования в целом, а также применительно к рассматриваемому языку. Кроме того, в данной главе рассмотрены стандартные типы данных и основные принципы работы с ними.
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1. Числовые типы
Код программы, демонстрирующей выполнение операций с целочисленными переменными:
Program Example_1;
uses crt;
var
x,y:integer;
begin
x:=5;
y:=-17;
Writeln('-17 + 5 = ', y+x);
Writeln('-17 - 5 = ', y-x);
Writeln('-17 * 5 = ', y*x);
Writeln('-17 / 5 = ', y/x);
Writeln('Деление нацело: -17 div 5 = ', (y div x));
Writeln('Остаток от деления: -17 mod 5 = ', (y mod x));
Writeln('Квадрат числа (-17) = ', sqr(y));
Writeln('Модуль числа (-17) = ', abs(y));
Readln();
end.
Результат выполнения данного кода приведен на рисунке 2.
В данной программе реализованы все операции над переменными целочисленного типа, описанные в первой главе работы [7].
Рисунок 2 – Демонстрация работы с целочисленными переменными
Код программы, демонстрирующей работу с переменными вещественного типа:
Program Example2;
uses crt;
var
x:real;
begin
x:=3.15;
Writeln('sin(3.15) = ', sin(x));
Writeln('cos(3.15) = ', cos(x));
Writeln('arctan(3.15) = ', arctan(x));
Writeln('exp(3.15) = ', exp(x));
Writeln('frac(3.15) = ', frac(x));
Writeln('int(3.15) = ', int(x));
Writeln('ln(3.15) = ', ln(x));
Writeln('round(3.15) = ', round(x));
Writeln('sqrt(3.15) = ', sqrt(x));
Readln();
end.
Результат выполнения данного кода приведен на рисунке 3.
Рисунок 3 – Демонстрация работы с вещественными переменными
В данной программе реализованы все операции над переменными вещественного типа, описанные в первой главе работы [17].
2.2. Символьные и логические типы
Код программы, демонстрирующей работу с переменными логического типа:
Program Example3;
uses crt;
var
x, y:boolean;
begin
x:=true;
y:=false;
Writeln('not(true) = ', not(x));
Writeln('true or false = ', (x or y));
Writeln('true and false = ', (x and y));
Writeln('true xor false = ', (x xor y));
Readln();
end.
Результат выполнения данного кода приведен на рисунке 4.
Рисунок 4 – Демонстрация работы с логическими переменными
В данной программе реализованы все операции над переменными логического типа, описанные в первой главе работы [10].
Код программы, демонстрирующей работу с переменными символьного типа:
Program Example4;
uses crt;
var
x, y:char;
begin
x:='Z';
y:=#75;
Writeln('ord(Z) = ', ord(x));
Writeln('chr(#75) = ', chr(ord(y)));
Writeln('Z > K = ',x>y);
Readln();
end.
Результат выполнения данного кода приведен на рисунке 5.
Рисунок 5 – Демонстрация работы с символьными переменными
В данной программе реализованы все операции над переменными символьного типа, описанные в первой главе работы [20].
Код программы, демонстрирующей работу с переменными строкового типа:
Program Example5;
uses crt;
var
x, y:string;
begin
x:='Hello';
y:='World!';
Writeln('Length(Hello) = ',length(x));
Writeln('+: ',x+', '+y);
Writeln('copy: ',copy(x,2,3));
Writeln('pos: ',pos(x,'lo'));
Writeln('insert: ',x.insert(5,' '+y));
Readln();
end.
Результат выполнения данного кода приведен на рисунке 6.
Рисунок 6 – Демонстрация работы со строковыми переменными