Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


int far getmaxx(void); - определение максимального значения координаты х




Int far getmaxy(void); - определение максимального значения координаты у.

void far setviewport(int left, int top, int right, int botton, int clip); - установка нового графического окна.

void far getviewsettings(struct viewporttype far *viewport); - получение параметров текущего окна.

Void far moveto(int x, int y); void far moverel(int dx, int dy); - перемещение текущей графической позиции в координаты x, yили на величину dx, dy.

void far setlinestyle(int linestyle, unsigned upattern, int thickness); - установка типа линии.

i nt far getx(void); -получить текущую графическую позицию (х).

Int far gety(void); - получить текущую графическую позицию (у).

void far clearviewport(void); - очистка текущего графического окна.

void far cleardevice(void); - очистить активную видеостраницу.

int far getmaxcolor(void); -определить максимальное количество цветов.

void far setpalette(int colornum, int color); - установка палитры.

void far setbkcolor(int color); -установка цвета фона.

Доступ к пикселям

unsigned far getpixel(int x, int y); - получить текущие параметры пикселя.

void far putpixel(int x, int y, int color); - вывести пиксель с параметрами.

Графические примитивы

void far bar(int left, int top, int right, int botton);

void far bar3d(int left, int top, int right, int botton, int depth, int topflag);

void far fillpoly(int numpoints, int far *polypoints);

void far fillelipse(int x, int y, int xradius, int yradius);

void far pielipse(int x, int y, stangle, int endangle, int radius);

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

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

void far linerel(int dx, int dy);

void far lineto(int x, int y);

void far rectangle(int left, int top, int right, int botton);

void far drawpoly(int numpoints, far *polypoints);

void far circle(int x, int y, int radiuces);

void far arc(int x, int y, int stangle, int endangle, int radius);

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

Пример

/* Разработал Гармаш В.Н.

Объявить массивы для вывода текста в графическом режиме,

выполнить их инициализацию. Инициализировать графический режим работы.

Выполнить расчеты и построить заданную геометрическую фигуру.

Вывести тексты на экран с применением необходимых функций. */

#include <graphics.h>

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <math.h>

#include <DOS.H>

#define ANGLES 15

#define PIXEL_COUNT 1000

#define DELAY_TIME 100 /* in milliseconds */

char *str[]={"А","л","ь","ф","а"," ","Ц","е","н","т","а","в","р","а","."};

char st[]="_";

void demo(int x,int y,int size,int color);

void demo1(void);

void main()

{// Инициализация графического режима работы

int graphdriver=DETECT,graphmode,errorcode;

initgraph(&graphdriver,&graphmode,"");

errorcode = graphresult();

if (errorcode!= grOk)

{ printf("Graphics error: %s\n", grapherrormsg(errorcode));

printf("Press any key to halt:");

getch();

exit(1);

}

//Рисование рамки по контуру экрана

setcolor(9); //Установка цвета

setlinestyle(0,0,3); //Установка типа линии

line(0,0,getmaxx(),0); // Рисование линии

line(0,0,0,getmaxy());

line(getmaxx(),0,getmaxx(),getmaxy());

line(0,getmaxy(),getmaxx(),getmaxy());

setcolor(10); // Вывод текста "ЗАДАНИЕ 19"

settextstyle(GOTHIC_FONT,HORIZ_DIR,4);

outtextxy(260,10,"ЗАДАНИЕ 19");

demo(320,250,125,11); // Функция вывода рисунка

demo1(); // Функция вывода текста "Альфа Центавра"

getch();

closegraph(); // Окончание графического режима работы

clrscr();

}

 

void demo(int x,int y,int size,int color)

{ setcolor(color);

setlinestyle(0,0,1);

int xx[ANGLES],yy[ANGLES],i,j;

for (i=0;i<=ANGLES-1;i++)

{ xx[i]=x+(int)(cos(i*2*M_PI/ANGLES)*size);

yy[i]=y-(int)(sin(i*2*M_PI/ANGLES)*size);

}

for (i=0;i<=ANGLES-1;i++)

{ for (j=0;j<=ANGLES-1;j++)

if (i!=j)

{ line(xx[i],yy[i],xx[j],yy[j]);

}

}

}

 

void demo1(void)

{ int f1 = installuserfont("rtri.CHR"); //Установка шрифта

unsigned int sz;

void far *ptr;

sz=imagesize(10,10,50,50);

ptr=malloc(sz);

getimage(10,10,50,50,ptr);

int size = 2,tt,ff,i;

while(!kbhit())

{ tt=0;

settextstyle(DEFAULT_FONT, HORIZ_DIR, size);

for(i=0; i<3; i++)

{ setcolor(3); outtextxy(260,60,st); delay(90);

setcolor(0); outtextxy(260,60,st); delay(90);

}

setcolor(3); ff=260;

for(i=0; i<15; i++)

{ setcolor(3);

settextstyle(f1, HORIZ_DIR, 4);

outtextxy(260+tt, 50, str[i]);

tt+=textwidth(str[i]);

sound(30); delay(20); nosound();

settextstyle(DEFAULT_FONT, HORIZ_DIR, 2);

outtextxy(260+tt+4, 60, st); delay(40);

setcolor(0);

outtextxy(260+tt+4, 60, st); delay(10);

}

settextstyle(DEFAULT_FONT, HORIZ_DIR, 2);

for(i=1;i<4;i++)

{ setcolor(3); outtextxy(260+tt+4, 60, st); delay(90);

setcolor(0); outtextxy(260+tt+4, 60, st); delay(90);

}

setcolor(3);

ff=tt+260; tt=0;

for(i=14;i>=0;i--)

{ settextstyle(f1, HORIZ_DIR, 4);

tt+=textwidth(str[i]);

sound(30); delay(20); nosound();

putimage(ff-tt, 50, ptr, COPY_PUT);

settextstyle(DEFAULT_FONT, HORIZ_DIR, 2);

setcolor(3); outtextxy(ff-tt-4, 60, st); delay(40);

setcolor(0); outtextxy(ff-tt-4, 60, st); delay(10);

}

}

}

