Целая часть от деления: 37 div 2 = 18 18 div 2 = 9 9 div 2 = 4 4 div 2 = 2 2 div 2 = 1 1 div 2 = 0
Остаток от деления: 37 mod 2 = 1 18 mod 2 = 0 9 mod 2 = 1 4 mod 2 = 0 2 mod 2 = 0 1 mod 2 = 0
1) Остаток от деления 37 на записываем в обратном порядке. Получаем число в 2-ой системе счисления: 100101 37 = 100101(2)
2) Для перевода дробной части числа последовательно умножаем дробную часть на основание 2. В результате каждый раз записываем целую часть произведения. 0.375*2 = 0.75 (целая часть 0) 0.75*2 = 1.5 (целая часть 1) 0.5*2 = 1 (целая часть 1) 0*2 = 0 (целая часть 0) Получаем число в 2-ой системе счисления: 0110 0.375 = 0110(2)
Будет работать только в Pascal.ABC. Желательно вводите величины от 30-50, так как всё измеряется в пикселях.
Program Zagacha; Uses GraphABC; Var r, a, b: Integer; Begin WriteLn('Введите значение r'); ReadLn(r); WriteLn('Введите значение a'); ReadLn(a); WriteLn('Введите значение b'); ReadLn(b); If ((r + a + b) < 30) Or ((r + a + b) > 200) Then Begin r := 50; a := 100; b := 100; End; DrawCircle(Round(Window.Width / 2), Round(Window.Height / 2), r); DrawRectangle(Round((Window.Width - a) / 2), Round((Window.Height - b) / 2), Round((Window.Width + a) / 2) + 1, Round((Window.Height + b) / 2) + 1); If (a = b) And (a * b = 4 * r * r) Then TextOut(Round(Window.Width / 2 - 50), 10, 'Окружность вписана') Else If (a = b) And (a * b = 2 * r * r) Then TextOut(Round(Window.Width / 2 - 50), 10, 'Окружность описана') Else TextOut(Round(Window.Width / 2 - 50), 10, 'Окружность посторонняя') End.
program srednee;
var a,b,c,d: integer;
s: real;
begin
writeln ('Введите 4 числа');
readln (a,b,c,d);
s:=(a+b+c+d)/4;
writeln ('Среднее', ' ', 'арифметическое:', ' ', s);
end.