Организация работы в графическом режиме 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Организация работы в графическом режиме



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

 

Задания для самостоятельной подготовки:

1. Изучить:

- особенности организации работы в графическом режиме в изучаемом языке программирования;

- возможности стандартных функций для работы в графическом режиме;

- приемы построения графического изображения на экране.

2. Разработать алгоритм решения в соответствии с заданием.

3. Составить программу решения задачи.

 

Задание к работе:

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

Таблица 12

A=100, R=70 r=60, R=60   A=100, B=70
M=80, N=55 r=70, R=90 R=120
r=70, R=90 A=40 r1=60, r2=80

 

Продолжение таблицы 12

 

R=100 r=120 F=90

 

Пример выполнения работы

Составить и выполнить на ЭВМ программу, формирующую графическое изображение на экране

 

 

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

 

Программа решения задачи имеет вид:

#include <graphics.h>

void main(void)

{

int r = 20, StartX = 100, StartY = 50, gd = DETECT, gm;

//объявление и определение переменных

initgragh(&gd,&gm,"c:\\bc"); //инициализация графического режима

 

setfillstyle(SOLID_FILL, getmaxcolor()); //установка стиля наполнителя

fillellipse(StartX, StartY, r, (r/3)+2);

ellipse(StartX, StartY-4, 190, 357, r, r/3);

line(StartX+7, StartY-6, StartX+10, StartY-12);

circle(StartX+10, StartY-12, 2);

line(StartX-7, StartY-6, StartX-10, StartY-12);

circle(StartX-10, StartY-12, 2); //функции для получения изображения на экране

 

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

return; //завершение функции main

}

Контрольные вопросы

  1. Указать особенности организации работы в графическом режиме в изучаемом языке программирования.
  2. Перечислить группы функций для работы в графическом режиме.
  3. Пояснить, какие параметры указываются при вызове функции инициализации графического режима.
  4. Какие режимы работы можно задать при работе в графическом режиме? Каким образом устанавливается требуемый режим?

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

Создание графика

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

 

Задания для самостоятельной подготовки:

1. Изучить:

-метод построения графика функции на экране дисплея;

- возможности стандартных функций для работы в графическом режиме;

2. Разработать алгоритм решения в соответствии с заданием.

3. Составить программу решения задачи.

 

Задание к работе:

1. Вывести на экран дисплея график функции y=f(x), приведенный в таблице 13, в заданном диапазоне изменения аргумента x от a до b. Ширину поля графика и его расположение относительно края экрана задать самостоятельно. Вывод графика организовать на страницу с номером 0.

2. На страницу с номером 1 вывести любой текст горизонтально и вертикально. Сделать активной страницу с номером 1.

Таблица 13

Вариант задания Вид функции Диапазон изменения аргумента
a b
  |sin x|+|cos x|  
  |sin x|-|cos x|  
  2 sin x+3 cos x -
  sin x+cos(2x) -
  2-cos x  
  2sin(2x)+1 -
  sin x+cos x-1 -
  -3  
  10/(1+x2) -3  
  (x-3)/(x2+2) -1  
  x cos(2x) -1  
  x2e-|x| -1  
  |sin x2|-|cos x2|  
  2x2+3x-6 -5  
     

 

Пример выполнения работы

Вывести на экран дисплея график функции y=cos(x) в диапазоне изменения аргумента x от 0 до . Диапазон изменения аргумента x неодинаков для отрицательных и положительных значений (от 0 до ), поэтому ось x будет проходить по вертикали на расстоянии 5 пикселей от левого края экрана. Значения функции y одинаковы для отрицательных и положительных значений (от -1 до 1), поэтому ось y будет проходить посередине экрана по горизонтали (240 пикселей).

Программа решения задачи имеет вид:

 

#include<stdio.h>

#include<string.h>

#include<conio.h>

#include<stdlib.h>

#include<graphics.h>

#include<math.h>

#include<dos.h>

 

void main(){

 

int gd=0,gm,i;

double x,y,b; //объявление и определение переменных

initgraph(&gd,&gm,""); //инициализация графического режима

i=graphresult(); //код ошибки

if (i!= grOk) //если ошибка

{

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

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

getch();

exit(1); /* return with error code */

}

setactivepage(0);

setvisualpage(0); //установка активной и видимой страницы с номером 0

line(5,0,5,480);

line(5,240,640,240);

line(5,0,8,8);

line(5,0,2,8);

line(640,240,632,243);

line(640,240,632,237); //рисование линий координатной сетки

for(x=131;x<=384;x+=126)

line(x,237,x,243); //рисование линий на оси x

for(y=160;y<=320;y+=80)

line(3,y,8,y); //рисование линий на оси y

setlinestyle(0,0,2);

settextstyle(0,0,1);

moveto(630,245);

outtext("X");

moveto(8,0);

outtext("Y");

moveto(8,244);

outtext("0");

moveto(7,150);

outtext("1");

moveto(7,320);

outtext("-1");

moveto(127,228);

outtext("Pi/2");

moveto(127+124,228);

outtext("Pi");

moveto(127+2*124,228);

outtext("3Pi/2"); //вывод текстовых надписей

 

b=getmaxy()/2;

//вывод графика функции

for(x=5;x<=383;x+=0.1)

{

y=80*cos((x-5)/80); //расчет координаты по y

putpixel(ceil(x),b-ceil(y),14); //вывод точки

delay(1); //задержка выполнения программы

}

 

getch(); //ожидание нажатия клавиши

setactivepage(1); //установка активной страницы с номером 1

getch();

setvisualpage(1); //установка видимой страницы с номером 1

setbkcolor(0);

settextstyle(4,0,5);

setcolor(12);

settextstyle(2,1,4);

outtextxy(120,120," graphic");

settextstyle(2,0,4);

outtextxy(5,320," y=cos(x)"); //вывод текста

getch();

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

return; //завершение функции main

 

}

Контрольные вопросы

  1. Как выбрать масштабы вычерчиваемого графика по осям x и y?
  2. Как видоизменить программу, чтобы вычерчивалась сетка графика, подобно крупной сетке на миллиметровой бумаге?
  3. Как вывести на экран график двух функций от одного аргумента в одинаковых масштабах? В различных масштабах?

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



Поделиться:


Последнее изменение этой страницы: 2017-02-19; просмотров: 205; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.197.198 (0.025 с.)