БЛИН!!! Только решу задачку - Интер вырубается.....
А получилось вот что:
uses Crt;
const N=30;
type Mas=array [1..N] of integer;
var i, j , SumPol, SumOtr: integer;
A: Mas;
begin
ClrScr;
SumPol:=0;
SumOtr:=0;
WriteLn(' Sposob 1:');
WriteLn;
for i:=1 to N do
begin
A[i]:=-10+random(21);
Write (A[i]:4);
end;
WriteLn;
for i:=1 to N do
begin
if (A[i]>0) then SumPol:=SumPol+A[i];
if (A[i]<0) then SumOtr:=SumOtr+A[i];
end;
WriteLn(' SumPol =', SumPol);
WriteLn(' SumOtr =', SumOtr);
WriteLn;
WriteLn (' Sposob 2:') ;
SumPol:=0;
SumOtr:=0;
i:=1;
repeat
if (A[i]>0) then SumPol:=SumPol+A[i];
if (A[i]<0) then SumOtr:=SumOtr+A[i];
i:=i+1;
until i>30;
WriteLn(' SumPol =', SumPol);
WriteLn(' SumOtr =', SumOtr);
ReadLn;
end.
32=2^5 => сообщение содержит 5 бит информации
Введем обозначения: А - первая буква согласная, В - третья буква гласная. Перепишем условие согласно принятым нами обозначениям и учитывая, что оно должно быть истинным:
НЕ А И НЕ В = 1.
Логическое произведение двух переменных истинно только в случае истинности каждой переменной. Таким образом, решение задачи распадается на решение двух равенств:
НЕ А = 1<span>. Это значит, что А = 0, т.е. первая буква имени должна быть гласной. Это имена под номерами 1) и 4).</span>
НЕ В = 1<span>. Это означает, что В = 0, т.е, третья буква имени должна быть согласной. Это условие выполняется только в имени Анна под номером.</span>
<span>Ответ: 4.</span>