Program symma; var a,b,c,s:integer; begin Readln(a,b,c); if (a > b) and (c > b) then s:=a+c; if (b > a) and (c>a) then s:=b+c; if (a>b) and (b>c) then s:=a+b; if (b>a) and (a>c) then s:=b+a; Writeln(s) end.
kulagin777
27.11.2021
Логическая операция ⊕ - это "исключающее ИЛИ" (xor в языках Паскаль, Бейсик и т.д.), а → операция присваивания. Тогда a⊕b→a; a⊕b→b; a⊕b→a - это был обмен значениями a ↔ b Теперь по этой же схеме обменяем местами b и с: b⊕c→b; b⊕c→с; b⊕c→b. Результат: b→a; c→b; a→c
Программа для иллюстрации: // PascalABC.NET 3.1, сборка 1218 от 12.04.2016 begin var a:=50; var b:=-20; var c:=0; Println('Исходные значения: a=',a,'b=',b,'c=',c); a:=a xor b; b:=a xor b; a:=a xor b; b:=b xor c; c:=b xor c; b:=b xor c; Println('Результат обмена: a=',a,'b=',b,'c=',c) end.
USES CRT,Graph;VAR Device,Mode:Integer; i,x,y,s:Integer;BEGINCLRSCR; Device:=0; InitGraph(Device,Mode,''); s:=100; x:=320; y:=240; for i:=1 to 9 do begin SetLineStyle(0,0,ThickWidth); Circle(x,y,s); Delay(200); SetColor(Black); Circle(x,y,s); s:=s-10; SetColor(White); end; for i:=1 to 9 do begin SetLineStyle(0,0,ThickWidth); Circle(x,y,s); Delay(200); SetColor(Black); Circle(x,y,s); s:=s+10; SetColor(White); end; Circle(x,y,s);Readln;END.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Составьте программу нахождения суммы двух наибольших из трех различных чисел. pascal abc.
var a,b,c,s:integer;
begin
Readln(a,b,c);
if (a > b) and (c > b) then s:=a+c;
if (b > a) and (c>a) then s:=b+c;
if (a>b) and (b>c) then s:=a+b;
if (b>a) and (a>c) then s:=b+a;
Writeln(s)
end.