Функции для величин порядкового типа

Введение

В методических указаниях описываются базовые понятия языка программирования TURDO PASCAL.

PASCAL (Паскаль) лучше других языков подходит для обучения программированию. Он был разработан в 1968-1971гг. Н. Виртом в Цюрихском институте информатики (Швейцария). Первоначальная цель разработки языка PASCAL - необходимость инструмента для обучения программированию.

С момента создания языка различные фирмы создали большое количество компиляторов. Компилятор – программа, обеспечивающая перевод программ с языка высокого уровня(приближенного к человеку) на язык более низкого уровня (близкий к ЭВМ), или машинно-зависимый язык. Одной из наиболее удачных версий стала разработка фирмы Borland, в которой были объединены редактор текстов и высокоэффективный компилятор. Созданная среда стала называться TURDO PASCAL, а язык получил название TURDO PASCAL. Язык обладает расширенными возможностями по сравнению со стандартным языком PASCAL.

Среда программирования PASCAL позволяет создавать тексты программ, компилировать их, находить и исправлять ошибки, компоновать программу из отдельных модулей, отлаживать и выполнять программу.

Методические указания представляют собой вводный курс в язык программирования TURBO PASCAL.

Базовые элементы и структура языка PASCAL.

Алфавит и словарь языка.

Символы языка – элементарные знаки, используемые для составления текстов. Они составляют алфавит языка. Программа на PASCAL формируется с помощью конечного набора знаков, образующих алфавит языка, и состоит из букв, десятичных цифр и специальных символов.

В качестве букв используются прописные и строчные буквы латинского алфавита, знак подчеркивания. Также при написании программ используются специальные символы + - * / = < > [ ] { } ( ) @ . , : ; # $ ^

Неделимые последовательности знаков алфавита образуют слова, отделенные друг от друга разделителями и несущие определенный смысл в программе. Разделителем может служить пробел, символ конца строки, комментарий. Слова подразделяются на зарезервированные, стандартные идентификаторы и идентификаторы пользователя.

Зарезервированное или служебное слово – это слово, которое в языке программирования имеет определенное смысловое значение.

Идентификатором является последовательность букв, цифр и знаков подчёркивания, которая начинается с буквы или символа подчёркивания и не содержит пробелов. Идентификатор может иметь любую длину, но значимыми являются только первые 63 символа.

Стандартные идентификаторы (имена) служат для обозначения заранее определенных разработчиками языка типов данных, констант, процедур и функций.

Идентификаторы пользователя (имена) применяются для обозначения меток, констант, переменных, процедур и функций, определенных самим программистом.

При написании идентификатора можно использовать прописные и строчные буквы латинского алфавита, знак подчеркивания.

Структура программы.

Программа, написанная на языке PASCAL, имеет следующие разделы

1. заголовок программы.

PROGRAM_ имя программы;

Имя программы не должно содержать пробелов, должно начинаться с буквы и состоять только из латинских букв, цифр и символа _ (подчеркивание).

2. программный блок.

2.1. список имен подключаемых библиотечных модулей – экрана (CRT), графики (GRAPH).

USES_имя1[,имя2, …];

2.2. раздел описания меток – имена меток перечисляются через запятую после зарезервированного слова. В программе после метки ставится двоеточие. Метка позволяет выполнить переход на оператор, следующий за ней, из любого места программы с помощью оператора перехода GOTO.

LABEL_имя1[,имя2,…];

2.3. раздел описания констант. Выражения присваивания значений константам отделяются друг от друга точкой с запятой.

CONST_идентификатор1=значение1[; идентификатор2= значение2;…];

2.4. раздел описания типов данных. За служебным словом TYPE следуют одно или несколько определений типов, разделенных точкой с запятой. Тип данных может быть описан и непосредственно в разделе описания переменных.

TYPE_имя типа = значение типа;

2.5. раздел описания переменных. Имена переменных перечисляются через запятую и далее, через двоеточие, следует их тип и точка с запятой, после которой аналогично описываются другие переменные.

VAR_идентификатор1, идентификатор2,…:тип переменных;

