program P_1;
var
i, n : integer;
a, s : real;
b : array [1..1000] of real;
begin
writeln('введите число а');
readln(a);
writeln('введите количество значений массива n');
readln(n);
write('введите элементы массива B');
for i:=1 to n do
readln(b[i]);
writeln('первоначальный массив B');
for i:=1 to n do
writeln(b[i]);
s:=0;
for i:=1 to n do
if b[i] > a then s:=s+b[i];
writeln('сумма значений =', s);
end.
Так как язык не указан, приведу пример на SWI-Prolog.
Код:
read_int(Int) :- read(Int), integer(Int).split_int_by_numbers(0, []) :- !.split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).test_to_div(_, []).test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints). test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.test(Int) :- write(Int), write(" - No!"), nl.?- read_int(Int), test(Int).
program xxx;
var i, n : integer;
a, s : real;
b : array [1..20] of real;
begin
writeln('введите число а=');
readln(a);
writeln('введите размерность массива n=');
readln(n);
write('введите элементы массива B:');
for i:=1 to n do
readln(b[i]);
writeln('исходный массив B:');
for i:=1 to n do
writeln(b[i]);
s:=0;
for i:=1 to n do
if b[i] > a then s:=s+b[i];
writeln('сумма элементов =', s);
readln
end.