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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2008, 19:42   #1
Julinja
 
Регистрация: 17.11.2008
Сообщений: 7
По умолчанию Паскаль, не могу найти ошибку в программе

Написала программу, но как-то неправельно. Суть программы: составить таблицу в 5 столбиках, которая отображает значения функции X и F(X), если X в интервале ще -4 до 4. Надо чтобы результаты шли по горизонтали парами 5 раз, потом на новый ряд. У меня они в каждом столбике одинаковые, идут как-бы вниз. Может кто-нибудь может наити ошибку..
Вот текст программы:

program uzd;
uses crt;
var I,L:integer;
X,Y:real;
begin
clrscr;
X:=-4;

for I:=1 to 5 do begin
if I=1 then write ('╔════╤══════')
else write ('╤════╤══════');
L:=(I mod 5);
If L=0 then writeln ('╗');
end;


for I:=1 to 5 do begin
if I=1 then write ('║ x │ f(x) ')
else write ('│ x │ f(x) ');
L:=(I mod 5);
if L=0 then writeln ('║');
end;

repeat
Y:=X*X*X-4*X+2;
for I:=1 to 5 do begin
if I=1 then write ('╟────┼──────')
else write ('┼────┼──────');
L:=(I mod 5);
if L=0 then writeln ('╢');

end;

for I:=1 to 5 do begin
if I=1 then write ('║',X:4:1,'│',Y:6:2)
else write ('│',X:4:1,'│',Y:6:2);
L:=(I mod 5);
if L=0 then writeln ('║');
end;

X:=X+0.1
until X>4;

for I:=1 to 5 do begin
if I=1 then write ('╚════╧══════')
else write ('╧════╧══════');
L:=(I mod 5);
If L=0 then writeln ('╝');
end;

readkey
end.
Julinja вне форума Ответить с цитированием
Старый 17.11.2008, 20:34   #2
Сергей089
Форумчанин
 
Регистрация: 22.09.2008
Сообщений: 214
По умолчанию

Привет. Попробовал решить эту задачу. Проверь результат.

program uzd;
uses crt;
var j:integer;
x,y:real;
begin
clrscr;
for j:=1 to 5 do
write ('x':7,'f(x)':7);
writeln;
x:=-4;
j:=0;
repeat
y:=x*x*x-4*x+2;
j:=j+1;
write (x:7:2,y:7:2);
x:=x+0.1;
if j=5 then begin
j:=0;
writeln;
end;
until x>4;
readkey;
end.

Только я не знаю как рисовать границы таблицы.
Сергей089 вне форума Ответить с цитированием
Старый 17.11.2008, 20:42   #3
Julinja
 
Регистрация: 17.11.2008
Сообщений: 7
По умолчанию

Хмм.. Работает так, как надо, но под свою рамку таблицы подставить не получается.. Попробую подругому подставить..
Julinja вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лаба по программированию. Не могу найти ошибку((( KrL^^ Помощь студентам 3 08.10.2008 14:49
Помогите найти ошибку в программе Evgenii Помощь студентам 3 24.07.2008 09:06
Помогите найти ошибку в программе KnDmPetr Паскаль, Turbo Pascal, PascalABC.NET 5 10.03.2008 14:19
Не могу найти ошибку! Эдуард Общие вопросы C/C++ 7 27.02.2008 16:34
Паскаль. Не могу найти ошибку. Нужна помощь! Nexx Помощь студентам 10 06.12.2007 19:12