Turbo Pascal - однако нужен help

Ответить
Vlado597
Новичок
Сообщения: 11
Зарегистрирован: Вт мар 29, 2011 9:45 pm
Откуда: Москва
Контактная информация:

Turbo Pascal - однако нужен help

Сообщение Vlado597 » Вс апр 03, 2011 6:50 pm

Сделал прогу в паскале, делит одно число на другое. вот тело:

Код: Выделить всё

program example;
var
x: integer;
y: integer;
z: real;

begin
writeln('Делимое:');
read(x);
writeln('Делитель:');
read(y);
z:=x/y;
writeln('Результат: ',z);
end.
Получается вот такая хрень:

(Задали значения Х и У)
X=4
Y=2

Ответ получается: 2.000000000Е0000 (скока точно нулей - хз =) )

Как бы сделать из инженерной записи в обычую (чтоб было 123.456 , а не 12345.60000E-0003) ?

Аватара пользователя
blackstrip
Админ
Сообщения: 967
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: Turbo Pascal - однако нужен help

Сообщение blackstrip » Вс апр 03, 2011 7:59 pm

у WriteLn указать формат можно

writeln('Результат: ',z:5:2) выведет 2.00

5:2 - это 5 мест под символы, включая знак (плюс или минус) и точку. Из них 2 под цифры дробной части.

"-Ц.ДД" - 5 мест, где Ц - целая часть, Д - дробная, а вместо минуса у нас выводится плюс, который не отображается просто.

Vlado597
Новичок
Сообщения: 11
Зарегистрирован: Вт мар 29, 2011 9:45 pm
Откуда: Москва
Контактная информация:

Re: Turbo Pascal - однако нужен help

Сообщение Vlado597 » Пн апр 04, 2011 5:05 pm

а если ответ получится с кучей цифр под знаком? я ж не знаю, какие цифры будет юзер вводить =)

Аватара пользователя
blackstrip
Админ
Сообщения: 967
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: Turbo Pascal - однако нужен help

Сообщение blackstrip » Пн апр 04, 2011 11:24 pm

ну если с кучей цифр до запятой - то введи z:10:3, пусть будет выделено 10 мест под целые.

а если с кучей после - то все равно все языки обрезают дробные числа. нельзя получить истинное дробное число, например, 10/3 - всегда получится 3,33333.... и вот сколько будет троек после запятой - зависит от используемого типа данных. там бывают single, double и прочие (помимо общего real). в помощи турбопаскаля они описаны (Help-Index выбери и там найди например Real, и там где то будет таблица типов дробных данных и сколько у каждого из них чисел после запятой).

если надо поточней ну вводи z:10:10 и норм. я думаю если получится 2,3500000 - то оно скорей всего само обрежется и выведется как 2,35, нули не будут выводиться.

Аватара пользователя
kp1408
Новичок
Сообщения: 13
Зарегистрирован: Пт дек 10, 2010 7:09 pm

Re: Turbo Pascal - однако нужен help

Сообщение kp1408 » Вт апр 05, 2011 10:18 am

Попробуй slash другой поставить :)

Vlado597
Новичок
Сообщения: 11
Зарегистрирован: Вт мар 29, 2011 9:45 pm
Откуда: Москва
Контактная информация:

Re: Turbo Pascal - однако нужен help

Сообщение Vlado597 » Ср июл 13, 2011 2:45 pm

если надо поточней ну вводи z:10:10 и норм. я думаю если получится 2,3500000 - то оно скорей всего само обрежется и выведется как 2,35, нули не будут выводиться.
ну вот этого я не наблюдаю, мой паскаль: turbo pascal 7
Попробуй slash другой поставить
а вот это что такое?))

йа_лямэр)

Аватара пользователя
blackstrip
Админ
Сообщения: 967
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: Turbo Pascal - однако нужен help

Сообщение blackstrip » Ср июл 13, 2011 10:12 pm

ну он имел про слеш ввиду что вместо

z:=x/y;

написать

z:=x\y;

в некоторых языках другим слешем обозначают целочисленное деление. типа 5/2=2.5, а вот 5\2=2
но в паскалях вроде ж для этого есть div (целочисленное деление). а еще mod (остаток от деления).

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость