Предмет: Информатика, автор: nastyagordeeva14

Помогите, пожалуйста, решить следующие задачи в Паскале. 8 класс
1) заданы четыре попарно не равных числа. Найти сумму наибольшего и наименьшего чисел.
2) задано трехзначное число. Если оно четно, поделить его на 2, в противном случае определить, можно ли переставить цифры числа так, чтобы число стало четным.
Если можно, то переставить, иначе вывести «НЕЛЬЗЯ СДЕЛАТЬ ЧЕТНЫМ»

Ответы

Автор ответа: Роторог
1

Задача 1

procedure swp(var n, m: integer);

var

 tmp: integer;

begin

 tmp := n;

 n := m;

 m := tmp;

end;

var

 a, b, c, d, i: integer;

begin

 writeln('Пожалуйста, введите четыре числа через пробел:');

 readln(a, b, c, d);

 if a > b then swp(a, b);

 if c > d then swp(c, d);

 if c < a then

   if d < a then begin swp(a, c); swp(d, b); end

   else if d > b then begin swp(b, c); swp(a, b); end

   else begin swap(b, d); swp(c, b); swp(a, b); end

 else

 if d < b then begin swp(c, d); swp(b, d); end

 else if c < b then swp(b, c);  

 writeln('Сумма наименьшего и наибольшего: ', a + d);

end.

Задача 2

var

 n: integer;

begin

 writeln('Введите число: ');

 readln(n);

 if n mod 2 = 0 then

   writeln('Число чётное. Число, поделеное на 2: ', n div 2)

 else

 if (n div 10 mod 10 mod 2 = 0) then

   writeln('Число нечётное, но его можно сделать чётным перестановкой цифр: ', n div 100 * 100 + n mod 10 * 10 + n div 10 mod 10)

 else if (n div 100 mod 2 = 0) then

   writeln('Число нечётное, но его можно сделать чётным перестановкой цифр: ', n mod 10 * 100 + n div 10 mod 10 * 10 + n div 100)

 else writeln('Нельзя сделать чётным');

end.


Роторог: Можно лучший, пожалуйста?
Похожие вопросы
Предмет: Математика, автор: evelinaaverina
Предмет: Алгебра, автор: ViktoriyaBaranova