Определить, сколько в заданной последовательности чисел меньших К, равных К и больших К - Free Pascal
Формулировка задачи:
Задана последовательность из N вещественных чисел. Определить, сколько среди них чисел меньших К, равных К и больших К.
Решение задачи: «Определить, сколько в заданной последовательности чисел меньших К, равных К и больших К»
textual
Листинг программы
uses crt;
const nmax=20;
var a:array[1..nmax] of integer;
i,n,k,k1,k2,k3:integer;
begin
clrscr;
repeat
write('n=');
readln(n);
until n in [1..nmax];
writeln('Последовательность :');
for i:=1 to n do
begin
a[i]:=-10+random(20);
write(a[i]:4);
end;
writeln;
write('k=');
readln(k);
k1:=0;k2:=0;k3:=0;
for i:=1 to n do
if a[i]>k then
inc(k1)
else
if a[i]<k then
inc(k2)
else
inc(k3);
if k1=0 then
writeln('Нету чисел больших ',k,'.')
else
writeln('Чисел больших ',k,' = ',k1,'.');
if k2=0 then
writeln('Нету чисел маньших ',k,'.')
else
writeln('Чисел маньших ',k,' = ',k2,'.');
if k3=0 then
writeln('Нету чисел равных ',k,'.')
else
writeln('Чисел равных ',k,' = ',k3,'.');
readkey;
end.
Объяснение кода листинга программы
- Объявление переменных:
- a: массив для хранения чисел (максимальное количество элементов - 20)
- i, n, k, k1, k2, k3: целочисленные переменные для выполнения операций
- Основной цикл программы:
- Запрос на ввод числа n (количество чисел в последовательности)
- Генерация случайных чисел в диапазоне от -10 до 10 для заполнения массива a
- Вывод сгенерированной последовательности на экран
- Запрос на ввод числа k (пороговое число для классификации чисел)
- Инициализация счетчиков k1, k2 и k3 для подсчета чисел, больших, меньших и равных k
- Цикл по всем элементам массива a для классификации чисел
- Вывод результатов подсчета чисел, больших, меньших и равных k
- Вспомогательные операции:
- Функция random(n) генерирует случайное число в диапазоне от 0 до n-1
- Увеличение значения счетчика k1, k2 или k3 на 1 при соответствующем условии
- Оператор if с тремя ветвями для проверки значений элементов массива a
- Оператор readln(k) считывает значение k из стандартного ввода
- Оператор inc(k) увеличивает значение переменной k на 1
- Оператор writeln() выводит строку на экран
- Оператор readkey() считывает и обрабатывает нажатие клавиши для завершения работы программы