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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2008, 21:19   #1
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию Помогите решить уравнение. pascal си неважно или просто алгоритм

Помогите решить уравнение y = y0^2 - 0.5 * (y0^2 - y0), как я понял, итерационным способом. Вроде все элементарно, но когда говорили что делать... я духом был не там
y0 = 2; E = 10^-6
Как я понял мы вычисляем выражение подставляя y0, если условие удовлетворит |y - y0|<=E то значит корень найден, иначе y0 = y и все по новому, но если так делать, то ничего не сходится, значение y просто растет. Вот я и подумал возможно тут надо решать по другому или неверно записал. Подскажите пожалуйста как можно решить или хотя бы скажите, что не все списал
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 09.11.2008, 23:33   #2
N.e.e.L
Новичок
Джуниор
 
Регистрация: 09.11.2008
Сообщений: 1
По умолчанию

Свой код кинь....
N.e.e.L вне форума Ответить с цитированием
Старый 10.11.2008, 00:04   #3
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Тут помоему какое-то условие должно выполняться, чтобы сходилось ^_^
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 10.11.2008, 00:06   #4
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

Код:
#include <stdio.h>;
#include <conio.h>;
main()
{
 float y0 = 2, yi, a, e = 0.000001;
 int num = 0;
 clrscr();
 printf("\nPlease enter float a\n");
 scanf("%f", &a);
 yi = y0;
 if (a > 10.5) 
 {
  do
  {
   num += 1;
   y0 = yi;
   yi = y0*y0 - 0.5*(y0*y0 -y0);
   if ( num = 20 )
   {printf(" yi = %5.2f", yi); 
    printf("\nnagmite dla prodolgenia");
    getch();
    num = 0;}
  }
  while ((yi - y0) > e);
 }
 else
  printf("a <= 10.5");
 printf(" y = %5.3f", yi);
 getch();
}
Что то типа такого... среда Turbo си
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 10.11.2008, 10:27   #5
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

Цитата:
Сообщение от SNUPY Посмотреть сообщение
Тут помоему какое-то условие должно выполняться, чтобы сходилось ^_^
Ну это да - условие должно сходиться, но здесь что - то ничего не сходится, каждый последующий y возрастает и так до бесконечности!
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 10.11.2008, 18:52   #6
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

Просто скажите, что тут что - то неверное записано и это не решается Чтобы я не думал, что отупел)
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с массивом в паскале(нужен просто алгоритм), плизззз....... proga Паскаль, Turbo Pascal, PascalABC.NET 1 08.10.2008 21:36
помогите решить задачу(составить алгоритм) grafenix Паскаль, Turbo Pascal, PascalABC.NET 1 03.10.2008 00:52
Помогите с обратной матрицей в DELPHI(или Pascal)!!!!!!!! Lencom Помощь студентам 2 11.05.2008 09:48
Просто алгоритм:) Sota Общие вопросы C/C++ 14 11.02.2008 10:45