Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Структура проекта Turbo Pascal




 

Программа на языке Паскаль состоит из заголовка, разделов описаний и раздела операторов.

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

Uses подключаемые модули;

Блок описания:

Меток

Констант

Типов

Переменных

Процедур

Функций

Begin

Тело программы.

Исполняемая часть.

End.

Строка программы может иметь максимальную длину 127 символов. Если строка будет длиннее, ее часть, выходящая за пределы 127 символов, будет компилятором игнорироваться.

Комментарии заключаются в фигурные скобки {……}.

 

Основные компоненты палитры и их свойства

 

Процедура SetColor. Устанавливает текущий цвет для выводимых линий и символов. Заголовок:

Procedure SetColor(Color: Word);

ФункцияGetMaxColor. Возвращает значение типа Word, содержащее максимальный доступный код цвета, который можно использовать для обращения к SetColor. Заголовок:

Function GetMaxColor: Word;

ПроцедураSetBkColor. Устанавливает цвет фона. Заголовок:

Procedure SetBkColor(Color: Word);

Здесь Color - цвет фона.

В отличие от текстового режима, в котором цвет фона может быть только темного оттенка, в графическом режиме он может быть любым. Установка нового цвета фона немедленно изменяет цвет графического экрана. Это означает, что нельзя создать изображение, два участка которого имели бы разный цвет фона. Для CGA -адаптера в режиме высокого разрешения установка цвета фона изменяет цвет активных пикселей. Замечу, что после замены цвета фона на любой, отличный от 0 (Black) цвет, Вы не сможете более использовать цвет 0 как черный, он будет заменяться на цвет фона, т.к. процедуры модуля Graph интерпретируют цвет с номером 0 как цвет фона.

 

Данные в Turbo Pascal

 

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

Тип данных определяет:

1) формат представления данных в памяти ЭВМ;

2) множество допустимых значений;

3) множество допустимых операций.

Типы данных в языке программирования Turbo Pascal делятся на пять основных классов:

1) простые типы;

2) структурированные типы;

3) ссылочные типы;

4) процедурные типы;

5) объектные типы.

Типы данных делятся на порядковые и вещественные типы данных.

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

В любом порядковом типе для каждого значения, кроме первого, существует предшествующее значение, и для каждого значения, кроме последнего, существует последующее значение. В языке Turbo Pascal существуют стандартные функции, которые позволяют определять соответствующее значения для заданного значения:

1) функция PRED(x) определяет предыдущее значение величины х;

2) функция SUCC(x) определяет последующее значение величины х;

3) функция ORD(x) возвращает порядковый номер величины х.

 

Таблица 1 - Целочисленные типы данных

 

Тип Диапазон возможных значений Размер памяти
Shortint от -128 до 127 1 байт
Integer 32767 до 32768 2 байта
Longint -2147483648 до 2147483647 4 байта
Byte 0 до 255 1 байт
Word 0 до 65535 2 байта

 

Значения целых типов могут изображаться в программе двумя способами: в десятичном виде (традиционно, в виде последовательности цифр) и в шестнадцатеричном виде (в этом случае число предваряется знаком “$”, а цифры старше 9 обозначаются латинскими буквами от А до F).

Над данными целого типа определены следующие арифметические операции: сложение “+”, вычитание “-”, умножение “*”, деление “/”, целочисленное деление div, остаток от деления mod. Результат выполнения этих операций над целыми операндами также имеет целый тип.

Также с целыми числами можно производить операции, результаты которых не целые числа. Это обычное деление и операции отношения.

Над данными целого типа определены следующие операции отношения: равно “=”, не равно “<>”, больше “>”, меньше “<”, больше или равно “>=”, меньше или равно “<=”, вырабатывающие результат логического типа (Boolean).

Для целых чисел определены следующие стандартные функции:

– Odd(x) – возвращает результат логического типа: для четного аргумента – false, а для нечетного – true;

– Succ(x) – возвращает следующее целое число (х+1);

– Pred(x) – возвращает предыдущее целое число (х-1);

– Ord(x) – возвращает аргумент x;

– Abs(x) – возвращает модуль х;

– Srq(x) – возвращает квадрат числа х;

– Sqrt(x) – возвращает значение корня числа х;

– Exp(x) – возвращает е в степени х (экспоненту), результат вещественного типа;

– Sin(x) – возвращает синус х, результат вещественного типа;

– Cos(x) – возвращает косинус х, результат вещественного типа;

– Ln(x) – возвращает натуральный логарифм х, результат вещественного типа;

– Dec(x, i) – уменьшает значение х на i, если i не задано, то на 1;

– Inc(x, i) – увеличивает значение х на i, если i не задано, то на 1.

 

Вещественные типы данных. 263+1… 263-1

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

 

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

Тип Диапазон возможных значений Размер памяти
REAL 2,9∙10-39… 1,7∙10-38 6 байт
SINGLE 1,5∙10-45… 3,4∙10-38 4 байт
DOUBLE 5,0∙10-324… 1,7∙10-308 8 байт
EXTENDED 3,4∙10-4951… 1,1∙10-4932 10 байт
COMP 263+1… 263-1 8 байт

 

Над данными вещественного типа определены следующие операции:

- арифметические: +, -, /, *

- соотношения: =, <>, <, >, <=, >=

1) sin(x) - Возвращает синус, угол в радианах;

2) cos(x) - Возвращает синус, угол в радианах;

3) arctan(x) - Возвращает арктангенс;

4) abs(x) - Возвращает абсолютную величину;

