Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Лекция 9 – Энергетическая проблема

Repeat

END.

BEGIN

TYPE

BEGIN

VAR

BEGIN

VAR

GD, GM: INTEGER;

INITGRAPH (GD, GM, ’’);

 

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

 

GD,GM:INTEGER;

INITGRAPH (GD,GM,’C:TP7BINEGAVGA.BGI’);

 

После инициализации графического режима становятся доступны процедуры и функции модуля GRAPH. Укажем некоторые из них.

CLEARDEVICE - очищает экран.

CLOSEGRAPH - закрывает графический режим.

SETCOLOR(C:WORD) - устанавливает цвет, которым будет производиться рисование.

SETBKCOLOR(C:WORD) - устанавливает цвет фона.

MOVETO(X,Y:INTEGER) - смещает текущий указатель к точке с координатами X,Y. Текущий указатель является аналогом курсора в текстовом режиме, но в отличие от него не высвечивается на экране.

MOVEREL (DX,DY:INTEGER) - смещает текущий указатель к точке, заданной приращением координат.

LINE(X1,Y1,X2,Y2:INTEGER) - рисует линию от точки X1, Y1 до точки X2, Y2.

LINETO (X,Y:INTEGER) - рисует линию от текущего указателя до точки X,Y.

LINEREL(DX,DY:INTEGER) - рисует линию от текущего указателя до точки, заданной приращением координат.

SETLINESTYLE(LS,P,T:WORD) - устанавливает толщину и стиль линии.

LS=0 - сплошная линия;

LS=1 - точечная;

LS=2 - штрихпунктирная;

LS=3 - пунктирная;

LS=4 - тип линии определяется пользователем. В этом случае используется параметр P. В остальных случаях его можно взять = 0.

Т=1 - нормальная толщина;

Т=3 - тройная толщина.

Эту процедуру следует применять до процедур, рисующих лилии на экране.

RECTANGLE(X1,Y1,X2,Y2:INTEGER) - рисует прямоугольник с левым верхним углом в точке X1,Y1 и нижним правым углом в точке X2, Y2.

SETFILLSTYLE(P,C:WORD) - устанавливает образец штриховки замкнутых областей.

P=0 - штриховки нет

P=1 - сплошная штриховка

P=2¸11 - штриховка точками, отрезками и т.д.

С - номер цвета штриховки.

BAR(X1,Y1,X2,Y2:INTEGER) - рисует и заштриховывает прямоугольник на экране.

CIRCLE(X,Y:INTEGER,R:WORD) - рисует окружность радиуса R с центром в точке X,Y.

ARC(X,Y:INTEGER,FN,FK,R:WORD) - рисует дугу окружности радиуса R с центром в точке X,Y от начального угла FN до конечного угла FK. Углы задаются в градусах. Отсчет угла начинается с правой полуоси против часовой стрелки.

PIESLICE(X,Y:INTEGER,FN,FK,R:WORD) - рисует и штрихует сектор окружности.

FILLELLIPSE(X,Y:INTEGER,XR,YR:WORD) - рисует заштрихованный эллипс с центром в точке X,Y и двумя радиусами XR и YR.

ELLIPSE(X,Y:INTEGER,FN,FK,XR,YR:WORD) - рисует эллиптическую дугу от начального угла FN до конечного угла FK.

SECTOR(X,Y:INTEGER,FN,FK,XR,YR:WORD) - рисует и штрихует сектор эллипса.

DRAWPOLY(N:WORD,P) - рисует многоугольник из N вершин с координатами, указанными в массиве P. Ниже приведен пример использования процедуры DRAWPOLY, в котором рисуется многоугольник, имеющий три вершины, координаты которых предварительно заносятся в массив записей. Следует иметь в виду, что для получения замкнутого многоугольника необходимо, чтобы координаты первой и последней вершины совпадали. Поэтому в массив записываются координаты не трех, а четырех вершин.

 

USES GRAPH,CRT;

MS=RECORD X,Y:INTEGER END;

VAR GD,GM:INTEGER;

M:ARRAY[1…10] OF MS;

INITGRAPH(GD,GM,’’)

setcolor(4);

with m[1] do begin x:=200;y:=50; end;

with m[2] do begin x:=300;y:=50; end;