Ход работы

1 Изучить теоретические сведения.

2 В соответствии с индивидуальным заданием разработать алгоритм решения задачи и оформление интерфейса программы.

3 Подготовить и разметить на экране эскиз чертежа детали в масштабе 1:1.

4 Составить программу с использованием графических функций языка С для вывода на экран подготовленной графической информации. Размеры, указанные на чертеже, ввести с клавиатуры.

5 Набрать программу на компьютере и устранить ошибки.

6 Получить результат.

7 Оформить отчет.

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

 

Индивидуальное задание к лабораторной работе №19.

Варианты индивидуальных заданий находятся в таблице 19.1.

Таблица 19.1 - индивидуальные задания

Вариант Номер рисунка Вариант Номер рисунка
  а   г
  б   д
  в   е
  г   ж
  д   з
  е   и
  ж   к
  з   л
  и   м
  к   а
  л   б
  м   в
  а   г
  б   д
  в   е

 

Рисунок 19.1 - индивидуальные задания

Контрольные вопросы для подготовки и самостоятельной работы

1 Какая функция применяется для установки видеорежима, инициализации графического режима работы?

2 Что означают параметры функций в приведенном примере?

3 Как закрыть графический режим работы?

4 Можно ли получить и установить координаты курсора на экране? В чём измеряются эти координаты?

5 Какие функции позволяют устанавливать цвета для выводимой информации, цвет фона, осуществлять различные виды заливки изображения?

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

 

Рекомендована література

1. Абрамов и др. Задачи по программированию. М.: Наука, 1988 - 224 с.

2. Подбельский В.В., Фомин С.С.. Программирование на языке Си: Учеб. Пособие. – 2-е изд. доп.- М.: Финансы и статистика, 2003.- 600с.

3. Ален И., Голуб. Си и Си++. Правила программирования. /Под ред.В. Костенко - М.:БИНОМ - 272с.

4. Ашарина И.В. Основы программирования на языках Си и С++: Учебный курс.- М.: Горячая линия – Телеком, 2002. – 207с.

5. Берри Р., Микин Б. Языки Си. Введение для программистов. - 1988 - 198 с.

6. Бочков С.О., Субботин Д.М. Язык программирования Си для персонального компьютера. /Под ред. А.И.Садчикова - Диалог. Радио и связь, 1990 - 384 с.

7. Касаткин А.И., Вольвачёв А.М. Профессиональное программирование на языке Си. От Turbo C к Borland C++. - Минск. Высш. школа, 1992.

8. Кетков Ю. Практикапрограммирвоания:Бейсик, Си, Паскаль: Самоучитель/Ю.Кетков, А.Кетков- СПб.: БХВ – Петербург,2002 – 480с.

9. Керниган Б., Ритчи Д. Язык программирования Си. - 2- е изд. - М.: Финансы и статистика, 1992 - 272 с.

10. Котлинская Г.П., Галиновский О.И. Программирование на языке Си. - Минск: Высшая школа, 1991.

11. Павловская Т.А. С/С++. Программирование на языке высокого уровня: Учебник. – СПб.: Питер, 2001 – 464с.

12. Павловская Т.А. С/С++. Программирование на языке высокого уровня: Учебник для вузов. – СПб.: Питер, 2003 – 461с.

13. Павловская Т.А. С/С++. Программирование на языке высокого уровня: Учебник. – СПб.: Питер, 2007 – 461с.

14. Павловская Т.А. С/С++. Программирование на языке высокого уровня: Учебник. – СПб.: Питер, 2004 – 461с.

15. Павловская Т.А. С/С++. Программирование на языке высокого уровня /СПб.: Питер, 2002 – 464 с.

16. Паппас К. Программирование на С и С++/К.Паппас, УМюррей – К:ВНУ, 2000 – 320с.

17. Петцольд Ч. Программирование в тональности С. – М.:Рус.редакция,2004 – 512с.

18. Проценко В.С., Чаленко И.П., Ставровський А.Б. Техніка програмування мовою Сі. - К: Либедь, 1993 - 224 с.

19. Романовская Л.М., Русс Т.В., Святковский С.Г. Программирование в среде Си. Для ПЭВМ ЕС. М.: Ф и С, 1992 - 352 с.

20. Хенкок Л, Кригер М. Введение в программирование на языке Си. Финансы и статистика, 1988

21. Шилдт Г. Полный справочник по С/ Под ред.Я.К.Шмидского – 4- е изд. – М.: Изд.дом Вильямс, 2005 – 704с.

22. Шмидский Я.К. Программирование на языке С/С++. Самоучитель. – М: Вильямс, 2003 – 352с.

23. Шпак З.Я. Програмування мовою С: Навчальний посібник. – Львів: Оріяна – Нова, 2006 – 432с.

 





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


Дата добавления: 2016-11-02; Мы поможем в написании ваших работ!; просмотров: 673 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Человек, которым вам суждено стать – это только тот человек, которым вы сами решите стать. © Ральф Уолдо Эмерсон
==> читать все изречения...

2258 - | 2106 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.