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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2016, 09:33   #1
zarazza
Новичок
Джуниор
 
Регистрация: 01.06.2015
Сообщений: 2
По умолчанию Циклы, помогите исправить ошибки!

Приветствую! программирование в Delphi, циклы

задание:


архив с моим решением приложен

рецензия:
Замечания по части "б":

- не задано начальное значение prez. Поэтому при первом выполнении строки
while prez<e do
неизвестно, с чем будет сравниваться "e"

- расчет факториала будет выполняться правильно только для первого слагаемого

- в строке while prez<e do
условие задано неправильно

- у вас в сумму, помимо нужных слагаемых, попадет и то слагаемое которое приводит к выходу из цикла. А оно попадать в сумму уже не должно

первое замечание легкое, а вот с ошибками в условиях я не могу разобраться. помогите, пожалуйста!
Вложения
Тип файла: rar Циклы.rar (174.2 Кб, 25 просмотров)

Последний раз редактировалось zarazza; 19.01.2016 в 10:54. Причина: неверный скриншот
zarazza вне форума Ответить с цитированием
Старый 19.01.2016, 09:40   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

А где таблица 2?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 19.01.2016, 10:54   #3
zarazza
Новичок
Джуниор
 
Регистрация: 01.06.2015
Сообщений: 2
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
А где таблица 2?
ой ей, второй скриншот не тот скинула) вот мой вариант из таблицы
zarazza вне форума Ответить с цитированием
Старый 19.01.2016, 13:13   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Ну, блин, как-то так штоль?



Скачать всё.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 19.01.2016 в 13:21.
min@y™ вне форума Ответить с цитированием
Старый 19.01.2016, 13:23   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
 if (e <=0)or(e>=1)then showmessage('число выходит за границы диапазона');

 sum:=0;
 i:=1;
  prez:=x;//первый элемент
  while prez>e do //пока слагаемое БОЛЬШЕ
   begin
    sum:=sum+prez;//складываем ДО новых вычислений

    i:=i+1; //вычисляем НОВОЕ значение 
  
    if odd(i+1) then prez:=-1 //(-1)**(i+1)
    else prez:=1;
 
    for j:=1 to i do // (-1)**(i+1)*(x**i)
     prez:=prez*x;

    for j:=1 to (2*i-1) do // (-1)**(i+1)*(x**i)/(2*i-1)! 
     prez:=prez/j;

  end;
Код:
// как ВСЕ это можно написать короче 
i:=1;
prez:=(-1)*(-1)*x/1;
sum:=0;
while (prez/i)>e do begin // while i<n do begin
  sum:=sum+(prez/i); 
  i:=i+1;

 // вот это есть рекурсивное вычисление элемента по его предыдущему значению
  prez:=prez  *(-1)*x/((2*i-2)*(2*i-1));
end;
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите исправить циклы max1993 Visual C++ 0 18.06.2015 17:03
Помогите исправить ошибки dkii Общие вопросы C/C++ 2 22.12.2013 23:17
Помогите исправить ошибки Vania96 Паскаль, Turbo Pascal, PascalABC.NET 7 14.11.2013 23:11
помогите исправить ошибки Euforia_PZAS09_1 Паскаль, Turbo Pascal, PascalABC.NET 0 19.10.2009 21:41
Помогите исправить ошибки ...С++ Настенька Помощь студентам 1 25.03.2007 23:30