Ответ:
Модуль сделаем с функцией проверки на чётность чисел.
Основную программу почти не менял - см. комментарии
Объяснение:
в модуле есть функция getChet которой передаётся число, и на после проверки возвращает чётное это число или нет
модуль
unit pr1u;
interface
function getChet(i:integer):boolean;
implementation
begin
getChet := i mod 2 = 0;
end;
end.
основная программа
program pr1;
(*добавляем модуль pr1u для использования в программе*)
uses crt, pr1u ;
var
a:array[1..100]of integer;
i,p,p0,p1,sum,temp,n,j:integer;
clrscr;
write('n=');
read(n);
for i:=1 to n do begin
write('a[',i,']=');
read(a[i]);
writeln;
p:=1;
for i:=1 to n do
(* тут идёт использование функции getChat из модуля pr1u, которая проверяет отправленное ей число на чётность*)
if getChet(i) then p:=p*a[i];
writeln('proizvedenie=',p);
for i:=n downto 1 do
if a[i]=0 then p0:=i;
writeln('pervyi 0 v pozicii - ',p0);
if a[i]=0 then p1:=i;
writeln('poslednii 0 v posicii - ',p1);
sum:=0;
for i:=p0 to p1 do
sum:=sum+a[i];
writeln('summa=',sum);
readkey;
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
Ответ:
Модуль сделаем с функцией проверки на чётность чисел.
Основную программу почти не менял - см. комментарии
Объяснение:
в модуле есть функция getChet которой передаётся число, и на после проверки возвращает чётное это число или нет
модуль
unit pr1u;
interface
function getChet(i:integer):boolean;
implementation
function getChet(i:integer):boolean;
begin
getChet := i mod 2 = 0;
end;
begin
end.
основная программа
program pr1;
(*добавляем модуль pr1u для использования в программе*)
uses crt, pr1u ;
var
a:array[1..100]of integer;
i,p,p0,p1,sum,temp,n,j:integer;
begin
clrscr;
write('n=');
read(n);
for i:=1 to n do begin
write('a[',i,']=');
read(a[i]);
end;
writeln;
p:=1;
for i:=1 to n do
(* тут идёт использование функции getChat из модуля pr1u, которая проверяет отправленное ей число на чётность*)
if getChet(i) then p:=p*a[i];
writeln('proizvedenie=',p);
writeln;
for i:=n downto 1 do
if a[i]=0 then p0:=i;
writeln('pervyi 0 v pozicii - ',p0);
writeln;
for i:=1 to n do
if a[i]=0 then p1:=i;
writeln('poslednii 0 v posicii - ',p1);
writeln;
sum:=0;
for i:=p0 to p1 do
sum:=sum+a[i];
writeln('summa=',sum);
writeln;
readkey;
end.