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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 22.12.2008, 22:44   #1
Наталья111
Пользователь
 
Регистрация: 22.12.2008
Сообщений: 59
Вопрос Вычислить значение f(x)=x+lnx в заданной точке.

в паскале:
Вычислить значение f(x)=x+ln(x). Вывести на печать таблицу из 5 значений функции.
Я написала код программы для первой части, вот он:

function Inln(x:real):real;

begin
Inln:=ln(x);
end;

var
a,x,y:real;
begin
writeln('Vvedite x');
readln(x);
a:=ln(x);
y:=x+a;
writeln('LN',a:6:3);
writeln('f(x)', y:6:3);

readln;
end.

Подскажите пожалуйста как вывести на печать таблицу из 5 значений функции? Что здесь имеется введу? Из одного введенного числа или надо вводить пять значений х и оформить их в виде таблицы?
Наталья111 вне форума   Ответить с цитированием
Старый 22.12.2008, 22:46   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Наталья111 Думаю, имеется в виду, что надо вводить 5 значений.
А потом как-то так:
Код:
writeln(' x      f(x) ');
for i:=1 to 5 do
 writeln(x,'    ',y);

Последний раз редактировалось Sazary; 22.12.2008 в 22:51.
Sazary вне форума   Ответить с цитированием
Старый 22.12.2008, 23:17   #3
Наталья111
Пользователь
 
Регистрация: 22.12.2008
Сообщений: 59
По умолчанию

а можете пожалуйста подправить мой код, а то что то я не соображу. ПОЖАЛУЙСТА!
Наталья111 вне форума   Ответить с цитированием
Старый 22.12.2008, 23:27   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Как-то так:
Код:
var
a:real;
x,y : array[1..5] of real;
i : integer;

begin
for i:=1 to 5 do
 begin
 writeln('Vvedite x',i);
 readln(x[i]);
 a:=ln(x[i]);
 y[i]:=x[i]+a;
 end;

writeln('    x     f(x)   ln(x)');
for i:=1 to 5 do
 writeln(x[i]:7:3,y[i]:7:3,(ln(x[i])):7:3);

readln;
end.
Sazary вне форума   Ответить с цитированием
Старый 22.12.2008, 23:42   #5
Наталья111
Пользователь
 
Регистрация: 22.12.2008
Сообщений: 59
По умолчанию

Sazary Спасибо тебе ОГРОМНОЕ!!!!!!
Наталья111 вне форума   Ответить с цитированием
Старый 23.12.2008, 10:10   #6
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

Код:
var
a:real;
x,y : array[1..5] of real;
i : integer;

begin
writeln('    x     f(x)   ln(x)');
for i:=1 to 5 do
 begin
 writeln('Vvedite x',i);
 readln(x[i]);
 a:=ln(x[i]);
 y[i]:=x[i]+a;
 writeln(x[i]:7:3,y[i]:7:3,a:7:3);
 end;

readln;
end.
Если идти в сторону быстродействия Сократим количество циклов И уберем повторное вычисление натурала
capta1n вне форума   Ответить с цитированием
Старый 23.12.2008, 13:33   #7
Наталья111
Пользователь
 
Регистрация: 22.12.2008
Сообщений: 59
По умолчанию

СПАСИБО ОГРОМНОЕ!
Наталья111 вне форума   Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить значение функции Y=F(x) для аргумента x, изменяющегося от xн до xк с шагом изменения Hx. dr.Chas Общие вопросы по программированию, компьютерным наукам 1 12.12.2008 14:58
Вычислить приближенное значение корня asd48 Помощь студентам 9 03.12.2008 22:16
вычислить целую часть произведения синуса от числа образованного заданной цифрой и иследующей за ней на xx__vanya__xx Паскаль, Turbo Pascal, PascalABC.NET 0 13.11.2008 23:46
Движение объекта к точке frai Общие вопросы Delphi 3 10.01.2008 01:42
Вычислить приближенное значение функции Бесселя IsapS Паскаль, Turbo Pascal, PascalABC.NET 5 17.01.2007 11:09