Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Деление. [D7, XP]


WestBronx ©   (2006-02-03 00:59:00) 

Тупой вопрос :)
Имееться переменная, нужно её разделить, к примеру на 182. Далее, как проверить, являеться ли полученное число целым? Если да, то заносим его в integer переменную. Спасибо.


WestBronx   (2006-02-03 01:31:00) [1]

А, всё, допрло %)
Almaz, сеньк ;)


var
Source: Real;
Dest, pwd: Integer;
i_ext: extended;

begin
readln(pwd);
Source := 6;
  if Frac(Source / pwd) = 0 then
   begin
    Dest  := Trunc(Source / pwd);
    i_ext := Source / pwd;
   end;
writeln(FloatToStr(i_ext));
readln;
end.


Almaz   (2006-02-03 01:31:00) [2]


> Вот попытался, при любых значениях val, программа выдаёт
> 238761 =/

Правильно выдает, выводить нужно результат, а не исходное число  ;)

var
Source: Real;
Dest, val: Integer;

begin
readln(val);
Source := 238761;
 if Frac(Source / val) = 0 then
 begin
   Dest := Trunc(Source / val);
   writeln(IntToStr( Dest));
 end;
readln;


Удачи.


WestBronx   (2006-02-03 01:26:00) [3]

Norfolk ©   (03.02.06 01:17) [2]
Инкоминг типс %)
Мне примера хватит.


WestBronx   (2006-02-03 01:24:00) [4]

Несовсем понятно как это работает =/
Вот попытался, при любых значениях val, программа выдаёт 238761 =/

var
Source: Real;
Dest, val: Integer;

begin
readln(val);
Source := 238761;
  if Frac(Source / val) = 0 then
  Dest := Trunc(Source / val);
writeln(FloatToStr(Source));
readln;


Almaz   (2006-02-03 01:23:00) [5]


> 2. Например возьми модуль от полученного числа и сравни
> его с самим числом, если равны, то целое.

Модуль ? :))


Norfolk   (2006-02-03 01:17:00) [6]

Тебе что исходик написать? А у самого ручки не доходят?
1. Имееться переменная, нужно её разделить, к примеру на 182

var
 a, b: integer;
begin
 b := a/182;
end;

Наверное сложно...
2. Например возьми модуль от полученного числа и сравни его с самим числом, если равны, то целое.
3. без коментариев...


Almaz   (2006-02-03 01:12:00) [7]


> Имееться переменная, нужно её разделить, к примеру на 182.
>  Далее, как проверить, являеться ли полученное число целым?
>  Если да, то заносим его в integer переменную. Спасибо.

Если исходная переменная также целая, то проще проверить ее делимость:

var
  Source, Dest: Integer;
...
if Source mod 182 = 0 then
  Dest := Source div 182;


Если же исходная переменная вещественная, то проверять результат деления в помощью функции Frac

var
 Source: Real;
 Dest: Integer;
...
 if Frac(Source / 182) = 0 then
   Dest := Trunc(Source / 182);


Удачи.


Наверх

Титульная страница Поиск, карта сайта Написать письмо