на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка программ в среде программирования Turbo Pascal 7.0
p align="left">FUNCTION,идентификатоp(имя) функции,заключенный в кpуглые скобки,необязатель-ный список фомальных паpаметpов и тип возвpащаемого функцией значения. FUNCTION <имя> {(фоpмальные паpаметpы)}:<тип pезультата>;

Имя функции-уникальный идентификатоp в пpеделах блока.Возвpащаемый pезультат может иметь любой скаляpный тип,тип string и тип “указатель”. Тело функции пpедставляет собой локальный блок,по стpуктуpе аналогичный пpогpамме:

function<имя>{(фоpмальные паpаметpы)}:<тип pезультата>;

<pазделы описаний>

begin

<pаздел опеpатоpов>

end;

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

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

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

Описание переменных процедурного типа:

type имя_типа1=procedure( формальные_параметры);

имя_типа2=function(формальные параметры): тип;

var имя1:имя_типа1;

имя2:имя_типа2;

Все процедуры и функции , имена которых присваиваются процедурным переменным, необходимо транслировать в режиме { $F+}. Вложенные функции и процедуры, т.е. , описанные внутри других процедур , с процедурными переменными использовать нельзя.Это не должны быть также стандартные роцедуры и функции.

ОПЕРАТОРЫ ВВОДА - ВЫВОДА

Для ввода данных в языке ПАСКАЛЬ предусмотрены стандартные процедуры READ и

READLN. Разлличают три вида операторов ввода:

а) READ(a1,a2,...,aN)-каждое вводимое значение поллучают послледовательно переменные a1,a2,...,aN

б) READLN(A1,A2,...,An)-переменным A1,A2,...,An присвиваются последовательно вводимые значения, после чего следующий оператор ввода вводит данные с новой строки.

в) READLN-переход на новую строку при вводе.

В языке ПАСКАЛЬ допускается вводить целые,действительные и символьные данные. Логические данные вводить не разрешается.

ВВОД ЧИСЛОВЫХ ДАННЫХ

Числовые данные, целые и действительные, должны разделятся пробелом или клавишей ENTER. Пробелы и ENTER перед числом игнорируются.

При выполнении программы происходит останов программы привстрече

READ(A,B,C), на клавиатуре необходимо набрать три действительных числа, после чего с новой строки два целых числа соответственно оператору

READ(K,T),например:

0.5 6.23 -7.1 [enter]

3 48 [enter]

ВВОД СИМВОЛЬНЫХ ДАННЫХ

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

Пример ввода:

var a,b,c:char;

...........

read(a,b,c);

Если при вводе ввести данные -- SNR [enter] -- получим:A='S',B='N',C='R'

При вводе данныхв виде: -- S N R [enter] -- получим:A='S',B=' ',C='N'

ОПЕРАТОР ВВОДА ДЛЯ ЧТЕНИЯ ФАЙЛА

Оператор ввода для чтения файла обладает всеми свойствамии обычного оператора READ. Вкачестве параметров могут быть переменные; каждая переменная поучает значение одного эемента считанного из внешнего файа.

Процедура READ(F1,X) применяется для считывания (по одному) данных из внешнего файла в переменную X.

ОПЕРАТОР ВЫВОДА.

Опеатор вывода данных из памяти ЭВМ на экран дисплея имеет три формы:

1) WRITE(b1,b2,...bn)-выводит последовательно значения b1,b2,...,bn;

2) WRITELN(b1,b2,...,bn)-выводит последовательно значения b1,b2,...,bn и осуществляет переход на новую строку;

3) WRITELN-осуществляет переход на новую строку при выводе данных.

В качестве параметров b1,b2,...,bn могут быть целые,действительные,символьные и логические переменные, а так же символьные константы. Допускается вывод данных с форматами и без них. Форма представления выводимых данных зависит от типа данных: значения целых переменных выводятся как целые числа ,значения действительных переменных-в виде мантиссы и десятичного порядка, значения символьных переменных- в виде отдельных символов,значения логических переменных- в виде TRUE или FALSE.

Для выводимых значений переменных отводятся следующие поля: 13-для целого числа,13-для действительного, 1-для символа,6-для логических данных.Если целое число занимает позиций меньше, чем 13, то соответствующее поле перед числом заполняется пробелами.Если отсутствует формат для действительного числа, оно выводится в форме с плавающей точкой. Например число Z=10.9 при выводе в виде WRITE (`Z=`,Z) на экране будет представлено

Z= 1.090000E+01

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

a:m:n

где а-переменная, m-общее поле выводимого числа(включая знак числа, целую часть числа, точку и дробную часть); n-поле дробной части.

В качестве m и n могут быть как целые переменные,выражения,так и целые

константы. Например:

WRITE (SK:M:N,FGH:7:2);

Если формат указан больше,чем необходимо позиций для изображения числа, то перед целой частью числа представлены избыточные пробелы,а после дробной части-нули.

Для других типов данных формат имеет вид: a:m

Например:

WRITE(K:5,C:4);

Для вывода нескольких пробелов символ пробела указывается с форматом ,

Например: ` `:7

