Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

Аж взмок, решаючи . Ну что за гипер-мегасложные задачи задают студеням
Код:

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 в 21:56.
digitalis вне форума   Ответить с цитированием
Старый 18.01.2017, 01:37   #3
Алексей_2012
t45t
Профессионал
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Адрес: пгт. Балакирево
Сообщений: 1,702
Репутация: 247

icq: 649899888
По умолчанию

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

вроде должно быть так, судя по первым трем отношениям (степень 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 в 01:39.
Алексей_2012 вне форума   Ответить с цитированием
Старый 21.01.2017, 13:11   #4
digitalis
Форумчанин
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Адрес: Минск
Сообщений: 488
Репутация: 237
По умолчанию

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

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



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить сумму (СИ) GroMkiY Помощь студентам 4 16.10.2013 19:46
Три задачи - Найти сумму натуральных чисел; Протабулировать функцию; вычислить сумму kolya1114 Паскаль 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 16:04




00:29.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru