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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2008, 14:31   #1
RiF
 
Регистрация: 14.12.2008
Сообщений: 7
Вопрос знаки после запятой

Задание вычислить сумму элементов по формуле (ее писать не охота) с заданной точностью. вроде все сделал:
Код:
program z4z2;
uses crt;
var y:real;
    k,x,e:integer;

function fact(n:integer):longint;      {Podprogramma scheta factoriala}
var f,i: integer;
begin
f:=1;
for i:=1 to n do f:=f*i;
fact:=f;
end;

function degree(z:real;n:integer):real;{Podprogramma sheta Z v stepeni N}
var i:integer;
    deg:real;
begin
deg:=z;
for i:=2 to n do deg:=deg*z;
degree:=deg;
if n=0 then degree:=1;
end;

begin
clrscr;
y:=0;k:=0;
write('Vvedite trebuemuyu tochnost e = ');readln(e);
write('Vvedite peremennuyu X = ');readln(x);
repeat
y:=y+(degree(-1,k))*((degree(x,2*k))/(fact(2*k)));
writeln(y);
inc(k);
until (keypressed)or(k>8);

writeln('Najmite lubuyu klavishu dlya vihoda');
readkey;readkey;
end.
только вот вместо кейпрессед надо выход по достижению количества знаков после запятой.Это все еще на отладочной стадии. как посчитать число знаков после запятой переменной типа реал?

Последний раз редактировалось Stilet; 14.12.2008 в 14:34.
RiF вне форума Ответить с цитированием
Старый 14.12.2008, 14:37   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
как посчитать число знаков после запятой переменной типа реал?
Два варианта:
1) Превратить real в string и посчитать кол-во символов после запятой.
2) Вводить число посимвольно через например readkey и по достижении определенного кол-ва символов после введения запятой превращать его в real

Я бы вторымс вариантом воспользовался
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.12.2008, 14:47   #3
RiF
 
Регистрация: 14.12.2008
Сообщений: 7
По умолчанию

в том то и дело что сравнение нужно в теле цикла. число считается а не вводится с клавы.
RiF вне форума Ответить с цитированием
Старый 14.12.2008, 15:01   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Так подожди тебе точность нужно проверять?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.12.2008, 15:27   #5
RiF
 
Регистрация: 14.12.2008
Сообщений: 7
По умолчанию

точность по мнению препода это кол-во знаков после запятой
RiF вне форума Ответить с цитированием
Старый 14.12.2008, 15:33   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну не знаю мы точности считали так:
Код:
while abs(a[i]-a[i-1])>0,001
Здесь 001 и есть точность в знаках. а - текущий и предидущий элементы.

Ну если у тебя препод умного корчит то переводи число в строку (функа Str) и считай кол-во символов после запятой.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.12.2008, 15:34   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

точность это на какой знак после запятой (или до нее) влияет добавление нового элемента.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 14.12.2008, 16:24   #8
RiF
 
Регистрация: 14.12.2008
Сообщений: 7
По умолчанию

формула там такая что каждый шаг суммы увеличивает число знаков после ","
RiF вне форума Ответить с цитированием
Старый 14.12.2008, 16:44   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
каждый шаг суммы увеличивает число знаков после ","
Ха!! Теперь вообще непонятно что за проблема, тебе заранее извесны получается количество шагов, так чего ты паришся тогда?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.12.2008, 08:01   #10
RiF
 
Регистрация: 14.12.2008
Сообщений: 7
По умолчанию

Нет не известно так как появляются знаки непропорционально
RiF вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление не нужных знаков после запятой. Alar Общие вопросы Delphi 4 31.05.2012 19:59
кол-во знаков после запятой в TEdit Petrucci Общие вопросы Delphi 9 04.07.2008 13:15
Количество цифр после запятой LIEN БД в Delphi 7 03.07.2008 22:12
Сокращение после запятой Romuald Microsoft Office Excel 21 18.12.2007 10:32
Ограничение знаков после запятой,StringGrid Gorin Компоненты Delphi 9 20.09.2007 16:10