2.6. раздел описания подпрограмм (процедур) и функций. В этом разделе размещаются тела подпрограмм, роль которых в Паскале выполняют процедуры и функции.

PROCEDURE_имя(формальные параметры : тип);

BEGIN

Тело процедуры

END;

FUNCTION_имя(формальные параметры : тип):тип результата;

BEGIN

Тело функции

END;

3. раздел операторов, т.е. сама программа. Операторы выполняются в том порядке, в котором они записаны, в соответствии с синтаксисом и правилами пунктуации языка PASCAL. Слова BEGIN и END являются аналогами открывающейся и закрывающейся скобок в обычных арифметических выражениях. В конце программы после оператора END ставится точка.

BEGIN

Операторы программы через ;

END.

Комментарийзаписывается в программе в любом месте, где разрешен пробел, в фигурных скобках {комментарий} или скобках со звездочкой (*комментарий*). В тексте комментария не должны находиться знаки его ограничения { и (*. Ограничители комментария удобно использовать в процессе отладки программы, временно исключая выполнение какой-либо части программы.

Любой раздел, кроме раздела операторов, может отсутствовать. Разделы описаний (кроме USES, который всегда расположен после заголовка программы) могут встречаться в программе любое количество раз, но все описания объектов программы (переменных, функций, меток, констант, процедур) должны быть сделаны до того, как эти объекты будут использованы.

Пример 1: Программа расчета объема шара.

PROGRAM share; заголовок программы}

USES crt; {подключение модулей}

CONST p=3.14; {описание констант}

VAR rad: integer; v: real;{описание переменных}

BEGIN {раздел операторов}

clrscr; {очистка экрана}

rad:=4; {задание значения радиуса шара}

v:=3*p*rad*rad*rad/4; {вычисление объема шара}

write (‘ объем шара - ’,v); end.{вывод результата}

Простые типы данных.

В PASCAL можно выделить следующие группы типов данных: простые, структурированные, указатели, процедурные типы, объекты. Среди типов данных, используемых в языке, есть стандартные и определяемые программистом. К стандартным типам, не требующим предварительного определения, относятся целые типы, вещественные типы, логические типы, символьный тип, тип-строка, текстовый файл, указатель.

Целый и вещественный тип. В PASCAL имеется пять стандартных типов целых данных (см табл. 1) и пять типов вещественных данных (см табл.2). Они различаются диапазоном, наличием знака и размером занимаемой памяти.

Значение вещественного типа может быть представлено в двух видах: числом с фиксированной точкой и плавающей точкой. Число с фиксированной точкой изображается десятичным числом с дробной частью, которая отделяется от целой части точкой. Например: 15.5, 12.00, -321.897, 0.33.

Таблица 1. Целые типы данных

Тип Название Диапазон значений Память байт Формат
Byte Shortint   Integer Word Longint Байт Короткое цел. Целое Слово Длин. целое 0..255 -128..127   -32768..32767 0…65535 -2147483648..   Без знака Знаковый   Знаковый Без знака Знаковый  

Таблица 2. Вещественные типы данных.

Тип Название Диапазон значений Память байт Число значащих цифр
Real     Single     Double     Extended     Comp Вещественный   Одинарн. точности   Двойной точности   Расширенный   Большое целое 2.9*10-39-1.7*1038     1.5*10-45-3.4*1038     5*10-324-1.7*10308     3.4*10-4932 - 1.1*104932   -9.2*1018-9.2*1018                 11-12     7-8     15-16     19-20     19-20

Число с плавающей точкой имеет вид mEp, где m - мантисса, p – порядок числа. В качестве m могут быть целые и действительные числа с фиксированной точкой, в качестве p – только целые числа. Мантисса и порядок могут содержать знаки +, -.

Математическая запись Запись с плавающей точкой
0,000002 2E-6
0,34*104 0.34E+4;
-20,5*1012 -20.5E12;
12*10-5 12E-5

Вывод данных вещественного типа возможен с форматом и без него. Если при выводе данных вещественного типа не указан формат, то число выводится с плавающей точкой. При этом на изображение числа 17 позиций, в целой части мантиссы присутствует хотя бы одна значащая цифра.

Математическая запись Вывод без указания формата
2.0000000000E+00
0,5 5.0000000000E-01
0,0064 6.4000000000E-03
236,2 2.3620000000E+02

Изменить стандартную форму вывода можно, используя формат в операторе write:

write(a:m:n), где a – выводимое данное вещественного типа, m – общее поле выводимого числа (включая знак числа, целую часть, точку и дробную часть), n – поле дробной части. В качестве m и n могут использоваться целые константы, переменные, выражения. При задании формата вывода необходимо учитывать, что точка и знак – (минус) в случае отрицательного значения переменной занимают по одной позиции в записи переменной.

Например: используя формат вывода write(a:8:5) для вывода числа 7.567895135 получим на экране монитора 7.56789.

Логический (булевский) тип (boolean) представлен двумя значениями True (истина) и False (ложь) и используется в логических выражениях и выражениях отношения. Занимает этот тип 8 бит.

Символьный тип (Char) – это тип данных, элементами которого являются буквы, цифры, знаки препинания и специальные символы. Каждому символу алфавита соответствует числовой код от 0 до 255, который занимает в памяти 1байт. Система кодирования символов в PASCAL– ASCII.

Перечисляемый тип. Этот тип не является стандартным и задаётся перечислением значений. Эти значения образуют упорядоченное множество.

Например, если в программе записан оператор:

Type day=(sat, sun, mon, tue, wed, thu, fri);

Тогда тип day будет включать в себя значения sat, sun, mon, tue, wed, thu, fri.

Как перечисляемые типы данных можно рассматривать и стандартные типы: integer, boolean, char. Имена значений, перечисленные в описании типа, являются константами этого типа.

Ограниченный тип. Ограниченный тип данных представляет интервал значений порядкового типа. В описании типа задают наибольшее и наименьшее значения, разделенные двумя точками, входящие в интервал.

Например, Type chislo=1..25; Ch=’a’..’z’;

Константы.

Константами называются элементы данных, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются. Для определения значений констант служит зарезервированное слово CONST:

CONST_идентификатор=значение константы;

Например, CONST а=-0.5; s=3; symbol= ’k’;

Стандартные функции.

Функция возвращает в программу значение (результат своей работы. Обращение к функции осуществляется по имени с указанием в скобках аргумента или списка аргументов через запятые.

Арифметические и тригонометрические функцииможно использовать только с аргументами целого и вещественного типа (см табл. 3).

Таблица 3. Стандартные функции.

Функция Назначение Тип результата
ABS(X) абсолютное значение аргумента совпадает с типом аргумента
SQR(X) квадрат аргумента совпадает с типом аргумента
SQRT(X) квадратный корень из аргумента вещественный
COS(X) косинус аргумента вещественный
SIN(X) синус аргумента вещественный
ARСTAN(X) арктангенс угла вещественный
EXP(X) еХ вещественный
LN(X) натуральный логарифм вещественный
Int(x) целая часть числа вещественный
Frac(x) дробная часть числа вещественный
PI возвращает значение числа p вещественный
RANDOM(N) генерирует значение случайного числа в диапазоне от 0 до N целочисленный
RANDOM генерирует значение случайного числа в диапазоне от 0 до 0,99 вещественный

Функции преобразования типов. Эти функции предназначены для преобразования типов величин, например, символа в целое число, вещественного числа в целое и т.д. Такими функциями являются, например, функции ord(х), которая возвращает порядковый номер аргумента и, таким образом, преобразует величину порядкового типа в величину целого типа, функция round(х), которая округляет вещественное число до ближайшего целого, trunc(х) - выдает целую часть вещественного числа, отбрасывая дробную.

Функции для величин порядкового типа

Odd(х) - проверяет аргумент на нечетность. Аргумент функции величина типа Longint, результат Тruе, если аргумент нечетный, False - если четный.

Рred(х) - определяет предыдущее значение величины х.

Succ(х) - определяет последующее значение величины х.

Наши рекомендации