SERGE_BLIZNUK
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору npokypop2002 что-то все молчат... а мне, к сожалению, некогда... поэтому - "Буду краток" (c) ВВП 1) передавайте вашему преподу (а скорее всего он и писал методичку) что он глЮпый!! фактически нигде не сказано то, что N (верхний предел суммирования, как то связан с шагом и диапазоном) - (хотя это и подразумевается - фактически - эта сумма - это вычисление интеграла...) 2) формально вы нарушаете условия задачи - вводить нужно шаг h, а вы вводите N и по нему считаете h - лучше переделать ввести A,B,H и n := Trunc( ( B - A)/ H) + 1; только, чтобы соблюсти условия задачи [A,B] нужно, чтобы шаг был такой - чтобы И тоже попало в обработку 3) но, главное, ошибка в том, что алгоритм должен (ИМХО) такой (пишу примерно - ошибки, описки - недомолвки поправите сами): Код: x := A; while x<=B do begin s := 0; t:= -1; for k:= 1 to N do begin t := t * (-1); {вычисление степени pp= 2x**2k} {вычисление факториала fk = (2k)!} pp := 1; fk := 1; for j:=1 to 2k do begin pp := pp * 2*x; fk := fk * j; end; s := s + t* (pp/fk); end; y := вычисляем Y(x) (вроде у вас это правильно!) writeln('X=',x,';Y=',y,'; S=',s); x := x + h; end; | т.е. сумма дожна считаться от 1 до N для КАЖДОГО X... а в вашей реализации суммирование выполнялось на каждом шаге наращивания X... Это как лично я понял задачу. Ответственность на себя НЕ беру ;-))) |