5) sqr(x) - Возвращает квадрат;

6) exp(x) - Возвращает экспоненту;

7) ln(x) - Возвращает логарифм натуральный;

8) trunc(x) - Отбрасывает дробную часть trunc(5.6)=5;

9) round(x) - Округляет до ближайшего целого round(5.6)=6;

10) frac(x) - Выделяет дробную часть frac(10.1)=0.1;

11) int(x) - Выделяет целую часть int(10.1)=10.0;

12) random - Датчик случайных чисел (ДСЧ);

13) random(x) - Датчик случайных чисел (ДСЧ);

14) randomize - Инициализация ДСЧ.

Логический тип данных и логические выражения.

Переменные логического типа описываются посредством служебного слова Boolean. Они могут принимать только два значения - False (ложь) и True (истина). Описываются они в разделе описания переменных. Var Flag: Boolean;

В языке Турбо Паскаль имеются логические операции, применяемые к переменным логического типа. Это операции not, and, or и хor. В этой теме Вы рассмотрите три логические операции.

Операция not (НЕ) имеет один операнд и образует его логическое отрицание. Результат операции not есть False, если операнд истинен, и True, если операнд имеет значение ложь. Так, not True False (неправда есть ложь)

not False True (не ложь есть правда)

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

Результат операции or (ИЛИ) есть истина, если какой-либо из ее операндов истинен, и ложен только тогда, когда оба операнда ложны.

Перечисляемый тип данных.

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

Символьный тип данных.

Наряду с числовой информацией в Паскале используется алфавитно-цифровая или символьная информация, которая включает в себя заглавные, строчные буквы, цифры от 0 до 9 и вспомогательные символы. Для описания символьных переменных используется тип данных CHAR или STRING.

Тип данных CHAR.

Каждая переменная символьного типа может принимать значение только одного символа. Все символы упорядочены в соответствии с принятым в ЭВМ коде (например ASCII). При этом порядковый номер символов называется кодом (например, код латинского символа 'А ' равен 65; символа '3' равен 51).

Для символьных данных не определены никакие арифметические операции, но они могут сравниваться по своим кодам, участвовать в чтении, печати, операторах присваивания.

Строка - это последовательность символов. Строку можно представить как массив, элементы которого имеют тип CHАR.

Массив BUK-массив символов, который содержит 17 символов. Если символов меньше, то строка дополняется пробелами справа. В противном случае возникает ошибка несоответствия типов. Так как массивы символов являются обычными массивами с элементами типа CHAR, они обладают всеми свойствами массивов.

Тип данных STRING.

В Турбо Паскале предусмотрен тип данных STRING. Переменная типа STRING может принимать значения переменной длины. Максимально возможная длина переменной 255 символов. Например: str: STRING[200]; ow: STRING[10];

В скобках указывается максимальная длина для данной переменной. Для ввода значений типа STRING необходимо использовать READLN, а не READ. За один раз может быть введена только одна строка. Две строки можно сравнивать, используя операции отношения (сначала сравниваются самые левые символы, если они равны, то сравниваются следующие). Для работы с переменными типа STRING используют следующие стандартные процедуры и функции:

1) Функция LENGTH

C:=LENGTH(str); Переменной С будет присвоено целое значение, показывающее количествo символов в строковой переменной str.

2) Функция СОNCAТ - сцепление строк в порядке их перечисления.

str:=CONCAT(st1,st2,...,stN);str-переменная типа STRING, состоящая из строк st1,...,stN.

3) Функция POS

P:=POS (st1, st2); Р-целое число, показывающее номер позиции, с которой начина­ется строка st1 в строкe st2.

4) Функция COPY

S1:=COPY(str, I, J); Sl-символьная подстрока, выделенная из строки str с позиции I, длиной J символов.

5) Процедура DELETE(Str, I, J);

Из строки str удаляется J символов, начиная с I позиции.

6) Процедура INSERT(Str1, Str2, I);

Строка Str1 вставляется с I позиции в строку Str2.

7) Процедура STR (V, S1);

Числовое значение переменной V преобразуется в строку символов и записывается в строку S1.

8) Процедура VAL (S1, V, C);

Строковое выражение S1 преобразуется в величину целочисленного или вещественного типа и записывается в переменной V. Если при этом ошибок не обнаруживается, то С будет равно 0. В противном случае значение С будет равно номеру позиции первого ошибочного символа и V будет неопределено. Строка S1 не должна содержать незначащих пробелов, переменная V может быть целой или вещественной, а переменная С - только целой.

Интервальный (ограниченный) тип данных.

Отрезок (диапазон значений) любого порядкового типа может быть определен как интервальный (ограниченный) тип. Отрезок задается диапазоном от минимального до максимального значения констант, разделенных двумя точками. В качестве констант могут быть использованы константы, принадлежащие к целому, символьному, логическому или перечисляемому типам. Скалярный тип, на котором строится отрезок, называется базовым типом. Примеры отрезков:1..10, -15..25,'a'..'z'

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

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

Константы.

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

В качестве констант в языке программирования Pascal могут использоваться:

Целые числа. Они записываются со знаком или без знака и могут иметь значение от – 2 147 483 648 до + 2 147 483 647

Вещественные числа записываются со знаком или без знака с использованием десятичной точки или экспоненциальной части, которая начинается с символа “e”, за которым следует десятичный порядок. Например, запись 3.14e5 означает 3,14*105. А запись – 3.14e-4 означает – 3,14*10-4.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...