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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2010, 21:22   #1
voffka-blogger
Пользователь
 
Аватар для voffka-blogger
 
Регистрация: 09.04.2010
Сообщений: 13
Восклицание Паскаль. Метод касатальных.

Добрый вечер. Пожалуйста, подскажите. Вот есть программа:
Код:
const e=0.001;
var
  cn,fcn,f1cn,cn1,cncn1,a,b:real;
begin
  write('Введите Cn: ');
  readln(cn);
  write('Введите функцию: ');
  readln(fcn);
  write('Введите производную функции: ');
  readln(f1cn);
  repeat
  a:=fcn;
  b:=f1cn;
  cn1:=cn-(a)/(b);
  cncn1:=abs(cn-cn1);
  writeln('Ответ Cn: ',cn:0:5);
  writeln('Ответ f(Cn): ',a:0:5);
  writeln('Ответ f"(Cn): ',b:0:5);
  writeln('Ответ Cn+1: ',cn1:0:5);
  writeln('Ответ |Cn-Cn+1|: ',cncn1:0:5);
  writeln('------------------------------');
  cn:=cn1;
  until e>cncn1;
  readln;
end.
Мне нужно, чтоб вводимые функции были в цикле, но если поместить write('Введите функцию: '), то каждую проверку условия в цикле, программа будет спрашивать ввод данной функции, пока не выполнится условие. Мне нужно, чтоб раз ввёл функцию и дальше она участвовала в цикле, но не требовала себя вводить каждый раз. Я вот начал уже писать, но не могу написать задуманное.


Исходный вид программы:
Код:
const e=0.001;
var
  cn,fcn,f1cn,cn1,cncn1:real;
begin
  write('Введите Cn: ');
  readln(cn);
  repeat
  fcn:=-15*sin(3*cn)+0.15*power(cn,2)+0.7;
  f1cn:=-45*cos(3*cn)+0.30*cn;
  cn1:=cn-(fcn)/(f1cn);
  cncn1:=abs(cn-cn1);
  writeln('Ответ Cn: ',cn:0:5);
  writeln('Ответ f(Cn): ',fcn:0:5);
  writeln('Ответ f"(Cn): ',f1cn:0:5);
  writeln('Ответ Cn+1: ',cn1:0:5);
  writeln('Ответ |Cn-Cn+1|: ',cncn1:0:5);
  writeln('------------------------------');
  cn:=cn1;
  until e>cncn1;
  readln;
end.
voffka-blogger вне форума Ответить с цитированием
Старый 09.04.2010, 22:00   #2
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

По моему ввод должен в данном примере осуществляться до цикла,но не в самом цикле.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 09.04.2010, 22:11   #3
voffka-blogger
Пользователь
 
Аватар для voffka-blogger
 
Регистрация: 09.04.2010
Сообщений: 13
По умолчанию

Я понимаю это, поэтому и нуждаюсь в помощи потому что не могу это написать. И тип должен быть не реал, а хотя бы стринг...Первая программа - та, которую я хотел бы увидеть в итоге, вторая - та, что я имею на данный момент.
voffka-blogger вне форума Ответить с цитированием
Старый 09.04.2010, 22:46   #4
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

А строковый тип то здесь причём.сами подумайте как вы введёте любую формулу то.А если формула вам строго задана как во втором примере то вы всё правильно делаете.И тип real здесь необходим так как в формуле используются не целые числа.Следовательно при вычислении целого числа ни как не получится.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 09.04.2010, 23:25   #5
voffka-blogger
Пользователь
 
Аватар для voffka-blogger
 
Регистрация: 09.04.2010
Сообщений: 13
По умолчанию

Я знаю, что 2ая программа верная, я сам её писал, а теперь я хочу сделать так, чтоб программа стала автономной, то есть 1 раз скомпилировать и больше не лазить в исходник. Во второй программе я функцию ввожу в исходнике и запускаю её, а сейчас мне надо, чтоб функция вводилась в консольном окне. А какой тогда тип выбрать, чтоб можно было писать функцию? И вообще как это сделать?)))Для курсовой 2ая программка слишком простая.
voffka-blogger вне форума Ответить с цитированием
Старый 09.04.2010, 23:44   #6
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Извиняюсь за написанную туфту по поводу типа реал.Есть следующие типы вещественных чисел: Single,Real,Double,Extended,
Comp.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 10.04.2010, 11:08   #7
voffka-blogger
Пользователь
 
Аватар для voffka-blogger
 
Регистрация: 09.04.2010
Сообщений: 13
По умолчанию

Спасибо за помощь. Буду думать.
voffka-blogger вне форума Ответить с цитированием
Старый 10.04.2010, 11:47   #8
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Вряд ли вы сделаете прогу автономной с самостоятельным вводом формулы в консольном окне. При вводе формул в программе он всё время будет запарываться на этом.Ну эт я так думаю.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 10.04.2010, 12:51   #9
voffka-blogger
Пользователь
 
Аватар для voffka-blogger
 
Регистрация: 09.04.2010
Сообщений: 13
По умолчанию

Собвственно, мне это на среду, в понедельник спрошу у своих преподов по программированию, если напишу, выложу код сюда))
voffka-blogger вне форума Ответить с цитированием
Старый 10.04.2010, 15:16   #10
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Да лучше спросить у препода.Потому что я понял что вам нужно ввести формулу самостоятельно в консольном окне.А это нереально (как мне кажется).Даже ввод самостоятельно нескольких формул.Формулы обычно пишут сразу в исходнике чтобы потом по ним что-то расчитать.Если же вам дано несколько формул можно их вбить в исходник и оператором case осуществлять выбор. Выберите такую то формулу.
Если неправильно понял вас то подправьте и уточните.
Пятница тяжёлая была.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод касательных(Ньютона) Паскаль. P1RoG Помощь студентам 3 28.12.2010 13:39
Метод хорд и касательных [Турбо Паскаль] mpegable Помощь студентам 6 14.05.2010 18:06
Метод прямоугольников (Паскаль). Alexey_HvaranG Помощь студентам 2 24.11.2009 13:46
СЛАУ Метод псевдообращения матриц, паскаль vdv08 Помощь студентам 8 19.11.2008 22:36