Вот программа:
Var
A:array[1..20] of real;
i:integer;
S,P:real;
Begin
S:=0;
P:=1;
WriteLn('Введите 20 чисел:');
For i:= 1 to 20 do
Begin
Read(A[i]);
S:=S+A[i];
P:=P*A[i];
End;
WriteLn('S = ',S);
WriteLn('P = ',P);
End.
Вот блок-схема:
Ошибок тут больше одной.
Во-первых, в операторе вывода стоит вызов функции ups, которой в качестве второго аргумента передается неизвестная переменная a. Если имелся в виду символ "а", его надо было заключить в одинарные кавычки.
Во-вторых, в теле функции ups определяется значение n в цикле. Даже, если искомый символ найден и n получит значение позиции этого символа в слове, то если слово просмотрено не полностью, следующий же проход по циклу снова сбросит n в ноль. Следовательно, эта функция будет выдавать верный результат только если искомая буква - последняя в слове.
var
slovo: string;
i: integer;
function ups(var s: string; ch: char): integer;
var
i, n: integer;
begin
i:=1;
n:=0;
while (i<=length(s)) and (n=0) do
begin
if s[i] = ch then n := i;
i:=i+1
end;
ups:=n
end;
begin
writeln('vvedite slovo');
readln(slovo); writeln('N = ', ups(slovo, 'a'));
end.
Замечание: в языке Паскаль имеется функция Pos, производящая поиск подстроки в строке...
<span> новый международный стандарт Unicode, который отводит два байта, и поэтому с его помощью можно закодировать не 256, а 65536 различных символов
соотвественно это 4 </span>
Составил в pascal
program mas;
var i,j:integer; a:array [1..10] of integer;
begin
randomize;
for i=1 to 10 do
begin
a[i]:=random(10);
end;
for i=2 to 10 do
begin
j:=j+a[i];
i:=i+1;
end;
writeln(j);
readln;
end.
Мне кажется 7 из 15 магазина...