IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Прога Таблица по закону
KuTa
сообщение 13.11.2006 19:41
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Мужской

Репутация: -  0  +


Вот такая вот программа


{Nazvanie progi}
Program Function_F(x,t);
{Podluchaem biblioteku}
uses crt;
{Ob`yavlyaem peremennie}
Var x,t:integer;
{Poehali}
begin
{Chistim ekran}
clrscr;
{Delaem verhnuy chast` tablici}
writeln('x/t 1 2 3 4 5 6 7 8 9 10');
{cikl po x}
for x:=1 to 10 do
begin
{delaem bokovuy chast` tablici}
write(x);
{cikl po t}
for t:=1 to 10 do
{vivodim krasivo znacheniya proizvol'nogo zakona x/t=x*t*t}
if (t=1)and(x=10) then write(x*t*t:5) else write(x*t*t:6);
writeln;
end;
{press any key}
Readln;
{stop}
End.


А теперь преподаватель попросил сделать следующее,чтоб таблица считалась не по закону

x*t*t:5


а по следующему закону:

dfi2(t,x)=(fi(t-1,x+1)-2.0*fi(t-1,x)+fi(t-1,x-1))/(dx*dx)


и написал мне изменения в программе такие вот и сказал причесать её,попогите плз. Вот прога которая измененная. С новым законом,что удалить из старой надо?


{Nazvanie progi}
Program Function_F(x,t);
{Podluchaem biblioteku}
uses crt;
{Ob`yavlyaem peremennie}
Var x,t:integer;
fi(0:10, 0:10):real;
dfi2(0:10, 0:10) :real;
dx:real;
{Poehali}
begin
{Chistim ekran}
clrscr;
{Delaem verhnuy chast` tablici}
writeln('x/t 1 2 3 4 5 6 7 8 9 10');
{cikl po x}
for x:=0 to 10 do
fi(0, x)=0.0
end;
dx=0.1;
for x:=1 to 10 do
begin
{delaem bokovuy chast` tablici}
write(x);
{cikl po t}
for t:=1 to 10 do
for x:=1 to 9 do
dfi2(t,x)=(fi(t-1,x+1)-2.0*fi(t-1,x)+fi(t-1,x-1))/(dx*dx)
end;
{vivodim krasivo znacheniya proizvol'nogo zakona x/t=x*t*t}
if (t=1)and(x=10) then write(x*t*t:5) else write(x*t*t:6);
writeln;
end;
{press any key}
Readln;
{stop}
End.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 2)
klem4
сообщение 13.11.2006 20:01
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Ну во первых вычисление фунции лучше загнать в подпрограмму, будет удобнее и читаться проще. А вообще воспользуйся поиском -> Табулирование функции, таблица ...

Много примеров. Посмотришь как красиво выводить данные в виде таблицы.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 13.11.2006 23:29
Сообщение #3


Гость






{Nazvanie progi}
Program Function_F(x,t);
{Podluchaem biblioteku}
uses crt;
{Ob`yavlyaem peremennie}
Var
x, t:integer;
fi: array[0 .. 10, 0 .. 10] of real;
dfi2: array[0 .. 10, 0 .. 10] of real;

dx: real;

{Poehali}
begin
{Chistim ekran}
clrscr;

{Delaem verhnuy chast` tablici}
write('x/t');
for x := 1 to 10 do write(x:6);
writeln;

dx := 0.1;
for x:= 1 to 10 do begin
{delaem bokovuy chast` tablici}
write(x:2, '':1);

{cikl po t}
for t:=1 to 10 do begin
dfi2[t, x] := (fi[t-1,x+1]-2.0*fi[t-1,x]+fi[t-1,x-1]) / (dx*dx);

{vivodim krasivo znacheniya proizvol'nogo zakona x/t=x*t*t}
write(dfi2[t, x]:6:3);
end;
writeln;
end;

{press any key}
Readln;

{stop}
End.



Только вот массив fi у тебя не заполняется (вернее, заполняется нулями), поэтому в таблице будут одни нули...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 27.07.2025 8:57
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"