Старший разряд в дополнительном коде двоичного числа отвечает за знак числа. 0 ~ "+", 1 ~ "-". 1. Если старший разряд равен 0, то последующие разряды напрямую переводятся в число. 2. Если старший разряд равен 1, то число отрицательное и следующие за старшим разрядом записываются в виде: инверсия битов+прибавление единицы. Следовательно для перевода их в исходное число требуется: вычесть единицу+инверсия Но так, как второе число состоит из 7 знаков, то слева дописывается незначащий 0. И мы возвращаемся в пункт 1(или просто число записано с ошибкой и вы потеряли разряд).
Program z3; const n=3; var A:array[1..n] of string; var B:array[1..n] of string; i,k:byte;
begin writeln('Ввод названий газет:'); for i:=1 to n do begin write('[',i,'] '); readln(A[i]);end; writeln('Ввод фамилий подписчиков:'); for i:=1 to n do begin write('[',i,'] '); readln(B[i]);end; k:=0; for i:=1 to n do if (A[i]='Правда') and (B[i]='Петров') then k:=i; if k<>0 then writeln('Да, Петров выписывает Правду.') else writeln('Петров не выписывает Правду.'); end.
Пример: Ввод названий газет: [1] Правда [2] Мир [3] Атеист Ввод фамилий подписчиков: [1] Петров [2] Дружаев [3] Базаров Да, Петров выписывает Правду.
Program z3; var A:array[1..3] of string; var B:array[1..3] of string; i,k:byte; begin writeln('Ввод названий газет: '); for i:=1 to 3 do begin write('[',i,']');readln(A[i]); end; writeln('Ввод подписчиков: '); for i:=1 to 3 do begin write('[',i,']'); readln(B[i]); end;
for i:=1 to 3 do begin if (A[i]='правда') and (B[i]= 'петров') then begin k:=i; writeln('Да, Петров выписывает газету ',A[i]); end; end; end.
Ввод названий газет: [1]Книга [2]Правда [3]Вера Ввод подписчиков: [1]Библиотекарь [2]Петров [3]Гундяев Да, Петров выписывает газету Правда
1. Если старший разряд равен 0, то последующие разряды напрямую переводятся в число.
2. Если старший разряд равен 1, то число отрицательное и следующие за старшим разрядом записываются в виде:
инверсия битов+прибавление единицы.
Следовательно для перевода их в исходное число требуется:
вычесть единицу+инверсия
Но так, как второе число состоит из 7 знаков, то слева дописывается незначащий 0. И мы возвращаемся в пункт 1(или просто число записано с ошибкой и вы потеряли разряд).