Даны два числа А и В. Установите соответствие между словесным описанием и логическим выражением, записанным по правилам языка Pascal.
Только одно из чисел равно нулю
Оба числа неотрицательны
Оба числа одного знака и неравны нулю
Хотя бы одно из чисел отрицательно
А*B>0
(A<0) or (B<0)
(A*B=0) and (A+B<>0)
(A>=0) and (B>=0)
USES CRT;
VAR m1,m2,n,n1,n2,n3,n4,n5,n6,s1,s2:LongInt;
BEGIN
ClrScr;
ReadLn(n);
m1:=n;
n1:=m1 div 100;
n2:=m1 mod 10;
n3:=(m1-n1*100-n2) div 10;
if n1=n2 then if n1=n3 then writeln('vse =');
if n1=n2 then writeln('1 i 3 =');
if n2=n3 then writeln('2 i 3 =');
if n1=n3 then writeln('1 i 2 =')
else writeln('<>');
END.
Проверяйте, что непонятно - спрашивайте.
Можно чуть поправить вывод, чтобы когда vse =, не вылезали 1 i 3, 1 i 2, 2 i 3.
Да и вообще writeln'ов можно наставить и переменные назвать покрасивше. но это уж вы сами, думаю, справитесь. В VAR у меня тоже есть лишние переменные, переделывал старый свой код наспех =)
Всего хорошего.
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
var a:=ArrRandom(ReadInteger('n='),10,99); a.Println;
a:=a.Reverse.ToArray; a.Println
end.
Тестовое решение:
n= 15
33 91 99 60 56 92 99 23 33 25 62 27 42 27 11
11 27 42 27 62 25 33 23 99 92 56 60 99 91 33
2. Школьный вариант
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
const
n=15;
var
a:array[1..n] of integer;
i,t:integer;
begin
Randomize;
for i:=1 to n do begin
a[i]:=Random(90)+10;
Write(a[i],' ')
end;
Writeln;
for i:=1 to n div 2 do begin
t:=a[i]; a[i]:=a[n-i+1]; a[n-i+1]:=t
end;
for i:=1 to n do Write(a[i],' ')
end.