Паскаль. Без помощи знака + написать код для сложения двух цифр. Спасибо.

0 голосов
16 просмотров

Паскаль. Без помощи знака + написать код для сложения двух цифр. Спасибо.


Информатика (17 баллов) | 16 просмотров
0

Задание для извращенцев? Сумматор всегда входит в состав любого процессора и любые попытки выполнить сложение иначе лишь усложнят получение результата.

Дан 1 ответ
0 голосов

//Pascal
//Первый вариант
var a, b:integer;
BEGIN
  write('Введите первое число = '); readln(a);
  write('Введите второе число = '); readln(b);
  writeln(a-(-b));
END.


//---------------------------------------
//Второй вариант
function recSumBits(a, b:integer):integer;
var o1, o2: integer;
begin
  if b = 0 then recSumBits := a
  else
  begin
    o1 := a xor b;
    o2 := (a and b) shl 1;
    recSumBits := recSumBits(o1, o2);
  end;
end;

var a, b: integer;
BEGIN
  write('Введите первое число = '); readln(a);
  write('Введите второе число = '); readln(b);
  writeln(recSumBits(a, b));
  readln;
END.


image
(9.4k баллов)