program p1;
uses crt;
const N = 30;
var a:array[1..N] of integer;
i,b,k:integer;
begin
for i:=1 to N do begin Вывод рандомных элементов
a[i]:=random(50);
write(a[i]:4);
end;
writeln;
readln(b);
for i:=1 to N do begin
if b<>a[i] then begin ( если b не равно эл массива то
k:=k+1; (счётчик)
write(a[i]:4); (вывод))
writeln(k);
end.
1⁵ 0⁴ 1³ 0² 1¹ 0⁰ = 1 · 2⁵ + 0 · 2⁴ + 1 · 2³ + 0 · 2² + 1 · 2¹ + 0 · 2⁰ = 32 + 0 + 8 + 0 + 2 + 0 = 42₁₀
35 = 32 + 2 + 1 = 2⁵ + 2¹ + 2⁰ = 100 000 + 10 + 1 (в столбик - двоичное сложение) = 100011₂
Стоит помнить, что:
1 + 1 = 10
1 + 1 + 1 = 11
1 + 1 + 1 + 1 = 100
Это происходит, потому что в 2-й системе счисления всего два числа - 0 и 1. В 10-й системе счисления это выглядело бы примерно так:
...
1 + 9 = 10
1 + 19 = 20
1 + 99 = 100
То есть переполнение числа приводит к тому, что цифра слева увеличивается на единицу. В случае, если есть девятка - то цифра слева увеличивается на 1.
999 + 1 = 1 0 0 0
program p1;
uses crt;
const N = 30;
var a:array[1..N] of integer;
i,b,k:integer;
begin
for i:=1 to N do begin Вывод рандомных элементов
a[i]:=random(50);
write(a[i]:4);
end;
writeln;
readln(b);
for i:=1 to N do begin
if b<>a[i] then begin ( если b не равно эл массива то
k:=k+1; (счётчик)
write(a[i]:4); (вывод))
end;
end;
writeln;
writeln(k);
end.
1⁵ 0⁴ 1³ 0² 1¹ 0⁰ = 1 · 2⁵ + 0 · 2⁴ + 1 · 2³ + 0 · 2² + 1 · 2¹ + 0 · 2⁰ = 32 + 0 + 8 + 0 + 2 + 0 = 42₁₀
Задание 235 = 32 + 2 + 1 = 2⁵ + 2¹ + 2⁰ = 100 000 + 10 + 1 (в столбик - двоичное сложение) = 100011₂
Задание 3Стоит помнить, что:
1 + 1 = 10
1 + 1 + 1 = 11
1 + 1 + 1 + 1 = 100
Это происходит, потому что в 2-й системе счисления всего два числа - 0 и 1. В 10-й системе счисления это выглядело бы примерно так:
...
1 + 9 = 10
...
1 + 19 = 20
...
1 + 99 = 100
То есть переполнение числа приводит к тому, что цифра слева увеличивается на единицу. В случае, если есть девятка - то цифра слева увеличивается на 1.
999 + 1 = 1 0 0 0