На этой странице дано решение примеров If1 - If8 из задачника Абрамяна, в которых рассматриваем вопрос сравнения чисел.
If1. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число.
var
N: integer;
begin
writeln('Ведите целое число:');
readln(N);
{ Положительное увеличиваем N на 1: }
if N > 0 then inc(N);
writeln('Результат: ', N);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**procedure** Inc(**var** i: integer);
: Увеличивает значение переменной i на 1 If2. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2. Вывести полученное число.
var
N: integer;
begin
writeln('Ведите целое число:');
readln(N);
if N > 0 then N := N + 1 { <== Увеличиваем на 1 }
else N := N - 2; { <== Уменьшаем N на 2 }
writeln('Результат: ', N);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647 If3. Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то вычесть из него 2; если нулевым, то заменить его на 10. Вывести полученное число.
var
N: integer;
begin
writeln('Ведите целое число:');
readln(N);
if N > 0 then inc(N) { <== Увеличиваем на 1 }
else
if N < 0 then N := N - 2 { <== Уменьшаем на 2 }
else N := 10; { <== Заменяем на 10 }
writeln('Результат: ', N);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**procedure** Inc(**var** i: integer);
: Увеличивает значение переменной i на 1 If4. Даны три целых числа. Найти количество положительных чисел в исходном наборе.
var
a, b, c: integer;
k: byte; { <-- количество положительных чисел }
begin
writeln('Ведите три целых числа:');
readln(a, b, c);
k := 0; { <-- положительных чисел нет (еще не проверяли) }
{ Если число положительное, то увеличиваем k на единицу: }
if a > 0 then inc(k); { <== одно положительное число }
if b > 0 then inc(k); { <== ещё одно положительное число }
if c > 0 then inc(k); { <== ещё одно положительное число }
writeln; { <-- пропускаем строчку }
{ Выводим результат в зависимости от k: }
if k = 0 then writeln('Нет положительных')
else writeln('Количество положительных: ', k);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**procedure** Inc(**var** i: integer);
: Увеличивает значение переменной i на 1**procedure** Inc(**var** i: integer);
: Увеличивает значение переменной i на 1**procedure** Inc(**var** i: integer);
: Увеличивает значение переменной i на 1 If5. Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.
var
a, b, c: integer;
p, m: byte; { количество положительных и отрицательных
чисел (p и m соответственно) }
begin
writeln('Ведите три целых числа:');
readln(a, b, c);
p := 0; { <-- положительных чисел пока нет }
m := 0; { <-- отрицательных чисел тоже нет }
{ Если число положительное, то увеличиваем k на единицу: }
if a > 0 then inc(p) { <== одно положительное число }
else
if a < 0 then inc(m); { <== одно отрицательное число }
if b > 0 then inc(p) { <== второе положительное число }
else
if b < 0 then inc(m); { <== второе отрицательное число }
if c > 0 then inc(p) { <== третье положительное число }
else
if c < 0 then inc(m); { <== третье отрицательное число }
writeln; { <-- пропускаем строчку }
{ Выводим положительные числа: }
if p > 0 then writeln('Количество положительных: ', p)
else writeln('Нет положительных ');
if m > 0 then writeln('Количество отрицательных: ', m)
else writeln('Нет отрицательных');
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**procedure** Inc(**var** i: integer);
: Увеличивает значение переменной i на 1**procedure** Inc(**var** i: integer);
: Увеличивает значение переменной i на 1**procedure** Inc(**var** i: integer);
: Увеличивает значение переменной i на 1**procedure** Inc(**var** i: integer);
: Увеличивает значение переменной i на 1**procedure** Inc(**var** i: integer);
: Увеличивает значение переменной i на 1**procedure** Inc(**var** i: integer);
: Увеличивает значение переменной i на 1 If6. Даны два числа. Вывести большее из них.
var
a, b: real;
begin
writeln('Введите два числа:');
readln(a, b);
if a = b then writeln('Эти числа равны')
else begin
write('Большее из этих чисел: ');
if a < b then writeln(b)
else writeln(a)
end;
readln
end.
**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 If7. Даны два числа. Вывести порядковый номер меньшего из них.
var
a, b: real;
begin
writeln('Введите два числа:');
readln(a, b);
{ Меньшему числу присваиваем его номер: }
write('Порядковый номер меньшего числа: ');
if a < b then writeln(1)
else writeln(2);
readln
end.
**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 Второй вариант решения:
var
a, b: real;
begin
writeln('Введите два числа:');
readln(a, b);
{ Поскольку логический тип порядковый, для которого False<True,
а порядок Ord(False)=0, Ord(True)=1, то при ложности a>b будет
ord(a>b)+1=1, а при истинности получим ord(a>b)+1=2: }
write('Порядковый номер меньшего числа: ', ord(a > b) + 1);
readln
end.
**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308**function** Ord(a: boolean): integer;
: Возвращает порядковый номер значения a If8. Даны два числа. Вывести вначале большее, а затем меньшее из них.
var
a, b: real;
begin
writeln('Введите два числа:');
readln(a, b);
writeln('Числа в порядке убывания:');
if a > b then writeln(a, ' ', b)
else writeln(b, ' ', a);
readln
end.
**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308