Const
n = 20;
var
a: array[1..n] of integer;
i: integer;
flag: boolean;
begin
Randomize;
Writeln('Элементы массива');
for i := 1 to n do
begin
a[i] := Random(19999) - 9999;
Write(a[i]:6);
end;
Writeln;
i := 1;
flag := False;
repeat
flag := (sign(a[i]) = sign(a[i + 1]));
i := i + 1
until flag or (i > n);
if flag then Writeln('Есть пара соседних элементов с одним знаком')
else Writeln('Нет пар соседних элементов с одним знаком')
end.
<u>Тестовое решение:</u>
Элементы массива
2440 -2414 -3192 -6912 -8537 7364 2869 -2505 8875 2662 401 7398 2213 8804 2039 1485 4213 8359 -2410 -5844
Есть пара соседних элементов с одним знаком
Ответ:
Объяснение:
Можно воспользоваться следующим приемом.
1)
В Excel составляем таблицу истинности. Выделим в ней те строки, в которых F=0 (F=ЛОЖЬ) (Рис. 1)
2)
Сравним нашу таблицу с приведенной в задаче. (Рис.2)
Пишем ответ:
Y Z W X
<h3>Первый вывод: 2</h3><h3>Второй вывод: 2 2</h3><h3 />
Если алфавит на 64 символа, то один символ займет 6 бит
Общий объем текста 600 бит или 75 байт
//Pascal ABC.NET 3.1 сборка 1256
Var
m,n,i,j:integer;
begin
readln(m,n);
for i:=m to n do
begin
write(i,':');
for j:=2 to i div 2 do
if i mod j=0 then write(j:4);
writeln;
end;
end.
Пример ввода:
12
16
Пример вывода:
12: 2 3 4 6
13:
14: 2 7
15: 3 5
16: 2 4 8