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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2012, 20:42   #1
mrX91
Пользователь
 
Регистрация: 05.02.2010
Сообщений: 12
По умолчанию Проверка алгоритма



верен ли код программы: где ошибка??

Код:
var x, s, y, z :real; n, k : integer;
begin
readln(n, x);
s:=0;
z:= -1;
z:=z*(-1);
for k:=0 to y:=1, else to y:=y*k;
s:=s+z*(x+1)^k/y или эта формула (exp(k*ln(-1))*exp(k*(ln(x+1)))/y
end;
write('вывод суммы на экран', S) ;
end.

Последний раз редактировалось ACE Valery; 23.03.2012 в 21:38.
mrX91 вне форума Ответить с цитированием
Старый 23.03.2012, 21:12   #2
Крот
Пользователь
 
Регистрация: 15.03.2012
Сообщений: 57
По умолчанию

Цитата:
z:= -1;
z:=z*(-1);
Мне кажется что это лишнее. Тут можно одной строчкой написать z:= 1;

Цитата:
for k:=0 to y:=1, else to y:=y*k;
Код:
for k:= 0 to n do
   ...
А в самой формуле делитель - это факториал числа k. Может лучше отдельную функцию написать, которая и будет его рассчитывать?

Последний раз редактировалось Крот; 23.03.2012 в 21:16.
Крот вне форума Ответить с цитированием
Старый 23.03.2012, 21:14   #3
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
верен ли код программы: где ошибка??
Нет, не верен!
Вы собственно компилировать, то пробовали?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 23.03.2012, 22:18   #4
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

пробуйте:
Код:
var
  x, Res, PartA , PartB,PartC: real;
  n, k: integer;
begin
  readln(n, x);

  Res := 0;
  PartA := 1; // (-1) ^ 0
  PartB := 1; // (x + 1) ^ 0
  PartC := 1; // 0! = 1

  for k := 0 to n do
  begin
    Res := Res + ((PartA * PartB)/PartC);
    // расчёт частей уравнения для след. итерации
    PartA := PartA * -1; // -1 в степени k
    PartB := PartB * (x + 1); // (x + 1) в степени k
    PartC := PartC * (k + 1); // k!
  end;

  write('вывод суммы на экран', Res);
end.
вроде по формуле всё, с факториалом не уверен, что 0! = 1
GreenWizard вне форума Ответить с цитированием
Старый 23.03.2012, 23:37   #5
mrX91
Пользователь
 
Регистрация: 05.02.2010
Сообщений: 12
По умолчанию

будем пробывать
mrX91 вне форума Ответить с цитированием
Старый 23.03.2012, 23:48   #6
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
с факториалом не уверен, что 0! = 1
Именно так, факториал нуля равен 1. Всё верно
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ Оптимизация алгоритма Сtrl Помощь студентам 7 02.05.2011 20:53
Написание алгоритма Sany321 Фриланс 4 28.04.2011 10:54
excel.Проверка VBA и проверка функции Будда Помощь студентам 0 14.04.2011 21:10
Сложность Алгоритма PChEL@ Помощь студентам 3 26.05.2007 07:56
Изменения алгоритма delphi_beginner Общие вопросы Delphi 2 13.05.2007 21:27