Подсчитать произведения и количество целых чисел - Pascal
Формулировка задачи:
Помогите пожалуйста
Дана последовательность чисел a1 (i=1,2,... ,N).Подсчитать произведения и количество целых чисел , вывести их значения и порядковые номера.
Решение задачи: «Подсчитать произведения и количество целых чисел»
textual
Листинг программы
- var a:array[1..50] of real;
- n,i,k:byte;
- p:real;
- begin
- write('Введите размер массива от 1 до 50 n=');
- readln(n);
- writeln('Введите элементы массива, действительные, в том числе и целые числа');
- k:=0;
- p:=1;
- for i:=1 to n do
- begin
- write('a[',i,']=');
- readln(a[i]);
- if frac(a[i])=0 then
- begin
- k:=1;
- p:=p*a[i];
- end;
- end;
- if k=0 then write('В последовательности нет целых чисел')
- else write('Произведение целых чисел=',p:0:0);
- end.
Объяснение кода листинга программы
- Объявляется массив
a
размерности 50, содержащий действительные числа. - Объявляются переменные
n
,i
иk
как байты, и переменнаяp
как действительное число. - Пользователю предлагается ввести размер массива
n
от 1 до 50. - Пользователю предлагается ввести элементы массива
a
. - Устанавливаются начальные значения переменных
k
(0) иp
(1). - Происходит цикл от 1 до
n
, в котором пользователю предлагается ввести элемент массиваa[i]
, и проверяется, является ли он целым числом (проверка производится по дробной части числа с помощью функцииfrac(a[i])
и сравнению с 0). - Если элемент массива
a[i]
является целым числом, то переменнаяk
устанавливается в 1, и произведениеp
умножается на это число. - Проверяется, было ли найдено хотя бы одно целое число в массиве.
- Если переменная
k
равна 0, выводится сообщениеВ последовательности нет целых чисел
. - В противном случае выводится сообщение с произведением целых чисел (значением переменной
p
) с округлением до целого числа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д