1) переведите в мегабайты: a) 12288 кб b) 1024 гб c) 2097152 байт 2) переведите в биты: a) 3,2 мб b) 2 кб 3) переведите в мегабайты: a) 6144 кб b) 2048 гб c) 3145728 байт 4) переведите в биты: a) 1,4 мб b) 8 кб
Немного теории. Для того, чтобы избежать переполнения разрядной сетки, значение квадрата натурального числа не должно превышать максимального числа, представимого выбранным типом данных. В языке Паскаль числа типа longint записываются в четырех байтах в дополнительном коде, т.е. максимальное значение числа не может превышать 2³¹-1. Тогда максимальное натуральное число, квадрат которого мы можем вычислить, равно целой части от величины:
//PascalABC.Net 3.0, сборка 1066 var s:string; i,n,lim,l:longint; begin lim:=Trunc(exp(15.5*ln(2))); Write('Введите номер позиции: '); Read(n); i:=0; l:=0; while (l<n) and (i<=lim) do begin Inc(i); Str(i*i,s); l:=l+Length(s); end; if i<=lim then Writeln('Искомая цифра- ',s[Length(s)-l+n]) else Writeln('Решения в типе данных longint невозможно') end.
Тестовое решение: Введите номер позиции: 4 Искомая цифра- 1
В Бейсике есть встроенная функция ATN - арктангенс, поэтому угол можно в градусах посчитать.
DIM a, b, c, cs, cst, ang, PI INPUT " a = ", a INPUT " b = ", b INPUT " c = ", c PRINT PI = 3.141593 cs = (b * b + c * c - a * a) / (2 * b * c) cst = cs IF cs < 0 THEN cst = SQR(1 - cs * cs) ang = ATN(SQR(1 - cst * cst) / cst) * 360 / (2 * PI) IF cs < 0 THEN ang = ang + 90 PRINT "угол A = ", PRINT USING "###.##"; ang cs = (a * a + c * c - b * b) / (2 * a * c) cst = cs IF cs < 0 THEN cst = SQR(1 - cs * cs) ang = ATN(SQR(1 - cst * cst) / cst) * 360 / (2 * PI) IF cs < 0 THEN ang = ang + 90 PRINT "угол B = ", PRINT USING "###.##"; ang cs = (a * a + b * b - c * c) / (2 * a * b) cst = cs IF cs < 0 THEN cst = SQR(1 - cs * cs) ang = ATN(SQR(1 - cst * cst) / cst) * 360 / (2 * PI) IF cs < 0 THEN ang = ang + 90 PRINT "угол C = ", PRINT USING "###.##"; ang PRINT "Выход - любая клавиша ... " DO LOOP WHILE INKEY$ = ""
a) 12288 Кб = (12288 : 1024) Мб = 12 Мб
b) 1024 Гб = (1024 * 1024) Мб = 1048576 Мб
c) 2097152 байт = (2097152 : 1024 : 1024) Мб = 2 Мб
№2
a) 3,2 Мб = (3,2 * 1024 * 1024 * 8) бит = 26843545,6 бит
b) 2 Кб = (2 * 1024 * 8) бит = 16383 бит
№3
a) 6144 Кб = (6144 : 1024) Мб = 6 Мб
b) 2048 Гб = (2048 * 1024) Мб = 2097152 Мб
c) 3145728 байт = (3145728 : 1024 : 1024) Мб = 3 Мб
№4
a) 1,4 Мб = (1,4 * 1024 * 1024 * 8) бит = 11744051,2 бит
b) 8 Кб = (8 * 1024 * 8) биьт = 65536 бит