Pascal.задать массив из вещественных чисел размерностью [1...15]. Циклически сдвинуть его на 2 позиции вправо. Сдвинутый массив упорядочить по возрастанию.
var a, b: integer; begin readln(a, b); writeln(System.Math.Sign(a) = System.Math.Sign(b) ? 'Да' : 'Нет'); end.
Или ̶п̶р̶и̶м̶и̶т̶и̶в̶н̶е̶е̶ проще: var a, b: integer; begin readln(a, b); if (a > 0) then a := 1; if (a = 0) then a := 0; if (a < 0) then a := -1; if (b > 0) then b := 1; if (b = 0) then b := 0; if (b < 0) then b := -1; if (a = b) then writeln('Yes') else writeln('No'); end.
Немного ̶у̶п̶р̶о̶̶щ̶̶ё̶н̶н̶ы̶й̶ оптимизированный вариант: var a, b: integer; begin readln(a, b); if (a > 0) then a := 1 else if (a = 0) then a := 0 else a := -1; if (b > 0) then b := 1 else if (b = 0) then b := 0 else b := -1; if (a = b) then writeln('Yes') else writeln('No'); end.
Не понравилась реализация, переделал, специально сохранив основу предыдущего решения.
const legal = ['0'..'9', 'A'..'F', 'a'..'f'];
var s: string; i: integer; IsHex: Boolean;
begin writeln('Введите строку: '); readln(s); i := 1; IsHex := True; while (i <= length(s)) and IsHex do begin if not (s[i] in legal) then IsHex := False; i := i + 1 end; if isHex then writeln('Введенная строка является шестнадцатиричным числом.') else writeln('Введенная строка не является шестнадцатиричным числом.'); end.
Тестовое решение:
Введите строку: 58bfa Введенная строка является шестнадцатиричным числом. Введите строку: 1054Acg Введенная строка не является шестнадцатиричным числом.
a, b: integer;
begin
readln(a, b);
writeln(System.Math.Sign(a) = System.Math.Sign(b) ? 'Да' : 'Нет');
end.
Или ̶п̶р̶и̶м̶и̶т̶и̶в̶н̶е̶е̶ проще:
var
a, b: integer;
begin
readln(a, b);
if (a > 0) then a := 1;
if (a = 0) then a := 0;
if (a < 0) then a := -1;
if (b > 0) then b := 1;
if (b = 0) then b := 0;
if (b < 0) then b := -1;
if (a = b) then
writeln('Yes')
else
writeln('No');
end.
Немного ̶у̶п̶р̶о̶̶щ̶̶ё̶н̶н̶ы̶й̶ оптимизированный вариант:
var
a, b: integer;
begin
readln(a, b);
if (a > 0) then
a := 1
else
if (a = 0) then
a := 0
else
a := -1;
if (b > 0) then
b := 1
else
if (b = 0) then
b := 0
else
b := -1;
if (a = b) then
writeln('Yes')
else
writeln('No');
end.