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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2015, 19:08   #1
DrewzZ
 
Регистрация: 07.10.2015
Сообщений: 4
По умолчанию

Дана последовательность 1+1/2+1/3+∞+1/n, найти сумму первых n членов данной последовательности

Помогите пожалуйста написать программу, весь мозг себе сломал

Последний раз редактировалось Аватар; 07.10.2015 в 19:34.
DrewzZ вне форума Ответить с цитированием
Старый 07.10.2015, 19:22   #2
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

Код:
var
  i, n: integer;
  r: Double;
begin
  readln(n);
  r := 0;
  for  i := 1 to n do
    r := r + (1 / i);
  writeln(r);
  readln;
end.
пробуй

Последний раз редактировалось GreenWizard; 07.10.2015 в 19:24. Причина: исправил опечатку в коде
GreenWizard вне форума Ответить с цитированием
Старый 07.10.2015, 19:33   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
1+1/2+1/3+∞+1/n
Не мудрено мозг сломать увидев такое. И где, интересно, практикует такое издевательство над записью числового ряда?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.10.2015, 19:59   #4
DrewzZ
 
Регистрация: 07.10.2015
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Не мудрено мозг сломать увидев такое. И где, интересно, практикует такое издевательство над записью числового ряда?
А практикует наш учитель 9 класса по информатике
DrewzZ вне форума Ответить с цитированием
Старый 07.10.2015, 19:59   #5
DrewzZ
 
Регистрация: 07.10.2015
Сообщений: 4
По умолчанию

Цитата:
Сообщение от GreenWizard Посмотреть сообщение
Код:
var
  i, n: integer;
  r: Double;
begin
  readln(n);
  r := 0;
  for  i := 1 to n do
    r := r + (1 / i);
  writeln(r);
  readln;
end.
пробуй
Большое спасибо за решение, а можно ли написать программу с циклом while?
DrewzZ вне форума Ответить с цитированием
Старый 07.10.2015, 22:16   #6
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

А почему цикл, а не рекурсия с параметром N?

Плюс при i=1 деление выполнится все равно, а это лишние милисекунды)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 07.10.2015, 22:37   #7
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Код:
function recurs (N:integer):real;
var a:real;
begin
a:=1/N;
if (N=1) then result:=1;
if (N>0) then result:= a+recurs(N-1); 
end;


var chislo:integer;
    itog:real;
begin
writeln('Press chislo...');
readln(chislo);

itog:=recurs(chislo);
writeln(itog);

readln;
end.
Вот рекурсивный вариант, если кто-нибудь покажет более красивое решение, то с удовольствием посмотрю
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 07.10.2015, 23:21   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В коде выше деление на 0 будет
Код:
function recurs (N:integer):real;
begin
  if N=1 then result:=1 else result:=1/N+recurs(N-1);
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.10.2015, 16:32   #9
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
В коде выше деление на 0 будет
Разве?ваааааааааааааааа
Poma][a вне форума Ответить с цитированием
Старый 08.10.2015, 16:48   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

if (N>0) then result:= a+recurs(N-1); для n=1

Проверь
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана последовательность целых чисел a1, a2, …an. Образовать новую последовательность, выбросив из исходной, те члены, которые равн Мария74 C++ Builder 2 04.12.2013 23:09
Дана непустая последовательность вещественных чисел, оканчивающаяся числом 1000. Последовательность является неубывающей. fanatloko Паскаль, Turbo Pascal, PascalABC.NET 1 23.06.2013 14:25
Дана последовательность а1, а2.а15 Полковник Паскаль, Turbo Pascal, PascalABC.NET 0 24.05.2013 11:19
Дана последовательность символов rudy47 Паскаль, Turbo Pascal, PascalABC.NET 2 28.01.2013 14:40
Дана последовательность. Skia123 Помощь студентам 15 27.05.2010 15:56