Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.05.2013, 15:42   #1
Trump
 
Регистрация: 11.05.2013
Сообщений: 4
По умолчанию График функции в turbo pascal

Помогите построить график выходной зависимости I=Is[exp(q*Va/(n*k*T))–1]. Построение графика оформить как процедуру в модуле. На графике подписать оси, размерность, промежуточные значения.
Саму зависимость я рассчитал, нужно по ней построить график. В графическом режиме не разбираюсь и не могу понять, как вообще строить график при том, что система координат в паскале идет из левого верхнего угла в правый нижний, а не как декартовая - из левого нижнего в правы верхний. Распишите хотя бы поподробнее построение графика для данного случая. Ниже есть код модуля и программы.
Заранее спасибо.

код модуля:
Код:
unit volwrgr;
interface
uses crt,graph;
var
  Va:real;
  a:array[1..11] of real;
  b:array[1..11] of real;
  function vol(var Va:real):real;
  procedure wr;
  procedure gr;
implementation
  function vol(var Va:real):real;
  const
  Is=1e-13;             {постоянная}
  q=1.6e-19;           {заряд электрона}
  n=1.066;              {постоянная}
  k=1.38e-23;          {постоянная Больцмана}
  T=300;                 {абсолютная температура}
  begin
    vol:=Is*(exp(q*Va/(n*k*T))-1);
  end;
  procedure wr;
  var
    j:integer;
  begin
  clrscr;
    writeln('Napryazhenie Va,V   |    Sila toka I,A');
    for j:=1 to 11 do
      writeln(a[j]:3:2,'                |   ',b[j]);
  readkey;
  end;
{__________________________________________________________}
  procedure gr;
   var
   i,                     {переменная цикла}
   x,y,                  {оси координат}
   grdriver,
   grmode:integer;
begin
   {инициализация графического режима}
   grdriver:=vga;
   grmode:=vgahi;
   initgraph(grdriver, grmode, 'd:\bp\bgi');
   {построение координатной сетки}
   setlinestyle (userbitln, $8080,normwidth);
   for i:=0 to 11 do line (50,25+15*i, 600,25+15*i);
   setlinestyle (userbitln, $8888, normwidth);
   for i:=0 to 11 do line (50+55*i,25,50+55*i,175);
   {ввод надписей на оси координат}
   outtextxy(40,200,'0.15   0.18   0.21   0.24   0.27   0.30');
   outtextxy(370,200,'0.33  0.36   0.39   0.42   0.45 Va, V');
   outtextxy(40,10,'I*10e16, A');
   for i:=1 to 11 do
   outtextxy(30,23,'50');
   outtextxy(30,53,'40');
   outtextxy(30,83,'30');
   outtextxy(30,113,'20');
   outtextxy(30,143,'10');
   {построение графика}
   
      end;
   outtextxy(0,210,'dlya vyhoda nazhmite "enter"');
   readln;
   closegraph;
end;
end.
код программы:
Код:
program z;
uses volwrgr;
var
  g:integer;
  Va,Va2,s:real;
BEGIN
Va:=0.15;              {начальное значение напряжения}
s:=0.03;                {шаг напряжения}
Va2:=0.45;             {конечное значение напряжения}
g:=0;                    {переменная цикла}
repeat
    g:=g+1;                {счетчик цикла}
    a[g]:=Va;              {заполнение массива с напряжением}
    b[g]:=vol(Va);        {заполнения массива с силой тока}  
    Va:=Va+s;             {увеличения значения напряжения}
until Va>=Va2+s;
wr;                             {вывод зависимости на экран}
gr;                              {построение графика зависимости}
END.
Trump вне форума
Старый 12.05.2013, 21:44   #2
Trump
 
Регистрация: 11.05.2013
Сообщений: 4
По умолчанию

все, не нужно помощи - сообразил)
Trump вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построить график функции (Pascal) Lisov Помощь студентам 5 24.12.2011 16:08
График функции. Pascal. vibe Помощь студентам 4 17.07.2011 01:18
График функции на языке TURBO ASSEMBLER - (tasm) максат Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 02.06.2011 14:37