
Вопрос задан 29.10.2023 в 12:18.
Предмет Информатика.
Спрашивает Aripkhanova Nasiba.
PascalABCNET Указание: для каждой задачи создайте алгоритм и программу. Заполните одномерный
числовой массив D(15) случайными целыми числами в интервале [-20; 18]. Выведите значения элементов массива сначала в столбик, а затем в строку, причем на каждый элемент отведите 4 позиции. Ответ каждой задачи следует выводить с новой строки и с пояснительным текстом. Кроме того, следует каждый раз производить пвывод массива на экран, если в нем произошли изменения: перестановка, замена, изменение значения элементов и т.д. Задание 1. Найдите отдельное количество отрицательных и положительных элементов массива. Задание 2. Найдите произведение элементов, имеющих значение меньше -2 (минус два). Задание 3. Найдите максимальный элемент массива из элементов, стоящих на местах, номера которых кратны пяти. Задание 4. Замените отрицательные элементы, стоящие на нечётных местах на последний элемент массива. Задание 5. Если в массиве имеются нулевые элементы, то найдите сумму элементов массива, имеющих значение, кратное трем, иначе выведите на экран положительные элементы массива. Задание 6*. Найдите в массиве элементы, кратные 12, и вывести на экран их номера. Если таких элементов нет, то выведите сообщение об этом на экран. Задание 7*. Выведите на экран одномерный массив, раскрасив в нем красным цветом кратные 12 элементы.

Ответы на вопрос

Отвечает Вотинов Никита.
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.
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.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Задание 1. Найдите отдельное количество отрицательных и положительных элементов массива.
Алгоритм:
1. Создать одномерный числовой массив D(15).
2. Заполнить массив D случайными целыми числами в интервале [-20; 18].
3. Объявить переменные countPositive и countNegative и инициализировать их нулями.
4. Для каждого элемента i в массиве D:
4.1 Если i больше нуля, увеличить значение countPositive на единицу.
4.2 Если i меньше нуля, увеличить значение countNegative на единицу.
5. Вывести значение переменных countPositive и countNegative.
Программа на PascalABC.NET:
```pascal
const
N = 15;
var
D: array[1..N] of integer;
countPositive, countNegative: integer;
i: integer;
begin
Randomize;
// Заполнение массива D случайными целыми числами
for i := 1 to N do
D[i] := Random(39) - 20;
countPositive :=
0
0


Похожие вопросы
Топ вопросов за вчера в категории Информатика

Информатика 47

Информатика 33

Информатика 67

Информатика 18

Информатика 25

Информатика 563

Информатика 16
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili