Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка на дробность! Как проверить дробное ли число!? 
:(
    Опции темы
Nookie
  Дата 18.7.2005, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.7.2005
Где: Россия, Москва

Репутация: нет
Всего: нет



Есть ли в perl такие функцие, которые возвращают остаток от деления или целую чать!?
как проверить дробное ли число?? smile
--------------------
Хочу знать все!!!
PM MAIL ICQ Skype   Вверх
sharq
Дата 18.7.2005, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



Nookie да есть.
Обычное деление:
Код
my $a = $b / $c;

Деление с остатком:
Код
my $a = $b % $c


smile

Это сообщение отредактировал(а) sharq - 19.7.2005, 14:38


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
Nookie
Дата 19.7.2005, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.7.2005
Где: Россия, Москва

Репутация: нет
Всего: нет



Спасибо!
--------------------
Хочу знать все!!!
PM MAIL ICQ Skype   Вверх
Nookie
Дата 19.7.2005, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.7.2005
Где: Россия, Москва

Репутация: нет
Всего: нет



Еще вопрос, как в ходе выполнения программы очистить экран? smile
--------------------
Хочу знать все!!!
PM MAIL ICQ Skype   Вверх
chaos
Дата 19.7.2005, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 6
Всего: 44



Добавлено @ 11:46
Цитата(Nookie @ 18.7.2005, 21:20)
Есть ли в perl такие функцие, которые возвращают остаток от деления или целую чать!?
как проверить дробное ли число?? smile

так наверное правельней будет
Код

#!/usr/bin/perl -w
use strict;

my $a = 2.71;
0 != ($a - int($a)) ? print "drob\n" : print "non drob\n";

чем предложил sharq , хотя на вкус и цвет...

Цитата(Nookie @ 19.7.2005, 10:41)
Еще вопрос, как в ходе выполнения программы очистить экран? smile

system('cls'); для винды
system('clear'); для никсов

Это сообщение отредактировал(а) chaos - 19.7.2005, 12:28
PM WWW   Вверх
chaos
Дата 19.7.2005, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 6
Всего: 44



нравится мне еще для никсов использовать эскей-последовательности для этих целей(установка позиции курсора, задание цвета и атрибутов текста...)

вот пример отчистки экрана(для виндов вроде не работает)
Код

#!/usr/bin/perl 

print "blablabla";
clrscr();

sub clrscr {
  print "\x1B[2J";
  print "\x1B[0;0f";
}


Цитата
Перемещение курсора

Esc[nA вверх на n строк 
Esc[nB или Esc[ne вниз на n строк 
Esc[nC или Esc[na вправо на n позиций 
Esc[nD влево на n позиций 

Esc[nE в начало строки и на n строк вниз 
Esc[nF в начало строки и на n строк вверх 

Esc[n1;n2f или Esc[n1;n2H переместить в позицию n1 и строку n2 

Esc[nZ на n табуляций назад (как Tab, но в обратную сторону) 
Esc[n` в той же строке в позицию n 
Esc[nd в той же позиции в строку n 

EscM сдвинуть курсор на строчку вверх, если он был в самой верхней строке, то сдвинуть содержимое экрана на строчку вниз (то же самое, что делает NewLine, только "вверх ногами") 

Очистка части экрана

Esc[0J от курсора до конца экрана 
Esc[1J от начала экрана до курсора 
Esc[2J весь экран 

Esc[0K от курсора до конца строки 
Esc[1K от начала строки до курсора 
Esc[2K всю строку 

Esc[nX очистить n знаков от позиции курсора 

"Раздвижка", "сдвижка", "прокрутка"

Esc[nL вставить n пустых строк (те, что были - раздвинуть) 
Esc[nM удалить n строк (те, что остались - "схлопнуть") 
Esc[nP удалить n знаков в строке (те, что остались - "схлопнуть") 
Esc[n@ вставить n знаков в строку (те, что были - раздвинуть) 

Esc[nS "прокрутить" содержимое экрана на n строк вверх 
Esc[nT "прокрутить" содержимое экрана на n строк вниз 

Изменение атрибутов и цветов
(влияет только на те символы, которые будут выводиться после этой команды) 
Esc[nm установить атрибуты 

n = 0 сброс всех атрибутов, цвет фона и символов устанавливается в "базовый" (смотри Esc=nF и Esc=nG ниже) 
n = 1 повышенная яркость 
n = 4 подчеркнутые символы (не все видеокарты это могут) 
n = 5 мигание 
n = 7 "реверс" (темные буквы на белом фоне) 
n = 30+n1 установить цвет фона n1 
n = 40+n1 установить цвет символов n1 

Escn1;n2;...m установить сразу несколько атрибутов 

Esc[x или Esc[0x сбросить все атрибуты и цвета, в том числе "базовые" 
Esc[1;nx n = цвет фона 
Esc[2;nx n = цвет символов 
Esc[3;nx n = (цвет фона)*16 + цвет символов 
Esc[5;nx n = цвет фона для "реверса" 
Esc[6;nx n = цвет символов для "реверса" 
Esc[7;nx n = (цвет фона)*16 + цвет символов, для "реверса" 

Esc[=nF n = цвет фона и "базовый" цвет фона 
Esc[=nG n = цвет символов и "базовый" цвет символов 
Esc[=nH n = цвет фона для "реверса" (то же, что и Esc[5;nx) 
Esc[=nI n = цвет символов для "реверса" (то же, что и Esc[6;nx) 

Esc[=nA n = цвет "бордюра" (по краям экрана). 

Другие команды

Esc[nz переключится в виртуальный терминал n 

Esc[=n1;n2B установить параметры "пищалки" 
n1 = частота (точнее, делитель для частоты) 
n2 = длительность 
(стандартные значения - 800;1) 
влияет на "писк", который получается при выводе символа Bell - 7, 
параметры свои для каждого "виртуального терминала" 

Esc[=nC тип курсора (действует на все "виртуальные терминалы") 
в n младший бит определяет "мерцание" (1 - да, 0 - нет) 
следующий бит - тип курсора ("аппаратный" - 0/"символьный" - 1) 

Esc[=n1;n2C форма "символьного" курсора (для каждого "виртуального терминала"своя) 
"закрашиваются" строчки с n1 по n2 (начиная сверху) в матрице знака, которым рисуется курсор 


Это сообщение отредактировал(а) chaos - 19.7.2005, 12:09
PM WWW   Вверх
rcdimon
Дата 14.8.2005, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: 1
Всего: 2



Проверить можно очень просто. Сравнить число и его целую часть по int() Если они равны- значит не дробное, а если само число больше- то дробное

if ($a == int($a)){
print 'Целое';
} else {
print 'Дробное';
}
PM MAIL ICQ   Вверх
korob2001
Дата 14.8.2005, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Можно просто отнять от числа его целую часть, т.е.:
Код

if ( $a - int( $a ) ) {
     print "Не целое";
} else {
     print "Целое";
}



--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
chaos
Дата 15.8.2005, 06:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 6
Всего: 44



Цитата(korob2001 @ 14.8.2005, 21:34)
Можно просто отнять от числа его целую часть, т.е.:
Код

if ( $a - int( $a ) ) {
     print "Не целое";
} else {
     print "Целое";
}

было уже smile http://forum.vingrad.ru/index.php?showtopi...ndpost&p=471442
PM WWW   Вверх
korob2001
Дата 15.8.2005, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Опс, извиняюсь, не заметил. smile


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0512 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.