CafedeMinou
?>

Три свидетеля дорожного происшествия сообщили сведения о скрывшемся нарушителе. эдгар утверждает, что тот был на чёрном«peugeot», вадим сказал, что нарушитель уехал на синей «audi», а артём показал, что машина была точно не чёрная, и по всей видимости, это был «ford». когда удалось отыскать машину, выяснилось, что каждый из свидетелей точно определил только один из параметров автомобиля. а в другом ошибся, какая и какого цвета была машина у нарушителя?

Информатика

Ответы

ирина Альбертовна
Синея «Peugeot»
Эдгар ошибся с цветом
Вадим с маркой
Артем с маркой
mustaevdmitry397
Обратный код от A это A' = 2^8 - 1 - A = Const - A
Схема вычитания путем суммы обратных кодов справедлива т.к.:
(A - B)' = A' + B'' = (Const - A) + (Const - (Const - B)) = Const - (A - B)

самый левый бит - это бит знака. если там 1 - то число отрицательное. Например, пусть дан обратный код:
F' = 0010 1010, инвертируем биты, получаем:
F = 1101 0101 - смотрим на левую цифру (старший разряд) он равен 1, значит приписываем минус:
F = - (0101 0101) = -85
 
а)
19' = (0001 0011)' = 1110 1100
14' = (0000 1110)' = 1111 0001

F' = 19 - 14 = 19' + 14'' = 19' + 14 = 
1110 1100 +
0000 1110 = 
1111 1010

F = F'' = (1111 1010)' = 0000 0101 = 5

б) F' = 19' + 43''= 
1110 1100 + 
0010 1011 =
0101 0111 (тут переполнение) 

F = 110 1000 = -010 1000 = -24

в) F' = 43 - 25 = 43' + 25'' = 
1101 0100 +
0001 1001 =
1110 1101

F = F'' = (1110 1101)' = 0001 0010 = 18
Александрович833
Решение №1 (без массивов)

var a,n,i,j,s:integer;
begin
  writeln('Введите количество цифр в числе');
  readln(n);
  for i:=1 to n do begin
    writeln('Введите ',i,' цифру из ',n);
    readln(a);
    for j:=1 to n-i do a:=a*10;
    s:=s+a;
  end;
  writeln('Натуральное число: ',s);
end.

Тестовое решение

Введите количество цифр в числе
5
Введите 1 цифру из 5
9
Введите 2 цифру из 5
2
Введите 3 цифру из 5
7
Введите 4 цифру из 5
3
Введите 5 цифру из 5
1
Натуральное число: 92731

Решение №2 Если очень надо использовать массив (хотя на мой взгляд совсем не нужно)

//PascalABC.NET (версия 3.1, сборка 1198)
var a,n,i,j,s:integer;
mas:array[1..10]of integer;
begin
  writeln('Введите количество цифр в числе');
  readln(n);
  for i:=1 to n do begin
    writeln('Введите ',i,' цифру из ',n);
    readln(mas[i]);
    a:=mas[i];  
    for j:=1 to n-i do a:=a*10;
    s:=s+a;
  end;
  writeln('Натуральное число: ',s);
end.

Тестовое решение

Введите количество цифр в числе
5
Введите 1 цифру из 5
5
Введите 2 цифру из 5
4
Введите 3 цифру из 5
3
Введите 4 цифру из 5
2
Введите 5 цифру из 5
2
Натуральное число: 54322

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Три свидетеля дорожного происшествия сообщили сведения о скрывшемся нарушителе. эдгар утверждает, что тот был на чёрном«peugeot», вадим сказал, что нарушитель уехал на синей «audi», а артём показал, что машина была точно не чёрная, и по всей видимости, это был «ford». когда удалось отыскать машину, выяснилось, что каждый из свидетелей точно определил только один из параметров автомобиля. а в другом ошибся, какая и какого цвета была машина у нарушителя?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Руслан Руденко1262
Tkachenko1050
vasavto1
i7aster26
Vera-zero281
Kashtanov Anna
ИП_Рамис873
legezin
Asira926
terma-msk1
kengyra
zakupki
nkaminskaja
vetrov1
Yuliya1693