Два решения 110 111 см. приложения лист excel "живой", можно вставить свои функции. лист защищен без пароля, чтобы случайно не повредить формулы. формулы отображаются в строке формул.
slazurnaya
14.02.2023
Const n=15; var d: array[1..n] of integer; i: integer; begin //инициализация и вывод randomize; writeln('исходный массив в столбик: '); for i: =1 to n do begin d[i]: =random(-20,18); writeln(d[i]: 4) end; writeln('исходный массив в строку: '); for i: =1 to n do write(d[i]: 4); writeln; { 1. найдите отдельное количество отрицательных и положительных элементов массива. } begin var ineg,ipos: integer; ineg: =0; ipos: =0; for i: =1 to n do if d[i]> 0 then inc(ipos) else if d[i]< 0 then inc(ineg); writeln(' 1'); writeln('количество отрицательных элементов ',ineg, ', положительных- ',ipos) end; { 2. найдите произведение элементов, имеющих значение меньше -2 } begin var p: integer: =1; for i: =1 to n do if d[i]< -2 then p*=d[i]; writeln(' 2'); writeln('произведение элементов, меньших -2: ',p) end; { 3. найдите максимальный элемент массива из элементов, стоящих на местах, номера которых кратны пяти. } begin var dmax: integer; i: =10; dmax: =d[5]; while i< =n do begin if dmax< d[i] then dmax: =d[i]; i+=5 end; writeln(' 3'); writeln('максимальный элемент массива из элементов,'); writeln('стоящих на местах с номером, кратным 5: ',dmax) end; { 4. замените отрицательные элементы, стоящие на нечётных местах на последний элемент массива } i: =1; while i< =n do begin if d[i]< 0 then d[i]: =d[n]; i+=2 end; writeln(' 4'); writeln('отрицательные элементы, стоящие на нечётных местах,'); writeln('заменены последним элементом массива: '); for i: =1 to n do write(d[i]: 4); writeln; { 5. если в массиве имеются нулевые элементы, то найдите сумму элементов массива, имеющих значение, кратное трем, иначе выведите на экран положительные элементы массива } begin var sum: integer: =0; var flagsum: boolean: =false; for i: =1 to n do begin flagsum: =(d[i]=0); if flagsum then break end; writeln(' 5'); if flagsum then begin for i: =1 to n do if (d[i] mod 3)=0 then sum+=d[i]; writeln('сумма элементов, имеющих значение, кратное трем: ',sum) end else begin writeln('положительные элементы массива: '); for i: =1 to n do if d[i]> 0 then write(d[i]: 4); writeln end end; { 6*. найти в массиве элементы, кратные 12, и вывести на экран их номера. если таких элементов нет, то вывести сообщение об этом на экран. } writeln(' 6*'); begin var k: integer: =0; var p: array[1..n] of integer; for i: =1 to n do if (d[i] mod 12)=0 then begin inc(k); p[k]: =i end; if k> 0 then begin writeln('номера элементов массива, кратных 12: '); for i: =1 to k do write(p[i]: 3); writeln end else writeln('в массиве нет элементов, кратных 12') end end. тестовое решение: исходный массив в столбик: -12 -5 -2 15 -20 13 -4 -2 12 17 12 14 2 3 -20 исходный массив в строку: -12 -5 -2 15 -20 13 -4 -2 12 17 12 14 2 3 -20 1 количество отрицательных элементов 7, положительных- 8 2 произведение элементов, меньших -2: -96000 3 максимальный элемент массива из элементов, стоящих на местах с номером, кратным 5: 17 4 отрицательные элементы, стоящие на нечётных местах, заменены последним элементом массива: -20 -5 -20 15 -20 13 -20 -2 12 17 12 14 2 3 -20 5 положительные элементы массива: 15 13 12 17 12 14 2 3 6* номера элементов массива, кратных 12: 9 11 7*. выведите на экран одномерный массив, раскрасив в нем красным цветом кратные 12 элементы. uses graphabc; const n=15; var d: array[1..n] of integer; i: integer; begin setwindowsize(800,600); randomize; for i: =1 to n do begin d[i]: =random(-20,18); if (d[i] mod 12)=0 then begin setfontcolor(clred); write(d[i]: 4); setfontcolor(clblack) end else write(d[i]: 4) end; writeln end.
Goldglobe
14.02.2023
5) проверим предлагаемые варианты ответов. - г = 1: явно однозначности нет: 101 можно расшифровать как в или гаг. итак, одним битом букву г закодировать нельзя, попробуем двумя. - г = 11: можно! получится префиксный код (потому расшифровка будет однозначной). - г = 01. однозначности нет: 0101 расшифровывается как гг или ав. дальше проверять бессмысленно: 010 состоит из 3 битов. ответ . 2) 11. 7) опять проверяем. - г = 11. нет однозначности: 11 может быть расшифровано как бб или г. - г = 000: подходит, т.к. получается префиксный код. остальные варианты не короче этого. ответ . 2) 000. для справки. префиксным кодом называется такой способ кодировки, при котором код никакого символа не начинается кодом другого символа (т.е. если, например, код символа 'a' есть 01001, то все остальные коды символов не могут начинаться на еще бывают постфиксные коды (когда коды не могут оканчиваться других символов). префиксные и постфиксные коды можно расшифровать однозначно (однако бывают коды, не являющиеся постфиксными или префиксными, но при этом допускающие однозначную расшифровку)
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Сколько решений имеет уравнение (ав)↔(ас) = а(а→с), где а, в, с – логические переменные?