Необходимо написать 2 программы в Pascal ABC.
Программа 1 - через "random" вывести четное и нечетное числа. Посчитать их сумму и кол-во четных цифр, кол-во нечетных.
Программа 2 - через рандом вывести отрицательное и положительное числа. Посчитать их сумму и кол-во отрицательных значений, кол-во положительных.
Задание оценивается в 100 баллов. Заранее спасибо
Answers & Comments
Программа 1:
{Free Pascal Compiler version 3.0.4+dfsg-23 [2019/11/25] for x86_64}
{Copyright (c) 1993-2017 by Florian Klaempfl and others}
{Target OS: Linux for x86-64}
program test;
var
n, k : integer;
a, b : integer; {a - четные, b - нечетные}
s : integer; {Сумма всех чисел}
i : integer; {Счетчик цикла}
begin
Randomize;
n := random(50);
a := 0;
b := 0;
s := 0;
for i := 1 to n do begin
k := random(100);
s := s + k;
if k mod 2 = 0 then
a := a + 1
else
b := b + 1
end;
writeln('Количество всех чисел ', n);
writeln('Количество чётных ', a);
writeln('Количество нечётных ', b);
writeln('Сумма всех чисел ', s);
end.
Объяснение:
Вначале программа с помощью функции random(50) генерирует случайное количество будущих чисел. Это число заносится в переменную n.
Затем, в цикле программа генерирует определённое количество чисел в промежутке от 0 до 100. С помощью функции mod проверяет их на чётность, и подсчитывает их, четные в переменной а, нечетные - в b.
В конце программа выводит результаты на экран.
Программа 2:
{Free Pascal Compiler version 3.0.4+dfsg-23 [2019/11/25] for x86_64}
{Copyright (c) 1993-2017 by Florian Klaempfl and others}
{Target OS: Linux for x86-64}
program test;
var
n, k : integer;
a, b : integer; {a - отрицательные, b - положительные}
s : integer; {Сумма всех чисел}
i : integer; {Счетчик цикла}
begin
Randomize;
n := random(50);
a := 0;
b := 0;
s := 0;
for i := 1 to n do begin
k := random(100) - 50;
s := s + k;
if k < 0 then
a := a + 1
else
b := b + 1
end;
writeln('Количество всех чисел ', n);
writeln('Количество отрицательных ', a);
writeln('Количество положительных ', b);
writeln('Сумма всех чисел ', s);
end.
Объяснение:
Программа генерирует будущее количество чисел. Это число созраняется в переменной n. Затем в цикле от 1 до n программа с помощью функции random(100)-50 генерирует числа в промежутке от -50 до 50. Затем происходит подсчет отрицательных чисел в переменную а, положительных - в переменную b.
В конце результаты выводятся на экран.