Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Паскаль. Вопрос.

Условие задачи
Используя один из языков высокого уровня (Pascal) и Microsoft Office решить
следующие задачи:
1. Построить график функции выражения W по формуле Z (Таблица 1.1),
используя в качестве переменной любую переменную из заданных в выражении
(выбирать необходимо нелинейную зависимость, а значения остальных переменных
выбрать произвольно). Количество точек построения равно K, а интервал
изменения переменной подобрать так, чтобы величина изменения функции при
изменении переменной составляла Pr%. Для построения графика использовать
электронную таблицу Excel из офисного программного обеспечения со
сформированными данными из Раscal на диске. Результаты работы сохранить в
виде файлов *.pas, *.dat, *.xls. Вид формулы Z из выражения W, величины Рr,
K взять из вариантов по заданию преподавателя.
W = Z
2. Переменную из формулы Z подобрать с помощью двух вариантов:
1. Программно, используя один из методов (простой итерации, половинного
деления, Ньютона)
2. С помощью Microsoft Excel
? K Рr, % Z
20 30

******************************************************************
1 program iter;
2 var x: array[1..2,1..20] of real;
3 y: real;
4 i: integer;
5 v: text;
6 const k=20;
7 begin
8 Assign(v,'c:\var4.dat');
9 rewrite(v);
10 Writeln ('x:':16,'z:':16,'y:':16);
11 x[1,1]:=1;
12 y:=1;
13 x[2,1]:=(x[1,1]+y)/(x[1,1]+1)-(x[1,1]*y-12)/(34+x[1,1]);
14 Writeln (x[1,1]:16:3,x[2,1]:16:3,y:16:3);
15 Writeln (v,'x:':8,'z:':9,'y:':9);
16 Writeln (v, x[1,1]:7:3,x[2,1]:7:3,y:7:3);
17 for i:=2 to k do
18 begin
19 y:=y+y*0.3;
20 x[1,i]:=x[1,i-1]+x[2,i-1];
21 x[2,i]:=(x[1,i]+y)/(x[1,i]+1)-(x[1,i]*y-12)/(34+x[1,i]);
22 WriteLn (x[1,i]:16:3, x[2,i]:16:3, y:16:3);
23 WriteLn (v, x[1,i]:7:3,x[2,i]:7:3,y:7:3);
24 end; close(v);
25 WriteLn('Данные скопированы на диск. Нажмите <Enter>');
26 readln;
27 end.

Меня интересует почему график получается такой корявый? Что-то неправильно в
самом цикле?
И еще: если выражение
(строка 13) x[2,1]:=(x[1,1]+y)/(x[1,1]+1)-(x[1,1]*y-12)/(34+x[1,1])
изменить прибавив x2, т.е.

x[2,1]:=(x[1,1]+y)/(x[1,1]+1)-(x[1,1]*y-12)/(34+x[1,1]) + sqr (x[1,x]) ,
появляется сообщение об ошибке (error 205 : Floating point overflow ). Что
делать?
Посылаю iter.pas где присутствует именно x2.

С пожеланием всего наилучшего, Forester. Писать: Isdm***@m*****.ru
Проект "Информационная сеть Пермского края" - http://ispk.narod.ru
Номер выпуска : 2889
Возраст листа : 211 (дней)
Количество подписчиков : 385
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/129638
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Tue, 20 Apr 2004 21:25:21 +0600 (#129638)

 

Ответы:

Тема: Паскаль. Вопрос.

Как раз x2-то и нет в этом коде. Так что вопрос отпадает.
Корявость:
ИМХО: не надо ограничивать вывод по длине. Происходит округление не в лучшую
строну :((
И еще, добавляйте пробелы между числами - у Вас в двух последних строках Z и
Y слились в Var4.dat

Ответить   Wed, 21 Apr 2004 12:29:57 +0400 (#130117)

 

Ну, имелось в виду, что x^2, то бишь в квадрате. Задолбался я с этой прогой
уже.
С пожеланием всего наилучшего, Forester. Писать: Isdm***@m*****.ru
Проект "Информационная сеть Пермского края" - http://ispk.narod.ru
Номер выпуска : 2899
Возраст листа : 212 (дней)
Количество подписчиков : 386
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/130340
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Wed, 21 Apr 2004 18:33:46 +0600 (#130340)

 

Тема: Re: Паскаль. Вопрос.

Надо подойти концептуально [ :)) ], что хочешь отобразить?
Если все, что угодно, то нужно отлавливать такие потенциально опасные участки
и заменять ужасно большие числа просто большими.
То есть, произвести демпфирование
Или же есть задание именно так извернуться, то ограничиться 14 элементами массива
и типом EXTENEDED. Переполнение происходит на 15-м в этом случае

Ответить   Wed, 21 Apr 2004 17:34:38 +0400 (#130375)

 

Здарова, Forester!

20 апреля 2004 г., вторник, 20:25:21 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Паскаль. Вопрос.",
в котором сообщалось следующее:

Если интересуют реализации этих методов на паскале - могу кинуть 300
kb тебе на мыло - курс лекций и указаний по паскалю.

Ответить   Томилов Александр Wed, 21 Apr 2004 23:44:24 +0500 (#130536)

 

Ну, если нетрудно закинь.
С пожеланием всего наилучшего, Forester. Писать: Isdm***@m*****.ru
Проект "Информационная сеть Пермского края" - http://ispk.narod.ru
Номер выпуска : 2909
Возраст листа : 213 (дней)
Количество подписчиков : 387
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/130902
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Thu, 22 Apr 2004 15:23:15 +0600 (#130902)

 

Win32)

Доброго времени суток!
Господа, подобные сообщения шлите на личный адрес.

On Thu, 22 Apr 2004 15:23:15 +0600 you wrote:

Ответить   Thu, 22 Apr 2004 15:31:29 +0400 (#130981)