Книжка, в которой 10 страниц текста (каждая страница содержит 32 строки по 64 символа в каждой), закодирована в 8-битной кодировке. сколько секунд потребуется для передачи этой книжки по линии связи со скоростью 2 кбайт в секунду?
В восьмибитной кодировке каждый символ занимает 8 бит=1 байт. Тогда одна строка займет 64×1=64 байта, страница 32×64=2048 байт, а вся книга 10×2048=20480 байт или 20480/1024=20 Кбайт. За 1 секунду по линии связи передается 2 Кбайта, следовательно на передачу 20 Кбайт потребуется 20/2=10 секунд.
ответ: 10 с
pastore
04.11.2021
1. Для цикла For
var x,n,p:longint; i:integer; begin readln (x,n); p:=1; for i := 1 to N do p:=p*x; writeln(x,' в степени ',n,' равно ',p ); end.
2. Для цикла While var x,n,p:longint; i:integer; begin readln (x,n); p:=1; i:=1; while i<=n do begin p:=p*x; i:=i+1; end; writeln(x,' в степени ',n,' равно ',p ); end.
3. Для цикла Repeat
var x,n,p:longint; i:integer; begin readln (x,n); p:=1; i:=1; repeat p:=p*x; i:=i+1; until i>n; writeln(x,' в степени ',n,' равно ',p ); end.
akrivoz
04.11.2021
1. Для цикла For есть решение выложенное выше от Srzontmp.
2. Почти ничего не меня получим код для цикла while: var i, n, k: integer; begin i := 2; readln(n); while i <= n div 2 do begin if (n mod i) = 0 then k := i; i:=i+1; end; writeln('наибольший делитель ', n, ' = ', k); end.
3. Аналогично для цикла Repeat: var i, n, k: integer; begin i := 2; readln(n); repeat if (n mod i) = 0 then k := i; i:=i+1; until i> n div 2; writeln('наибольший делитель ', n, ' = ', k); end.
Тогда одна строка займет 64×1=64 байта, страница 32×64=2048 байт, а вся книга 10×2048=20480 байт или 20480/1024=20 Кбайт.
За 1 секунду по линии связи передается 2 Кбайта, следовательно на передачу 20 Кбайт потребуется 20/2=10 секунд.
ответ: 10 с