Ну давайте плавно разбираться с этим большим условием.
У нас документ состоит из текстовой части и из графической.
Начнём с текстовой.
Найдём общее кол-во символов.
k = 32 * 64 = 2048 символов
Каждый кодируется 1 байтом, следовательно.
I = 2048 * 1 = 2048 Байт
Теперь перейдём к графике.
x = 32 * 128
i = 8 бит = 1 байт
I = 32 * 128 * 1 = 4096 Байт
Теперь складываем объёмы.
4096 + 2048 = 6144 Байт
Нам нужно выразить в килобайтах.
Чтобы из байтов получить килобайты нужно разделить на 1024.
6144 / 1024 = 6 Кбайт
ответ: 6 Кбайт
Шиморянов Мария1866
26.09.2020
Если в нашем распоряжении имеется современная версия pascalabc.net 3.2, то есть минимум два способа решить такую . массив мы будем заполнять случайными числами из интервала [1; 98]. первый способ - использовать имеющуюся в этой версии паскаля возможность находить максимумы и минимумы встроенными в язык средствами. это быстро программируется и обычно страхyет от возможных ошибок при написании более детальных программ. // pascalabc.net 3.2, сборка 1353 от 27.11.2016 // внимание! если программа не работает, обновите версию! begin var a: =arrrandom(30,1,98); a.println; writeln('d=',a.where(x-> x.iseven).max-a.where(x-> x.isodd).max) end. пример 29 52 58 75 13 77 63 13 17 6 67 17 53 51 14 93 83 30 81 17 93 58 13 71 78 96 42 66 4 91 d=3 второй способ не привязан к упомянутой выше версии языка, т.е. может быть использован в школах, исповедующих " стиль программирования" естественно, он длиннее и можно будет сравнить количество строк кода. алгоритм основан на последовательном переборе элементов массива и одновременном получении максимума среди четных и нечетных его элементов. const n=30; var a: array[1..30] of integer; i,a1max,a2max: integer; begin randomize; a1max: =0; a2max: =0; for i: =1 to n do begin a[i]: =random(98)+1; write(a[i],' '); if a[i] mod 2 < > 0 then begin if a1max< a[i] then a1max: =a[i] end else if a2max< a[i] then a2max: =a[i] end; writeln; writeln('d=',a2max-a1max) end. замечу, что данный вариант программы содержит фрагмент, в котором школьники (да и не только школьники) часто делают ошибку. if a[i] mod 2 < > 0 then begin if a1max< a[i] then a1max: =a[i] end else if a2max< a[i] then a2max: =a[i] выделенные мной begin и end на первый взгляд не нужны. но в этом-то и ошибка! по правилам языка паскаль когда внутри одного if встречается другой if и хотя бы один из них неполный, т.е. не содержит else, последний else относится к самому последнему из if, который без его будет неполным. запутанно? поясню на нашем фрагменте. его без этих begin end можно понимать так: if a[i] mod 2 < > 0 then if a1max< a[i] then a1max: =a[i] else if a2max< a[i] then a2max: =a[i] но можно и так: if a[i] mod 2 < > 0 then if a1max< a[i] then a1max: =a[i] else if a2max< a[i] then a2max: =a[i] и паскаль, увы, понимает как раз по последнему варианту. посему как раз begin end решают эту проблему. встречается она не часто и о ней быстро забывают. а потом нарываютcя и не могут понять причины. что ж, выбор как решать - за вами!
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Фортран. дана последовательность из n символов. выяснить, сколько в последовательности пар соседних одинаковых символов.
Ну давайте плавно разбираться с этим большим условием.
У нас документ состоит из текстовой части и из графической.
Начнём с текстовой.
Найдём общее кол-во символов.
k = 32 * 64 = 2048 символов
Каждый кодируется 1 байтом, следовательно.
I = 2048 * 1 = 2048 Байт
Теперь перейдём к графике.
x = 32 * 128
i = 8 бит = 1 байт
I = 32 * 128 * 1 = 4096 Байт
Теперь складываем объёмы.
4096 + 2048 = 6144 Байт
Нам нужно выразить в килобайтах.
Чтобы из байтов получить килобайты нужно разделить на 1024.
6144 / 1024 = 6 Кбайт
ответ: 6 Кбайт