Pascalabcnet указание: для каждой создайте алгоритм и программу. заполните одномерный числовой массив d(15) случайными целыми числами в интервале [-20; 18]. выведите значения элементов массива сначала в столбик, а затем в строку, причем на каждый элемент отведите 4 позиции. ответ каждой следует выводить с новой строки и с пояснительным текстом. кроме того, следует каждый раз производить пвывод массива на экран, если в нем произошли изменения: перестановка, замена, изменение значения элементов и т.д. 1. найдите отдельное количество отрицательных и положительных элементов массива. 2. найдите произведение элементов, имеющих значение меньше -2 (минус два). 3. найдите максимальный элемент массива из элементов, стоящих на местах, номера которых кратны пяти. 4. замените отрицательные элементы, стоящие на нечётных местах на последний элемент массива. 5. если в массиве имеются нулевые элементы, то найдите сумму элементов массива, имеющих значение, кратное трем, иначе выведите на экран положительные элементы массива. 6*. найдите в массиве элементы, кратные 12, и вывести на экран их номера. если таких элементов нет, то выведите сообщение об этом на экран. 7*. выведите на экран одномерный массив, раскрасив в нем красным цветом кратные 12 элементы.
142
210
Ответы на вопрос:
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.
Команда 1: из числа 1 можно выполнить 2 команды, получится: 1) 1+2=3 2) 1*3=3 команда 2: c каждым полученным числом выполняем еще по 2 команды: первое число: 1) 3+2=5 2) 6*3=18 второе число: 1) 3+2=5 2) 6*3=18 команда 3: у нас получилось 4 числа, проделаем то же самое первое число: 1) 5+2=7 2) 5*3=15 второе число: 1)18+2=20 2)18*3=54 третье число: 1) 5+2=7 2) 5*3=15 четвертое число : 1)18+2=20 2)18*3=54 в итоге, у нас получилось 4 различных числа (так как при выполнении со второй командой, числа получались те же самые)
Популярно: Информатика
-
ЮляLoveYou29.12.2021 19:18
-
ggg28918.08.2021 22:03
-
KolbasaBatonSir11.12.2021 18:34
-
fkfofo0226.04.2023 08:23
-
Novokshonovamariya28.09.2020 19:47
-
Rashmed12.04.2023 05:09
-
777ppp77727.07.2022 01:52
-
kostya19603.09.2020 21:40
-
movamrr09.05.2020 02:13
-
злата19716.05.2022 21:41