Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Порядок числа


Автор: AKRAS 2.11.2008, 02:38
Помогите решить зачку. Вот что надо сделать:

Разработать программу, которая определяет порядок целого положительного числа ( определяет количество цифр в числе).

помогите пожалуста просто я заочник но хочу понять все зарание спасибо

Автор: Virtuals 2.11.2008, 09:04
AKRAS, выполнить целочисленное деление (div) на 10 (если у вас десятичная система счисления, хотя данный способ подходит для любой системы), если не 0 прибавляем 1 к порядку, и так в цикле пока не станет 0

Код

if a<>0 then poriadok:=1 else poriadok:=0
..
a:=a div 10
if a<>0 then inc(poriadok)
..

Автор: Ofer 2.11.2008, 16:27
Цитата(AKRAS @  2.11.2008,  02:38 Найти цитируемый пост)
которая определяет порядок целого положительного числа


Не мешало бы еще проверить являеться ли число положительным

Код

if a > 0 then
...

Автор: Virtuals 2.11.2008, 18:15
Ofer, а нафига? ну попробуй проверь smile с отрицательным smile в моем примере это пофигу

Автор: AKRAS 4.11.2008, 02:59
   Спасибо вот еще проблема написал код:

Program zadanie _1;
uses Crt;
const x=0.12345;a=0.45;
var E:integer;
   begin
    clrscr;
   writeln('tocnost->');
   readln('y=',a/sqr(x)+exp(x)+(arctan(a*x)*0.5));
end.

  Компелирую программу выдает ошыбку:

20: Variable indentifier expected 
посмотрел в книге Ожидается индефикатор переменной) как исправить незнаю и что это такое подскажыте и если можите исправте зарание спасибо

Автор: volvo877 4.11.2008, 03:23
AKRAS, это как связано с "порядком числа"? Или ты намерен сделать из темы свалку?

Следующие вопросы задавай в новых темах...

P.S. Нет в Паскале функции SPR, есть SQR. Это во первых. Во-вторых, ты не можешь ЧИТАТЬ эту формулу, ее можно только ЗАПИСАТЬ (writeln вместо readln)... Ну, и наверное, точность надо-таки ввести? Не просто же так E объявлена? Правда зачем - непонятно...

Автор: AKRAS 4.11.2008, 13:43
это нам  препод так написал да я допустил sqr уже исправил все равно не роботает а на его копеляторе роботает

Добавлено через 7 минут и 3 секунды
а за тему извини я ее для себя создал пока под учусь потом удалю и буду сублюдать правила а тебе спасибо за понимание smile 

Автор: AKRAS 5.11.2008, 22:02
y=f(x) в точке х0 с точностью есть. Входные данные Xo и а содержатся в самой программе, точность вводится из клавиатуры. Значение PI принять ровным PI = 3.1415926.
Xo=0,12345;   a=0,45; есть =0.00001
формула: y=a/x*x+exp(x)+(arctan(a*x) *0.5*a))
Помогите ее решить зарание спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)