Для пpопуска пустых позиций пеpед выводимыми данными или между ними можно использовать фоpмат для символа пpобела,напpимеp

WRITE(` `:5,A:3,` `:7,B:4)

МОДУЛИ

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

Модуль состоит из следующих частей:

а) заголовок модуля

б) интерфейс модуля

в) исполнительная часть модуля

г) секция инициализации

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

Заголовок модуля

Заголовок модуля состоит из зарезервированного слова unit и идентификатора.

Unit имя_модуля;

Модуль должен быть помещен в файл, имя которого совпадает с именем модуля, а его расширение должно быть .pas .

Интерфейс модуля.

Через интерфейс осуществляется взаимодействие основной программы с модулем ( модуля с модулем) . В интерфейсе указываются константы, типы, переменные, процедуры и функции , которые могут быть использованы основной программой ( модулем) при вызове этого модуля. Интерфейс начинается словом interface. Далее после слова uses указываются имена модулей, которые используются данным модулем ( необязательная часть).После этого могут быть : раздел объявления констант, раздел объявления типов, раздел объявления переменных, раздел объявления процедур и функций. Объявление процедуры может содержать директиву inline. В разделе объявления процедур и функций указываются лишь заголовки программ ( за исключением тех, которые используют директиву inline) . Сами подпрограммы приводятся в исполнительной части. В интерфейсах различных модулей недопустимо циклическое обращение друг к другу.

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

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

Исполнительная часть начинается словом implementation . Затем после слова uses указываются имена модулей, которые используются подпрограммами данной исполнительной части ( этот раздел необязателен). Если какой-то модуль уже указан в интерфейсе модуля, то в исполнительной части его повторять не следует. Далее может следовать раздел локальных описаний . При описании подпрограмм допустимо использовать сокращенные заголовки.

Секция инициализации.

В некоторых случаях перед обращением к модулю следует провести его инициализацию ( установить связь с теми или иными файлами, инициализировать какой-то переменные). Эта секция начинается со слова begin , после которого идут выполняемые операторы, а затем слово end. ( c точкой).

Использование модуля в основной программе.

Чтобы использовать подпрограммы, константы, типы и переменные , описанные в интерфейсе модуля, в основной программе следует записать слово uses, после которого указать имена модулей . После этого в основной программе можно использовать идентификаторы, указанные в интерфейсах перечисленных модулей.Таким образом можно создавать собственные модули, расширяя библиотеку стандартных программ и функций.

Модуль Crt

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

В отличие от стандартного ввода-вывода,когда он осуществляется через операционную систему, подпрограммы модуля Crt работают с BIOS , и даже непосредственно с видеопамятью.

При работе с экраном через модуль Crt весь экран разбивается на отдельные строки , а каждая строка - на отдельные позиции, в каждую из которых можно поместить один символ, (в том числе и пробел ). Т.о. весь экран разбивается на отдельные неделимые прямоугольные элементы. Для каждого элемента можно задать цвет фона и цвет символа. Кроме того , символ можно сделать мерцающим.

Модуль Crt позволяет работать не только со

всем экраном, но и выделять в нем прямоугольные окна . Любое окно задается своим левым верхним углом и правым нижним углом. Эти углы, как и любое положение на экране, задаются двумя координатами X и Y.

Приведенные ниже процедуры и функции расширяют возможности использования текстового режима экрана, находятся в стандартном модуле CRT.TPU и будут доступны в программе после объявления USES CRT.

1)Функция без параметров KeyPressed возвращает true, если на клавиатуре была нажата любая символьная клавиша, и false в противном случае. Не задерживает выполнение программы.

2)Функция без параметров ReadKey возвращает символ нажатой клавиши без эхо повтора на экране. Приостанавливает выполнений программы до нажатия на любую клавишу.

3) Функции без параметров WhereX, WhereY возвращают горизонтальную или вертикальную координату текущей позиции курсора относительно текущего окна.

4) Процедура без параметров CIrEol удаляет все символы оттекущей позиции курсора до конца строки без перемещения курсора.

5) Процедура без параметров DelLine удаляет строку, на которой

находится курсор, и перемещает все строки ниже этой строки на

строку вверх. Нижняя строка очищается.6) Процедура без параметров ClrScr очищает экран и помещает курсор в верхний левый угол.

7) Процедура Delay приостанавливает работу программы на

указанное число миллисекунд (t). DELAY(t);

8) Процедура GotoX,Y перемещает курсор в точку с заданными

координатами X,Y текстового экрана или окна, если оно задано.

GOTOXY(X,Y);

Коды цветов

Black

0

Черный

Blue

1

Синий

Green

2

Зеленый

Cyan

3

Голубой

Red

4

Красный

Magenta

5

Фиолетовый

Brown

6

Коричневый

LightGray

7

Светло-серый

DarkGray

8

Темно-серый

LightBlue

9

Светло-синий

LightGreen

10

Светло-зеленый

LightCyan

11

Светло-голубой

LightRed

12

Розовый

LightMagenta

13

Светло-фиолетовый

Yellow

14

Желтый

White

15

Белый

Blink

128

Мерцание символов

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.