with m[3] do begin x:=250;y:=130; end;

with m[4] do begin x:=200;y:=50; end;

drawpoly(4,m);

READKEY;

 

FILLPOLY(N:WORD,M) - рисует и штрихует многоугольник из N вершин.

FLOODFILL(X,Y:INTEGER,C:WORD) - штрихует замкнутую область, содержащую внутреннюю точку X,Y и ограниченную линиями, нарисованными цветом С.

OUTTEXT(T:STRING) - выводит на экран относительно текущего указателя текстовую строку Т.

OUTTEXTXY(X,Y:INTEGER,T:STRING) - выводит на экран относительно точки X,Y текстовую строку Т.

SETTEXTSTYLE(P,D,S:WORD) - устанавливает текущий шрифт, стиль и размер текста.

P=0 - матричный шрифт;

P=1,2,… - другие шрифты;

D=0 - горизонтальное направление вывода текста;

D=1 - вертикальное направление;

S=1,2,3, … - размер шрифта.

 

SETTEXTJUSTIFY(H,V:WORD) - устанавливает выравнивание текста, используемое в процедурах OUTTEXT и OUTTEXTXY.

Н=0 - текст выводится вправо от указателя;

Н=1 - текст центрируется относительно указателя;

Н=2 - текст выводится влево от указателя;

V=0 - текст выводится вверх от указателя;

V=1 - текст центрируется по вертикали относительно указателя;

V=2 - текст выводится вниз от указателя.

По умолчанию Н=0, V=2.

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

PUTPIXEL(X,Y:INTEGER,C:WORD) - выводит точку цветом С с координатами X,Y.

SETWRITEMODE(M:INTEGER). - устанавливает режим рисования для линий, выводимых процедурами LINE, LINETO, LINEREL, RECTANGLE, DRAWPOLY.

Стандартный режим, когда m=0, позволяет рисовать линии, которые затирают собой старые значения яркости точек, по которым проходят эти линии. Однако, если установить SETWRITEMODE(1), то при рисовании будет реализовываться операция исключающее ИЛИ между новым значением яркости какой-то точки и старым значением ее яркости. Это позволяет реализовывать действия, связанные, например, со стиранием линий путем их повторного рисования в том же месте экрана.

 

Пример.

setwritemode(1);

k:=1;

line(k,50,k,400);

delay(500);

line(k,50,k,400);

k:=k+1;

until (keypressed) or (k>640);

 

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

Если установить обычный режим SETWRITEMODE(0), то бегущая линия будет полностью стирать ту часть нарисованных ранее фигур, по которым эта линия пробегает.

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

 

В обществе по-прежнему довлеет нерациональная модель производства и потребления энергии. В ряду технологий недалекого будущего предлагается использовать предназначенный для уничтожения оружейный уран в мирных целях в космосе для создания энергетической сети, поставляющей с орбиты на планету экологически чистую энергию - отраженный свет. Об использование экологически чистой энергии из космоса еще в 1991 году говорил Римский Клуб - знаменитое собрание политиков и интеллектуалов, занимающихся решением глобальных проблем человечества. Для создания гигантских отражателей, наобходимы миллионы тонн материалов, доставка которых с Земли невозможна по экологическим и экономическим причинам. Ядерный потенциал, доставляемый в космос ракетами, может обеспечить получение необходимого количества внеземных материалов,в частности -астероидного железа. Ядерные двигатели могут доставить на орбиту небольшой астероид из группы сближающихся с Землей, с помощью которых, как предполагают специалисты НПО "Энергомаш", ИЦ им М.В.Келдыша и др.можно будет создать космическую энергоиндустриальную сеть - орбитальные платформы с отражателями солнечного света. Доставка следующих астероидов и расширение этой сети обеспечат в частности освещение городов, интенсификацию роста лесов и пр. Конечно, оружейный уран можно сжечь в АЭС, но проблему радиоактивных отходов этим не решить. К тому же переработка оружейного урана экономически очень невыгодна. Запасенная в ядерных зарядах энергия способна произвести переворот в методах и сроках освоения космоса, - считают специалисты, работающие над проектом.

<== предыдущая лекция | следующая лекция ==>
Окончание смуты | Энергетическая проблема
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 334; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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