Дана последовательность из вещественных чисел, которые вводятся по одному. За последним числом вводится нуль. Определить среднее арифметическое среди положительных членов последовательности. Язык пр-паскаль.
Const n=10; type ar=array[1..n+1] of integer; var a:ar; i,p:integer; procedure pr(var a:ar; p:integer; var k:integer); begin k:=1; while a[k]<>p do k:=k+1; end; begin Randomize; writeln('Массив A:'); for i:=1 to n do begin a[i]:=random(31); write(a[i]:4); end; writeln; p:=17; a[n+1]:=p; pr(a,p,i); if i<n then writeln('Значение 17 найдено, номер элемента = ',i) else writeln('Значения 17 в массиве нет'); end.
Пример: Массив A: 14 5 7 17 25 15 28 0 24 0 Значение 17 найдено, номер элемента = 4
таблица истинности:
X Y Z X+¬Y Z⇒(X+¬Y) ¬X F
0 0 0 1 1 1 1
0 0 1 1 1 1 1
0 1 0 0 1 1 1
0 1 1 0 0 1 1
1 0 0 1 1 0 1
1 0 1 1 1 0 1
1 1 0 1 1 0 1
1 1 1 1 1 0 1
F =1 тождественно истинна ,
так как её значения равны 1 при любых X,Y,Z
type ar=array[1..n+1] of integer;
var
a:ar; i,p:integer;
procedure pr(var a:ar; p:integer; var k:integer);
begin
k:=1;
while a[k]<>p do k:=k+1;
end;
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
begin
a[i]:=random(31);
write(a[i]:4);
end;
writeln;
p:=17;
a[n+1]:=p;
pr(a,p,i);
if i<n
then writeln('Значение 17 найдено, номер элемента = ',i)
else writeln('Значения 17 в массиве нет');
end.
Пример:
Массив A:
14 5 7 17 25 15 28 0 24 0
Значение 17 найдено, номер элемента = 4