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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2013, 22:56   #1
neolanta
Новичок
Джуниор
 
Регистрация: 17.12.2013
Сообщений: 19
По умолчанию Возведение в степень

Помогите решить задачу на паскале.
Найдите сумму a^-1+a^-2+a^-4+a^-8+...+(a^-2)^n
neolanta вне форума Ответить с цитированием
Старый 18.12.2013, 01:30   #2
Студент Михаил
 
Регистрация: 10.12.2013
Сообщений: 3
По умолчанию

Я правда не додумал как можно сделать первый член (a^-1) сделать в формуле. Поэтому примерно так. Дальше может сам(-а) додумаешь.
P.s. Степень делал через экспоненты так как паскаль не воспринимал "^".
Код:
program qwer;
var
a,n,i: integer;
sum: real;
begin
writeln('Введите n');
readln (n);
writeln('Введите а');
readln(a);
sum:=exp(-1*ln(a));
for i:=1 to n do begin
sum:=sum+exp(i*exp(-2*ln(a)));
end;
writeln(sum);
end.

Последний раз редактировалось Stilet; 18.12.2013 в 10:44.
Студент Михаил вне форума Ответить с цитированием
Старый 18.12.2013, 08:15   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
t := 1/a;
sum := 0;
for i := 1 to n do begin
    sum := sum+t;
    t := t*t
end
Poma][a вне форума Ответить с цитированием
Старый 18.12.2013, 12:58   #4
neolanta
Новичок
Джуниор
 
Регистрация: 17.12.2013
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Студент Михаил Посмотреть сообщение
Я правда не додумал как можно сделать первый член (a^-1) сделать в формуле. Поэтому примерно так. Дальше может сам(-а) додумаешь.
P.s. Степень делал через экспоненты так как паскаль не воспринимал "^".
Код:
program qwer;
var
a,n,i: integer;
sum: real;
begin
writeln('Введите n');
readln (n);
writeln('Введите а');
readln(a);
sum:=exp(-1*ln(a));
for i:=1 to n do begin
sum:=sum+exp(i*exp(-2*ln(a)));
end;
writeln(sum);
end.
Спасибо большое
neolanta вне форума Ответить с цитированием
Старый 18.12.2013, 13:11   #5
neolanta
Новичок
Джуниор
 
Регистрация: 17.12.2013
Сообщений: 19
По умолчанию

У меня получилось так. Спс Вам за помощь.
PROGRAM PR;
USES CRT;
VAR N,I,A,:INTEGER;
s:REAL;
BEGIN
CLRSCR;
WRITELN('INPUT N');READLN(N);
WRITELN('INPUT A');READLN(A);
s:=0;
FOR I:=1 TO N DO BEGIN
S:=S+1/(exp(exp(i*ln(2))*ln(a)));
END;
WRITELN(S+1/a:2:4);
READKEY;
END.

Последний раз редактировалось neolanta; 18.12.2013 в 13:30.
neolanta вне форума Ответить с цитированием
Старый 18.12.2013, 13:24   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от neolanta
У меня получилось так.
О! Дело ваше, конечно.
Это, конечно, хорошо, но что же Вы не воспользовались кодом Poma][a из пост #3 ?!

На мой взгляд он намного короче, проще, понятнее, эффективней.
Да и красивее, в конце концов!

или Вы в нём не разобрались?!
или забыли, что такое отрицательная степень? ( что A в степени -K, это единица, делённая на A в степени K )?
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возведение в степень XYLIGANXYL Общие вопросы по Java, Java SE, Kotlin 7 17.09.2016 15:20
возведение в степень [CODER] Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 14.04.2014 10:18
Возведение в степень Dima-War Общие вопросы C/C++ 7 18.03.2012 09:37
возведение в степень ILNARM Паскаль, Turbo Pascal, PascalABC.NET 16 16.10.2009 23:04
возведение в степень Lissisa Помощь студентам 1 21.03.2009 22:34