Отлажено с 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
за интересное задание!
Поделитесь своими знаниями, ответьте на вопрос:
Сколько раз выполнится тело цикла i:=2 to 5 do x:=6? a. Ни разу; b. Бесконечное количество раз; c. 3 раза; d. 4 раза. 4. Какое значение примет переменная Х после выполнения фрагмента программы? x:=1; while x<10 do begin x:=x+3; x:=x=1; end; 1) 8 2) 12 3) 11 4) 13 5 Какое значение примет переменная Y после выполнения фрагмента программы? Y:=1; While y < 100 do Begin Y:=Y * 2; End;
b = 7
Объяснение:
Исходя из последовательности команд, исходного (8 слева) числа и конечного (624, справа) числа можем составить уравнение, т.е. перейдем к математическим операциям
((8 + b)*6 + b + b) * 6 = 624
Решим его, постепенно упрощая:
(8+b)*6 + 2b = 104 (поделили на 6 левую и правую часть)48 + 6b + 2b = 104 (раскрыли скобки)8b = 56 (привели подобные и вычли 48 с каждой)b = 7 (поделили на 8 каждую часть)