Файл: Основы программирования на языке Pascal (Символьные и логические типы).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 12.03.2024

Просмотров: 34

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Операции, применимые к переменным вещественного типа, отображены в таблице 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 – Демонстрация работы со строковыми переменными

В данной программе реализованы все операции над переменными строкового типа, описанные в первой главе работы [4].