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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2015, 07:08   #1
Zevul
 
Регистрация: 21.10.2015
Сообщений: 6
По умолчанию помощь в преобразовании кода

помогите избавится от раздела констант пожалуйста,сам пытался но совсем запутался в процессе...
Код:
uses graphABC;
const n=8;
type mas=array[1..n] of real;
const a=0.0288;
      b=0.032;
      t=15.7;
      v:mas=(0.05,0.1,0.15,0.2,0.4,0.6,0.8,1);
function f(vi:real ):real;
begin
f:=0.0635*t/(vi-b)-a/sqr(vi);
end;
var p:mas;
    x0,y0,m,i:integer;
    mx,my,max:real;
    s:string;
begin
//заполнение таблицы значений
max:=0;
for i:=1 to n do
 begin
  p[i]:=f(v[i]);
  if p[i]>max then max:=p[i];
 end;
setwindowsize(800,400);
centerwindow;
x0:=windowwidth div 4;//начало координат
y0:=windowheight-50;
m:=20;
mx:=(windowwidth-x0-20)/m; //масштабы по осям
my:=(y0-60)/max;
//координатная сетка
line(x0,y0,windowwidth,y0);
textout(windowwidth-20,y0-20,'X');
line(x0,y0,x0,20);
textout(x0+10,20,'Y');
for i:=0 to m do
 begin
  line(x0+round(mx*i),y0+3,x0+round(mx*i),y0-3);
  str(i*0.05:0:2,s);
  textout(x0+round(mx*i),y0+10,s);
  line(x0+3,y0-round(my*i*10),x0-3,y0-round(my*i*10));
  textout(x0-20,y0-round(my*i*10)-5,inttostr(i*10));
 end;
//график
setpencolor(clBlue);
setpenwidth(2);
circle(x0+round(v[1]*mx*20),y0-round(p[1]*my),2);
moveto(x0+round(v[1]*mx*20),y0-round(p[1]*my));
for i:=1 to n do
 begin
  setpencolor(clRed);
  lineto(x0+round(v[i]*mx*20),y0-round(p[i]*my));
  setpencolor(clBlue);
  circle(x0+round(v[i]*mx*20),y0-round(p[i]*my),2);
 end;

end.
Zevul вне форума Ответить с цитированием
Старый 04.12.2015, 09:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А чем константы то не угодили?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.12.2015, 10:43   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

У вас a,b,t встречают только по одному разу и в одной формуле - взять и заменить... В чем проблема?

Вот с массивов сложнее.

Цитата:
А чем константы то не угодили?
Телепатируя: может ТС надо их вводить?..
p51x вне форума Ответить с цитированием
Старый 07.12.2015, 07:19   #4
Zevul
 
Регистрация: 21.10.2015
Сообщений: 6
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
У вас a,b,t встречают только по одному разу и в одной формуле - взять и заменить... В чем проблема?

Вот с массивов сложнее.


Телепатируя: может ТС надо их вводить?..
Да надо вводить,с константами не принимают работу...
Zevul вне форума Ответить с цитированием
Старый 07.12.2015, 09:49   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А этот код ты видимо писал не сам? Или писал с методички..
Ладно. Вот тебе без констант:
Код:
uses graphABC;
const n=8;
type mas=array[1..n] of real;
     
function f(vi:real ):real;
begin
f:=0.0635*t/(vi-b)-a/sqr(vi);
end;

var v,p:mas;
    x0,y0,m,i:integer;
    a,b,t,mx,my,max:real;
    s:string;
begin
      a=0.0288;
      b=0.032;
      t=15.7;
 for i:=1 to n do readln(v[i]);
..
Дальше твой код
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь с изменением кода fheeda Общие вопросы .NET 0 19.05.2015 16:02
Правильная формула в Дискретном преобразовании Фурье (ДПФ) chertovich Мультимедиа в Delphi 3 16.09.2012 10:03
При преобразовании строки в число оно обнуляется. alex4321 PHP 9 23.08.2012 20:08
Ошибка в преобразовании типов (программа по стеганографии) DashaShirshova C# (си шарп) 1 03.06.2012 18:57
Округление до .00 при неявном преобразовании alt5000 PHP 4 08.12.2011 16:04