русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Работа в графическом режиме.

Обеспечивается функциями модуля <graphics.h> которые реализуют Borland Graphics Interface (BGI).

Для подключения библиотеки необходимо установить опцию с помощью меню

options → linker → liblaries → graphics library

void for initgraph (int far *graphdrive, int far *graphmode, char far *path); — инициализирует графический режим определенный двумя первыми параметрами

graphdrive — собственный режим (по умолчанию graphdrive = DETECT)

graphmode —

режим VGA с одной страницы видео памяти и разрешением 640х480 pixels.

Для постраничного режима необходимо задать следующие значения параметров

graphdrive = VGA //9;

graphmode = VGAMED //1;

path —строка задающая путь к файлу egavga.bgi (графический драйвер)

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

// рисуем дугу окружности в центре x, y, с радиусом r, началом и концом

void arc(int x, int y, int stangle, int endangle, int r)

// рисует окружность

void circle (int x, int y, int r)

// рисует закрашенный сектор круга

void pieclise (int x, int y, int stangle, int endangle, int r)

// рисует дугу элипса

void ellipse (int x, int y, int stangle, int endangle, int xradius, int yradius)

// рисует закрашенным элипсом

void fillellipse (int x, int y, int xradius, int yradius)

// рисует закрашенный сектор элипса

void sector (int x, int y, int stangle, int endangle, int xradius, int yradius)

// рисует прямоугольник по левому-верхнему и нижнему-правому углу

void rectangle (int x1, int y1, int x2, int y2)

//закрашенный прямоугольник

void bar (int x1, int y1, int x2, int y2)

// закрашенный параллелепипед (depth — глубина, topflag — определяет какая из из трехмерных вершин рисуется)

void bar3d (int x1, int y1, int x2, int y2, int depth, int topflag)

// контур многоугольника, n — кол-во вершин+1, points — координаты точек (одномерный массив последовательно x, y, чтобы многоугольник получился замкнутым необходимо передать координаты n+1 вершины, повторив в конце массива координаты первой вершины).

void drawpoly (int n, int * points)

// закрашенный многоугольник

void fillpoly (int n, int * points)

// закрашивает пиксель

void putpixel (int x, int y, int color)

// рисует линию

void line (int x1, int y1, int x2, int y2)

// линию от данной точки

void lineto (int x, int y)

// линию от данной точки до точки определенной смещением по x и y

void linerel (int dx, int de)

// перемещает курсор в точку

void moveto (int x, int y)

// смещает курсор

void moverel (int dx, int dy)

// возвращает текущую позицию курсора

int getx(), int gety()

// устанавливает цвет рисования (от 0 — черный до 16 — белый или цветовые константы)

void setcolor (int color)

// цвет фона

void setbkcolor (int color)

// стиль линии (2 параметр — шаблон в битовой матрицы, если первый параметр определяет стиль линии как пользовательский, 3 параметр — толщина)

void setlinestyle (int linestyle, unsigned upattern, int thickness)

// стиль и цвет заполнения закрашенных фигур (стли от 0 до 11, 12 — пользовательский, задать который можно с помощью битовой матрицы функцией)

void setfillstyle (int pattern, int color)

// битовая матрица ...

void setfillpattern (char * upattern, int color)

// выводит строку текста в текущую позицию

void outtext (const shat * str)

// выводит строку текста в заданной позиции

void outtextxy (int x, int y, char * str)

// устанавливает стиль символов (1 — шрифт (русские только в 0), 2 — направление вывода текста (0 — горизонталь, 1 — вертикаль), 3 — размер символов)

void settextstyle (int font, int direction, int charsize)

// полином определяет доступность экрана вне окна, clipon = 0 — область вне окна доступна, иначе нет

void setviewport (int x1, int y1, int x2, int y2, int clipon)

// очищает окно, заполняя его цветом фона, перемещает в верхний левый угол окна

void clearviewport ()

// очищает экран, заполняя его цветом фона, перемещает в верхний левый угол окна

void cleardevice ()

// закрывает графику

void closegraph ()

// устанавливает активную страницу видео памяти (страницы нумеруются с 0)

void setactivepage (int numpage)

// отображает страницу на экране

void setvisualpage (int numpage)

// коэффициент сжатия

void setaspectratio (int *xasp, int *yasp)

// сохраняет в памяти битовый образ прямоугольной части экрана

void getimage (int x1, int y1, int x2, int y2, void *bitmap)

// выводит битовый образ сохраненный ранее на экран, op — определяет способ вывода изображения

void putimage (int x, int ym void *bitmap, int op)


Задача «Ханойская башня»

#include <stdio.h>

Void honoy (int k, int I,int j);

{

If(k)

{

Hanoy(k-1,I,6-i-j);

Printf(“Диск %d-й со шпиля %d на шпиль %d”,k,I,j);

}

}

Void main()

{

Int n;

Printf(“\n Укажите количество дисков”);

Scanf(“%d”,&n);

Hanoy(n,1,2);

}

Сортировка вставками основана на вставке очередного элемента последовательности, при условии что предыдущая часть упорядочена.

Деревья — это конечное множество узлов, из которых один является корнем, а остальные содержатся в n попарно не пересекающихся подмножества, каждое из которых в свою очередь является деревом. M -арное дерево предполагает наличие у каждой вершины не более m деревьев

Бинарное дерево — это дерево, у каждой вершины которой может быть не более двух поддеревьев. Бинарным деревом может быть представлено арифметическое выражение

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

1. Инфиксный: левое поддерево — корень — правое поддерево

2. Префиксный: корень — левое поддерево — правое поддерево

3. Суффиксный: левое поддерево — правое поддерево — корень

Бинарное дерево в программе выстраивается динамически, причем каждая вершина дерева кроме данных содержит в себе ссылки на два своих поддерева, поэтому вершина в программе всегда представляет собой структуру. Дерево

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

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


[1] Специальной участок памяти, предназначенный для работы с функциями.

Просмотров: 569


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.