![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Grinnchik |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 1 Пол: Мужской Реальное имя: Григорий Репутация: ![]() ![]() ![]() |
Вообщем задали в школе задачу по паскалю.Там нужно ввести границы диапазона с клавы и потом еще 3 числа (тип real) нужно вообщем написать какие числа проходят по диапазону,какое первое отрицательное/положительное,с этим я справился,а вот еще нужно определить сколько целых чисел и вывести.С этим проблема.Как переменные типа real проверить на целость?Mod как я понял не подходит.Задача для 10 класса,не предлагайте сложных решений пожалуйста.Спасибо заранее.
|
![]() ![]() |
TarasBer |
![]()
Сообщение
#2
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я так понял, автору надо узнать, сколько целых на диапазоне?
Тогда проверка числа на целость не поможет. Ну не будете же вы перебирать все вещественные числа в диапазоне и проверять их на целость. В диапазоне от a до b целых чисел ровно down(b)-up(a)+1 где down ищет ближайшее целое снизу, а up - ближайшее целое сверху. Таких функций стандартных нету, но их можно написать, используя round
function down(x: real): integer;
var
r: integer;
begin
r := round(x);
if r>x then r:=r-1;
down := r;
end;
function up(x: real): integer;
var
r: integer;
begin
r := round(x);
if r<x then r:=r+1;
up := r;
end;
-------------------- |
![]() ![]() |
![]() |
Текстовая версия | 29.04.2025 11:39 |