Решение задач блока If 1-10
Решение задач из задачника по программированию М. Э. Абрамяна. Задачи из блока If: «Условный оператор».
Задача If1
Дано целое число. Если оно является положительным, то вычесть из него 8; в противном случае не изменять его. Вывести полученное число.

uses PT4;
var
a: integer;
begin
Task('If1');
Read(a);
if a > 0 then a := a - 8;
Write(a);
end.
PascalЗадача If2
Дано целое число. Если оно является положительным, то вычесть из него 8; в противном случае прибавить к нему 6. Вывести полученное число.

uses PT4;
var
a: integer;
begin
Task('If2');
Read(a);
if a > 0 then a := a - 8
else a := a + 6;
Write(a);
end.
PascalЗадача If3
Дано целое число. Если оно является положительным, то вычесть из него 8; если отрицательным, то прибавить к нему 6; если нулевым, то заменить его на 10. Вывести полученное число.

uses PT4;
var
a: integer;
begin
Task('If3');
Read(a);
if a > 0 then a := a - 8
else if a < 0 then a := a + 6
else a := 10;
Write(a);
end.
PascalЗадача If4
Даны три целых числа. Найти количество положительных чисел в исходном наборе.

uses PT4;
var
a, b, c, k: integer;
begin
Task('If4');
Read(a, b, c);
k := 0;
if a > 0 then k := k + 1;
if b > 0 then k := k + 1;
if c > 0 then k := k + 1;
Write(k);
end.
PascalЗадача If5
Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.

uses PT4;
var
a, b, c, k, n: integer;
begin
Task('If5');
Read(a, b, c);
k := 0; n := 0;
if a > 0 then k := k + 1
else if a < 0 then n := n + 1;
if b > 0 then k := k + 1
else if b < 0 then n := n + 1;
if c > 0 then k := k + 1
else if c < 0 then n := n + 1;
Write(k, n);
end.
Pascaluses PT4;
var
a, b, c, k, n: integer;
begin
Task('If5');
Read(a, b, c);
k := 0; n := 0;
if a > 0 then k := k + 1;
if a < 0 then n := n + 1;
if b > 0 then k := k + 1;
if b < 0 then n := n + 1;
if c > 0 then k := k + 1;
if c < 0 then n := n + 1;
Write(k, n);
end.
PascalЗадача If6
Даны два числа. Вывести большее из них.

uses PT4;
var
a, b: real;
begin
Task('If6');
Read(a, b);
if a > b then Write(a)
else Write(b);
end.
PascalЗадача If7
Даны два числа. Вывести порядковый номер меньшего из них.

uses PT4;
var
a, b: real;
begin
Task('If7');
Read(a, b);
if a < b then Write(1)
else Write(2);
end.
Pascaluses PT4;
var
a, b: real;
k: integer;
begin
Task('If7');
Read(a, b);
if a < b then k := 1
else k := 2;
Write(k);
end.
PascalЗадача If8
Даны два числа. Вывести вначале большее, а затем меньшее из них.

uses PT4;
var
a, b: real;
begin
Task('If8');
Read(a, b);
if a > b then Write(a, b)
else Write(b, a);
end.
Pascaluses PT4;
var
a, b, max, min: real;
begin
Task('If8');
Read(a, b);
if a > b then
begin
max := a;
min := b;
end
else
begin
max := b;
min := a;
end;
Write(max, min);
end.
PascalЗадача If9
Даны две переменные вещественного типа: A, B. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.

uses PT4;
var
a, b, temp: real;
begin
Task('If9');
Read(a, b);
if a > b then begin
temp := a;
a := b;
b := temp;
end;
Write(a, b);
end.
Pascaluses PT4;
var
a, b: real;
begin
Task('If9');
Read(a, b);
if a > b then begin
a := a + b;
b := a - b;
a := a - b;
end;
Write(a, b);
end.
PascalЗадача If10
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.

uses PT4;
var
a, b, sum: integer;
begin
Task('If10');
Read(a, b);
if a <> b then begin
sum := a + b;
a := sum; b := sum;
end else begin
a := 0; b := 0;
end;
Write(a, b);
end.
Pascaluses PT4;
var
a, b, res: integer;
begin
Task('If10');
Read(a, b);
if a <> b then res := a + b
else res := 0;
Write(res, res);
end.
Pascal