|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.10.2007, 02:37 | #1 |
Пользователь
Регистрация: 21.09.2007
Сообщений: 19
|
Работа с циклами.
Задание таково: нужно вычислить значение заданой функции как сумму функционального ряда. При вычислении учесть "похибку"(пишу по-украински, забыла, как по-русски). "Похибку" оценивать за абсолютной величиной следующего члена ряда.
Все получается, вот только одна проблемка: выводит только две последние страницы результатов, а надо все... programtable; usesCRT; constMaxRowsNum=24; var a,b,dx,x,y:real; Page:integer; Row:integer; ColumnsNum:integer; function f(a:real):real; begin if a<>0 then f:=sin(a)/a else f:=0; end; Procedure Zatrymka; begin Repeat until KeyPressed; end; begin ClrScr; WriteLn('Obchyslennja znachen funktsiji y=sin(x)/x'); Write('Liva granytsja intervalu: '); ReadLn(a); Write('Prava granytsja intervalu: '); ReadLn(b); Write('Krok: '); ReadLn(dx);x:=a; ClrScr; Page:=1;Row:=5; GotoXY(1,1);Write('Storinka:');Goto XY(10,1);Write(Page); GotoXY(1,2); WriteLn('+--------------------------------------+--------------------------------------+'); WriteLn('| Argument | Functsija |'); WriteLn('+--------------------------------------+--------------------------------------+'); repeat y:=f(x); GotoXY(1,Row);Write('|');GotoXY(40, Row);Write('|');GotoXY(79,Row);Writ e('|'); GotoXY(2,Row); Write(x); GotoXY(41,Row); Write(y); inc(Row); x:=x+dx; if Row=MaxRowsNum then begin GotoXY(10,1); Write(Page); Zatrymka; Row:=5; Inc(Page); end; until x>b; Zatrymka; end. |
26.10.2007, 08:05 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Надюша, привет, Похибка - погрешность
Вот переработка: program table; uses CRT; const MaxRowsNum=24; var a,b,dx,x,y:real;Page:integer;c:char ;Row:integer;ColumnsNum:integer; function f(a:real):real; begin if a<>0 then f:=sin(a)/a else f:=0; end; begin ClrScr; WriteLn('Obchyslennja znachen funktsiji y=sin(x)/x'); Write('Liva granytsja intervalu: '); ReadLn(a); Write('Prava granytsja intervalu: '); ReadLn(b); Write('Krok: '); ReadLn(dx);x:=a; Page:=1; ClrScr; Writeln('Storinka',Page); WriteLn('+--------------------------------------+--------------------------------------+'); WriteLn('| Argument | Functsija |'); WriteLn('+--------------------------------------+--------------------------------------+'); repeat y:=f(x); writeln('|',x:10:5,'|',y:12:5,'|'); x:=x+dx;inc(row); if row=MaxRowsNum-5 then begin c:=readkey; clrscr;inc(page); Writeln('Storinka',Page); WriteLn('+--------------------------------------+--------------------------------------+'); WriteLn('| Argument | Functsija |'); WriteLn('+--------------------------------------+--------------------------------------+'); row:=1; end; until x>b; end. P.S. Успiхiв тобi
I'm learning to live...
Последний раз редактировалось Stilet; 26.10.2007 в 08:24. |
26.10.2007, 09:09 | #3 |
Пользователь
Регистрация: 21.09.2007
Сообщений: 19
|
гы))))
Большущее СПАСИБО))) Вы меня просто таки спасаете))) Но не расслабляйтесь, еще все впереди, я вас еще задолбаю своими вопросами))))
|
26.10.2007, 09:29 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Стукай в асю, мне не проблема с тобой подолбаться )
I'm learning to live...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с циклами 2. Вопрос | SPQR | Помощь студентам | 5 | 27.10.2007 11:20 |
Помогите с ЦИКЛАМИ | kl45gp | Общие вопросы Delphi | 11 | 25.04.2007 16:02 |