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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2013, 00:22   #1
Skipper Ok
Пользователь
 
Аватар для Skipper Ok
 
Регистрация: 08.11.2013
Сообщений: 23
По умолчанию Помогите! Правильно ли я написал программу на языке Pascal. Функции и процедуры.

Код:
program lab3_8variant;
var
x,result:real;
function solve(x:real):real;
begin
  solve:=x-(sqr(x)/2)+((sqr(x)*x)/3)-((sqr(x)*sqr(x))/4)+((sqr(x)*sqr(x)*x)/5);
end;
procedure init;
begin
writeln('Enter the number between 0 and 10: ');
read(x);
while (x<0) or (x>10) do
begin
    writeln('Error! Enter the numbers between 0 and 10');
read(x);
end;
end;
procedure answer;
begin
result:=solve(x);
writeln('ln(1+',x,') = ',result);
end;
begin
init();
answer();
end.
Само задание:
Изображения
Тип файла: jpg 45.jpg (31.8 Кб, 135 просмотров)
Skipper Ok вне форума Ответить с цитированием
Старый 14.11.2013, 00:50   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

А что, запускать не пробовали?
После
Код:
writeln('ln(1+',x,') = ',result);
добавьте
Код:
Readln;
чтобы окошко сразу не закрылось.

PS А если бы надо было не 5 членов использовать, а 50 например?
type_Oleg вне форума Ответить с цитированием
Старый 14.11.2013, 01:01   #3
Skipper Ok
Пользователь
 
Аватар для Skipper Ok
 
Регистрация: 08.11.2013
Сообщений: 23
По умолчанию

Дело в том, что после компиляции, после запуска самой программы... допустим я даю x значение 1, следовательно ln(1+1) программа выдает значение 0.7833333, я считаю сам, ответ иным выходит, то же самое значение, придав x, посчитав выходит 0,6931471, разница небольшая, но может быть, что я что-то не так написал?!

После добавления:
Код:
readln;
тот же результат, как и первоначально выводит
Skipper Ok вне форума Ответить с цитированием
Старый 14.11.2013, 01:13   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Нет, на самом деле ln(2) = 0.693147181, по приближенной формуле с 5-ю слагаемыми 0.783333333.
Сами проверьте на калькуляторе или Excel.

То есть считает правильно. Только зачем параметры передавать через глобальные переменные? Или такое задание было?
Можно же что-то типа procedure init(var x:real); ... и т.д.
type_Oleg вне форума Ответить с цитированием
Старый 14.11.2013, 01:36   #5
Skipper Ok
Пользователь
 
Аватар для Skipper Ok
 
Регистрация: 08.11.2013
Сообщений: 23
По умолчанию

Спасибо! я что-то сам не догадался... Да я начинающий, поэтому так пока понятнее для себя пишу, хотя, так больше вероятность допустить ошибки!
Skipper Ok вне форума Ответить с цитированием
Старый 14.11.2013, 05:19   #6
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Цитата:
readln;

тот же результат, как и первоначально выводит
readln никак не влияет на результат.
это ожидание ввода с клавиатуры, для того чтобы можно было посмотреть результат после выполнения.
обычно его вешают в конце мэин функции,после всех выводов.
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Qt Creator правильно ли написал программу mugik770 Помощь студентам 0 31.08.2012 18:40
Составить программу на языке Turbo Pascal 7.0 вычисления значения интеграла на интервале [a, b] для функции, заданной графически. Маленыч Паскаль, Turbo Pascal, PascalABC.NET 2 15.05.2012 23:34
Задача на языке паскаль по разделу процедуры и функции помогите Runner Помощь студентам 1 13.11.2009 01:22
Написал программу, помогите натянуть Шейдеры или как нибудь модифицировать программу WMLite Паскаль, Turbo Pascal, PascalABC.NET 0 16.06.2009 13:57
Помогите разобраться... Написал программу Neset Работа с сетью в Delphi 3 26.02.2009 11:39