Информатика на пять О нас
 Добавить в избранное
5byte.ru
 Теория
 8 класс
 9 класс
 10 класс
 11 класс
Задания
 8 класс
 9 класс
 10 класс
 11 класс
Книги
Тесты
ЕГЭ
Turbo Pascal 7
 Описание
 Задачи
HTML
Рефераты

16.4.80. Пример использования подпрограмм модуля Graph

В качестве примера использования ресурсов модуля Graph рассмотрим программу, которая изображает график функции exp(-Ax)*sin(x) при изменении коэффициента А.

Пример.

program Example29;  
uses Graph;  
const ExpBeg =0.1; {Начальное значение коэффициента показателя экспоненты}
     DeltaExp =0.1; {Приращение коэффициента показателя экспоненты}
var X0, Y0: Word; {Начало координат}
    X, Y: Real; {Текущие координаты}
    i, j.: Word;  
    GraphDriver: Integer; {Код драйвера графического утройства}
    GraphMode: Integer; {Код графического режима}
    Switch: Boolean; {Переключатель окон}
begin  
  GraphDriver := Detect; {Автоматическое определение драйвера граф. устройства}
  InitGraphCGraphDriver, GraphMode, ''); {Инициализация графического режима. Драйвер - в текущем каталоге}
  if GraphResultogrOk then  
    begin  
      WriteLn('Ошибка при включении графического режима');  
      Halt  
    end;  
  Х0 := 20; {Координата в пикселях}
  Y0 := GetMaxY div 2; {Координата в пикселях}
  Switch := True; {Исходное состояние переключателя окон}
  for j := 0 to 10 do {Цикл формирования изображений}
    begin  
      SetActivePage(Ord(Switch)); {Активная страница видеопамяти}
    SetBkColor(Blue); {Цвет фона}
    SetColor(White); {Цвет фигур и текста}
    ClearDevice; {Очистка активной страницы}
  Line(X0, 20, X0, GetMaxY - 20); {Горизонтальная ось}
  Line(X0, Y0, GetMaxX - 20, Y0); {Вертикальная ось}
    MoveTo(X0, Y0); {Начало координат};
    for i := 1 to GetMaxX - 40 do {Формирование графика}
    begin  
      X := i * 4 * Pi / (GetMaxX - 40);  
      Y := Exp(-X * (ExpBeg + DeltaExp * j)) * Sin(X);  
      LineTo(X0 + i,Y0 - Round(Y * 150))  
    end;
    SetVisualPage(Ord(Switch)); {Видимая страница видеопамяти}
    Switch := not Switch  
   end;  
  CloseGraph; {Завершение работы в графическом режиме}
  ReadLn  
end.  

С помощью этой программы на экран выводятся последовательно одиннадцать графиков требуемой функции с изменяющимся коэффициентом А показателя экспоненты. При этом изображение сначала подготавливается на невидимой странице видеопамяти, а затем уже выводится на экран, после чего очередное изображение подготавливается на другой странице. В этой программе используется ряд стандартных процедур и функций модуля Graph (ClearDevice, CloseGraph, GetMaxX, GetMaxY, GraphResult, InitGraph, Line, LineTo, MoveTo, SetActivePage, SetBkColor, SetColor, SetVisualPage) и констант модуля (Blue, Detect, grOk, White). Предусмотрено автоматическое определение драйвера графического устройства и графического режима.





 У Вас есть материал пишите нам
 
    Copyright © 2008    
Rambler's Top100