Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лабораторная работа №19




End.

Begin

Программирование модулей.

Лабораторная работа №18

Цель: научиться составлять программы с использованием модулей в программе Turbo Pascal.

Теоретические сведения:

Модуль — это набор ресурсов (функций, процедур, констант, переменных, типов и т.д.), разрабатываемых и хранимых незави­симо от использующих их программ. Модуль может содержать достаточно большой набор про­цедур и функций, а также других ресурсов для разработки про­грамм. Существуют стандартные модули Турбо Пас­каля (system, crt, graph и т.д.).

Модуль имеет следующую структуру:

Unit <имя модуля>; {заголовок модуля}

Interface {интерфейсная часть}

Implementation {раздел реализации}

{раздел инициализации модуля}

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

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

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

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

Порядок выполнения работы:

1) Запустите программу Turbo Pascal.

2) Создать программу: Реализовать в виде модуля на­бор подпрограмм для выполнения следующих операций над обык­новенными дробями вида P/Q (Р — целое, Q — натуральное):

1) сложение; 2) вычитание; 3) умножение; 4) деление; 5) сокращение дроби;

5) возведение дроби в степень TV (7V — натуральное);

6) функции, реализующие операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).

Дробь представить следующим типом: Type Frac =Record

Р: Integer;

Q: 1..32767; End;

Используя этот модуль, решить задачу:

1. Дан массив А, элементы которого — обыкновенные дроби. Найти сумму всех элементов и их среднее арифметическое; ре­зультаты представить в виде несократимых дробей.

2. *Дан массив А, элементы которого — обыкновенные дроби. Отсортировать его в порядке возрастания.

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

 

3) Создать программу: Реализовать в виде модуля на­бор подпрограмм для выполнения следующих операций над векторами:

1) сложения;

2) вычитания;

3) скалярного умножения векторов;

4) умножения вектора на число;

5) нахождения длины вектора.

Вектор представить следующим типом:

Type Vektor =Record

X, Y: Real;

End;

Используя этот модуль, решить задачу:

Дан массив А — массив векторов. Отсортировать его в порядке убывания длин векторов.

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

 

4) Запишите полученные результаты в тетрадь. Оформите отчет о проделанной работе, который должен содержать тему, цель работы, формулировки задач с решениями.

 

5) Выйдите из программы Turbo Pascal.


Графика Турбо – Паскаля.

Цель: Рассмотреть основные операторы модуля GRAPH,

реализовать их в конкретных программах

Выполнение работы.

1. Набрать программу и описать действие операторов в виде комментариев.

Program Animacia;

Uses crt,graph;

const

osn:array[1..14] of integer =(485,355,605,355,605,375,385,375,385,365,485,365,485,355);

kab:array[1..14] of integer=(485,365,485,305,455,305,445,335,395,345,395,365,485,365);

ok1:array[1..10] of integer=(480,335,467,335,467,308,480,308,480,335);

ok2:array[1..10] of integer=(463,335,448,335,457,308,463,308,463,335);

var dr,md,kod,i:integer;

size:word;

p:pointer;

Procedure Fillcolor (a,b:byte);

begin

setcolor(a);

setfillstyle(1,b);

end;

begin

dr:=Detect;

initGraph(dr,md,'C:\bp.7\bgi');

kod:=graphresult;

if kod=0 then

begin

fillcolor(0,11);bar(0,0,639,399);

fillcolor(0,10);bar(0,400,639,479);

fillcolor(14,14);pieslice(590,50,0,359,40);

fillcolor(15,15);pieslice(50,50,0,359,30);

pieslice(160,50,0,359,50);

pieslice(150,50,0,359,40);

fillcolor(6,6);bar(495,325,625,355);

fillcolor(8,8);

fillpoly(7,kab);

fillcolor(9,9);

fillpoly(5,ok1);

fillpoly(5,ok2);

fillcolor(0,0);

circle(425,375,25);

circle(565,375,25);

floodfill(425,375,0);

floodfill(565,375,0);

fillcolor(7,7);

circle(425,375,10);

circle(565,375,10);

floodfill(425,375,7);

floodfill(565,375,7);end;

repeat until keypressed;

end.





Поделиться с друзьями:


Дата добавления: 2015-06-26; Просмотров: 656; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.