за два задания на PASCAL 1. Сгенерировать N случайных целых чисел в диапазоне от -10 до 10, записать их в массив. Посчитать, сколько среди них положительных, отрицательных и нулевых значений. Вывести на экран элементы массива и посчитанные количества.
2. Переменной t присвоить значение истина, если в одномерном массиве имеется хотя бы одно отрицательное четное число.

Jamik1008 Jamik1008    2   24.10.2021 10:40    2

Ответы
Viktoria1289 Viktoria1289  24.10.2021 10:50

Программа:

Pascal:

1.

const N = 10;

var

 pol, otr, nul, i: integer;

 arr: array[1..N] of integer;

begin

 randomize;

 for i := 1 to N do begin

   arr[i] := random(-10, 10);

   if arr[i] > 0 then inc(pol);

   if arr[i] = 0 then inc(nul);

   if arr[i] < 0 then inc(otr);

 end;

 writeln('Массив: ',arr);

 writeln('Положительных чисел: ', pol);

 writeln('Нулей: ', nul);

 writeln('Отрицательных чисел: ', otr);

end.

2.

const N = 10;

var

 t: boolean;

 pol, otr, nul, i: integer;

 arr: array[1..N] of integer;

begin

 randomize;

 for i := 1 to N do begin

   arr[i] := random(-10, 10);

   if arr[i] > 0 then inc(pol);

   if arr[i] = 0 then inc(nul);

   if arr[i] < 0 then begin

   t := True;

   inc(otr);

   end;

 end;

 writeln('Массив: ',arr);

 writeln('Положительных чисел: ', pol);

 writeln('Нулей: ', nul);

 writeln('Отрицательных чисел: ', otr);

 writeln(t);

end.

ПОКАЗАТЬ ОТВЕТЫ
Stacool220 Stacool220  24.10.2021 10:50

Отлажено с PascalABC.Net

Program Answer;//Создаем программу

//Создаем необходимые переменные

var Massive : array[0..4] of integer;//Массив сгенерированных чисел

var PositiveCnt, NegativeCnt, NeutralCnt :  

integer;//Количество чисел относящиеся к определенной группе

var t : boolean;//Определяет есть ли в массиве отрицательное четное число

begin//Начинаем цепочку действий программы

 Massive[0] := Random(-10, 10);//Генерируем случайное число от -10 до 10

 Massive[1] := Random(-10, 10);//Генерируем случайное число от -10 до 10

 Massive[2] := Random(-10, 10);//Генерируем случайное число от -10 до 10

 Massive[3] := Random(-10, 10);//Генерируем случайное число от -10 до 10

 Massive[4] := Random(-10, 10);//Генерируем случайное число от -10 до 10

 

 //Выводим полученные значения

 writeln('Список значений: ');

 writeln(Massive[0].ToString());

 writeln(Massive[1].ToString());

 writeln(Massive[2].ToString());

 writeln(Massive[3].ToString());

 writeln(Massive[4].ToString());

 

 //Вычисляем количество положительных значений

 if (Massive[0] > 0) then PositiveCnt := PositiveCnt + 1;

 if (Massive[1] > 0) then PositiveCnt := PositiveCnt + 1;

 if (Massive[2] > 0) then PositiveCnt := PositiveCnt + 1;

 if (Massive[3] > 0) then PositiveCnt := PositiveCnt + 1;

 if (Massive[4] > 0) then PositiveCnt := PositiveCnt + 1;

 

 //Вычисляем количество отрицательных значений

 if (Massive[0] < 0) then NegativeCnt := NegativeCnt + 1;

 if (Massive[1] < 0) then NegativeCnt := NegativeCnt + 1;

 if (Massive[2] < 0) then NegativeCnt := NegativeCnt + 1;

 if (Massive[3] < 0) then NegativeCnt := NegativeCnt + 1;

 if (Massive[4] < 0) then NegativeCnt := NegativeCnt + 1;

 

 //Вычисляем количество нулевых значений

 if (Massive[0] = 0) then NeutralCnt := NeutralCnt + 1;

 if (Massive[1] = 0) then NeutralCnt := NeutralCnt + 1;

 if (Massive[2] = 0) then NeutralCnt := NeutralCnt + 1;

 if (Massive[3] = 0) then NeutralCnt := NeutralCnt + 1;

 if (Massive[4] = 0) then NeutralCnt := NeutralCnt + 1;

 

 //Выводим количество положительных значений

 writeln('Количество положительных значений: ' + PositiveCnt.ToString());

 

 //Выводим количество отрицательных значений

 writeln('Количество отрицательных значений: ' + NegativeCnt.ToString());

 

 //Выводим количество нулевых значений

 writeln('Количество нулевых значений: ' + NeutralCnt.ToString());

 

 //Определяем есть ли в массиве четное, отрицательное число

 if (Massive[0] < 0) and (Massive[0] mod 2 = 0) then t := true

 else if (Massive[1] < 0) and (Massive[1] mod 2 = 0) then t := true

 else if (Massive[2] < 0) and (Massive[2] mod 2 = 0) then t := true

 else if (Massive[3] < 0) and (Massive[3] mod 2 = 0) then t := true

 else if (Massive[4] < 0) and (Massive[4] mod 2 = 0) then t := true;

 

 writeln('В массиве есть одно четное, отрицательное число? - ' +  

 t.ToString());

end.//Завершаем цепочку действий программы

Вывод:

Список значений:  

-9

9

-7

2

-9

Количество положительных значений: 2

Количество отрицательных значений: 3

Количество нулевых значений: 0

В массиве есть одно четное, отрицательное число? - False

за интересное задание!

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика