Подсчитать произведения и количество целых чисел - 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) с округлением до целого числа.