|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.12.2012, 15:33 | #11 |
Пользователь
Регистрация: 06.12.2012
Сообщений: 16
|
Спасибо всем кто помог , я немного тупанул с циклом.ТЕПЕРЬ ВСЁ РАБОТАЕТ!!Задание было следующим : вычислить сложную функцию , результаты расчётов вывести в таблицу и записать в файл,найти мин и мах значения y среди чётных и не чётных j.А теперь самое главное-построить график.Код по графику я написал по образцу , поэтому не могли бы вы мне объяснить следующее:
1)Почему когда производится округление trunc выражения в скобках умножаются на mas или mas2 т.е. для чего они нyжны и вчём их смысл? 2)И может кто-нибудь знает как увеличить масштаб график в 2 раза? Заранее благодарен! Код HTML:
program funccia;
Uses crt, graph;
const
b=1.6;
mas=50;
mas2=5.3;
var F:text;
w:string;
x,y: array[1..20] of real;
gd, gm, k, j:integer;
factorial : longint;
m,s,i,n :byte;
ymaxc,ymaxn, yminc, c,yminn, a,z : real;
begin
clrscr;
writeln('vvedite i,m (¤® 12) ');
readln(i,m);
begin
factorial:= 1;
for n:=2 to i do
factorial:= factorial*n;
a:=b/factorial ;
end;
begin
z:=1;
for s:=1 to m do
z:=z*a ;
writeln('z=',z);
end;
For j:=1 to i do
begin
x[j]:=0;c:=a/100;
for i:=1 to j do
x[j]:=x[j]+c;
end;
for j:=1 to m do
begin
if abs(z)<0.9 then
y[j]:=((arctan((2*x[j])/sqrt(1-2*x[j]*2*x[j])))/b*cos(x[j]))+j
else
y[j]:=3.9+5*z+j; k:=0;
end;
begin
k:=0;
yminn:=y[1];
yminc:=y[2];
for j:=1 to i do
begin
if (j mod 2=0) then
begin
k:=k+1;
if yminc>y[j] then yminc:=y[j];
end
else k:=k+1;
if yminn>y[j] then yminn:=y[j];
end;
begin
k:=0;
ymaxn:=y[1];
ymaxc:=y[2];
for j:=1 to i do
begin
if (j mod 2=0) then
begin
k:=k+1;
if ymaxc<y[j] then ymaxc:=y[j];
end
else begin k:=k+1;
if ymaxn<y[j] then ymaxn:=y[j] ; end;
end;
writeln('========================================');
writeln('I j I x I y I');
writeln('========================================');
for j:=1 to i do
writeln ('I ',j:2,' I ',x[j]:3:10,' I ',y[j]:3:9,' I');
writeln('========================================');
writeln ('ЊЁ*Ё¬*«м*®Ґ §**зҐ*ЁҐ г ¤«п зсв*ле j:',yminc:3:10);
writeln ('ЊЁ*Ё¬*«м*®Ґ §**зҐ*ЁҐ г ¤«п *Ґ зсв*ле j:',yminn:3:10);
writeln ('Њ*ЄбЁ¬*«м*®Ґ §**зҐ*ЁҐ г ¤«п зсв*ле j:',ymaxc:3:10);
writeln ('Њ*ЄбЁ¬*«м*®Ґ §**зҐ*ЁҐ г ¤«п *Ґ зсв*ле j:',ymaxn:3:10);
readln;
end;
end; begin
assign(F,'rot.txt');
rewrite(F);
writeln(F,'========================================');
writeln(F,'I j I x I y I');
writeln(F,'========================================');
for j:=1 to i do
writeln(F,'I ',j:2,' I ',x[j]:3:10,' I ',y[j]:3:9,' I');
writeln(F,'========================================');
writeln (F,'Minimalnoe znachenie y dla chetnih j',yminc:7:2);
writeln (F,'Minimalnoe znachenie y dla ne chetnih j',yminn:7:2);
writeln (F,'Maksimalnoe znchenie y dla chetnih j',ymaxc:7:2);
writeln (F,'Maksimalnoe znachenie y dla ne chetnih j',ymaxn:7:2) ;
close(F);end;
gd:=detect;
initgraph(gd,gm,'');
SetBkColor (15);
cleardevice;
setcolor(8);
cleardevice;
line(10, 700, 1300, 700);
line(10, 10, 10, 700);
j:=1;
OutTextXY(15,10,'y');
OutTextXY(1320,690,'x');
SetBkColor (14);
moveto(-35+trunc(j*mas),500-trunc(y[j]*mas2));
for j:=1 to i do
begin
lineto(-35+trunc(j*mas),500-trunc(y[j]*mas2));
circle(-35+trunc(j*mas),500-trunc(y[j]*mas2),2);
end;
readln;
closegraph;
end.
|
09.12.2012, 16:24 | #12 |
Пользователь
Регистрация: 06.12.2012
Сообщений: 16
|
Пока никто не знал , я уже нашёл:
1)масштабы по осям 2)увеличить масштабы. Свмому стало смешно что спрашивал |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вычисление значения функции и переменных, вычисление площади треугольника, определение расстояния между точками на турбо паскале | _4Alex4_ | Помощь студентам | 2 | 14.12.2011 01:43 |
Вычисление функции | Lion8990 | Помощь студентам | 3 | 16.12.2010 00:57 |
вычисление функции | Roker | Помощь студентам | 0 | 19.12.2009 00:07 |
Вычисление функции | XSGRAFF | Общие вопросы C/C++ | 4 | 25.05.2009 22:56 |