задача 1.
var
a, s : integer;
begin
writeln('введите числа:');
while s < 101 do begin
read(a);
s += a;
end;
writeln('Стоп! Сумма чисел больше 100, s=', s);
end.
задача 2.
var
h : char;
n : integer;
begin
writeln('введите символы:');
while n < 5 do begin
read(h);
if h = 'F' then n += 1;
end;
writeln('Стоп! Символ F был введен 5 раз')
end.
задача 3.
var
a : integer;
begin
write('Введите число от 1 до 4 : ');
readln(a);
if (a = 1) or (a = 2) then begin
for var i := 3 downto 1 do begin
for var j := 1 to i do write('*');
writeln;
end;
end
else if (a = 3) or (a = 4) then begin
for var i := 1 to 3 do begin
for var j := 1 to i do write('*');
writeln;
end;
end
else writeln('вы ввели не правильное число :(');
end.
делим число пополам и в двоичное представление пишем 0 для чётного и 1 для нечётного
378 - 0 - это младший разряд, правый
189 - 1
94 - 0
47 - 1
23 - 1
11 -1
5 - 1
2 - 0
1 - 1
378 (dec) = 101111010 (bin)
б) 101111010 (bin) => (oct)
начиная справа, от двоичного представления отделяем по три разряда, каждые три двоичных цифры дают одну восьмеричную.
101111010 = 101 111 010 = 572 (oct)
табличка замены
bin-oct
000-0
001-1
010-2
011-3
100-4
101-5
110-6
111-7
в)101111010 (bin) => (hex)
В шестнадцатиричную из двоичной переводить тоже просто, отщепляя по 4 двоичных разяда
101111010 = 1 0111 1010 = 17А (hex)
bin-hex
0000-0
0001-1
0010-2
0011-3
0100-4
0101-5
0110-6
0111-7
1000-8
1001-9
1010-A
1011-B
1100-C
1101-D
1110-E
1111-F