Помощь - Поиск - Пользователи - Календарь
Полная версия: Нужна помощь в составлении программы Pascal ABC
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
alyonka_k
Правильно ли составлена программа?
Вычислите значение выражения ln(x+ln(x+ln(x+...ln(x)...))),x>0,(n скобок)

program log_nat;

var
x, a, log: real; i, n: byte;

begin
write('Введите x(>0) - '); read(x);
write('Введите целое число n>0 - ');read(n);
a := ln(x);
for i := 1 to n do
log := ln(x + ln(a));
writeln('Ответ: ', log)
end.


Не забываем заключать код программы в соответствующие теги!
Федосеев Павел
Наерное, неправильно.
  log:=ln(x);
for i:=1 to n-1 do
log:=ln(x+log);

alyonka_k
Спасибо. А вот это:

Вычислить сумму ряда, используя цикл while. Вычисление
слагаемых выполнять, используя рекуррентные отношения cos x/a+cos^2 x/3a+
+cos^3 x/5a+... с точностью е.

program sum_ryad_whl;

const
e = 0.0001;

var
sum, f, x, d: real; a, m: integer;

begin
write('Введите значение x--> '); read(x);
write('Введите значение a(<>0)--> '); read(a);
sum := 0; f := cos(x); m := a; d := f / m;
while d >= e do
begin
sum := sum + d; f := f * cos(x); m := m + 2 * m; d := f / m;
end;
writeln('Ответ:', sum:9:4);
end.
Гость
Опять нет

sum := 0;
CosX := cos(x);
f:=CosX/a;
m := 1.0;
d := f / m;
while d >= e do
begin
sum := sum + d;
f := f * CosX;
m := m + 2.0;
d := f / m;
end;

alyonka_k
А почему m:=1.0 , а не просто 1?
Федосеев Павел
Пусть будет просто "1".
alyonka_k
Спасибо, Вы мне очень помогли!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.