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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2017, 17:20   #1
DmitriyRez
 
Регистрация: 10.12.2016
Сообщений: 3
По умолчанию Вычислить сумму

Дано действительное число a,натуральное число n.Вычислить: 1/a+1/a^2+1/a^4+...+1/a^(2*n), используя процедуру или функцию.
DmitriyRez вне форума Ответить с цитированием
Старый 07.01.2017, 20:18   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Аж взмок, решаючи . Ну что за гипер-мегасложные задачи задают студеням
Код:
function polynom (a:real; n:integer) : real ;
var i:integer ; b,c,y: real ;
begin
  y := 1/a ;
  b := y*y ; c := b ;
  for i := 1 to n do
    begin
      y := y + b ;
      b := b * c ;
    end ;
  polynom := y
end ;
Первый член этого полинома выбивается из ряда 1/a^(2*n) и вроде как бы должен быть 1/a^(2*0), т.е. 1. Но мне это монофигственно.

Последний раз редактировалось digitalis; 07.01.2017 в 20:56.
digitalis на форуме Ответить с цитированием
Старый 18.01.2017, 00:37   #3
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Ошибка в формуле или мне показалось??))

вроде должно быть так, судя по первым трем отношениям (степень 1,2,4,...,(2^(N-1)) )

сравнивал с калькулятором, в программе нет погрешностей в тысячных и т.д. числа


Код:
  program polinom;

function exponenta_mod_a(a:word;N:word):real;
var  
    summ:real; 
begin  

 summ:=(       1/(   power(1.0*a,    Power(2.0,round(N-1))       )     )     );
 
 if N<>1 then 
   result:=exponenta_mod_a(a,n-1)+summ else
     result:=summ;
 
end;


var a,n:word;
begin
 write('Input chislo A: ');
 readln(a);
 write('Input chislo N: ');
 readln(n);
 writeln('.....',exponenta_mod_a(a,n)); 
end.
если помог - жмите весы
from dark to light)

Последний раз редактировалось Алексей_2012; 18.01.2017 в 00:39.
Алексей_2012 вне форума Ответить с цитированием
Старый 21.01.2017, 12:11   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Алексей_2012 Я не понял, это - пример того, как можно заменить компактное и простое решение - более сложным, использующим совершенно не нужный Power , не нужную рекурсию, к тому же весьма сомнительным ? В условии a:real, это то же, что и a:word ? А round от целого числа - вообще шедевр.
Впрочем, ТСу это уже давно до лампочки.

Последний раз редактировалось digitalis; 21.01.2017 в 13:21.
digitalis на форуме Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить сумму (СИ) GroMkiY Помощь студентам 4 16.10.2013 19:46
Три задачи - Найти сумму натуральных чисел; Протабулировать функцию; вычислить сумму kolya1114 Паскаль, Turbo Pascal, PascalABC.NET 3 01.12.2012 19:01
Вычислить сумму в БД lady.ulumba Помощь студентам 2 22.04.2012 15:44
Вычислить сумму lady.ulumba Помощь студентам 4 16.10.2011 18:38
вычислить сумму ольгару Помощь студентам 0 28.01.2011 15:04