2составить таблицу расхода бензина от 100 км до 200 км через 20 км. (100 км пути - 8,35 литров бензина). результат вывести на экран со всеми пояснениями.
Const p=8.35; var i,n,r,h:integer; b1,b:real; begin b1:=p/100; h:=20; r:=100-h; b:=p-b1*h; n:=(200-100) div h; for i:=0 to n do begin r:=r+h; b:=b+b1*h; writeln(r:4,b:6:2); end; end.
Логическая операция ⊕ - это "исключающее ИЛИ" (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.
var i,n,r,h:integer; b1,b:real;
begin
b1:=p/100;
h:=20;
r:=100-h; b:=p-b1*h;
n:=(200-100) div h;
for i:=0 to n do
begin
r:=r+h;
b:=b+b1*h;
writeln(r:4,b:6:2);
end;
end.
Результат:
100 8.35
120 10.02
140 11.69
160 13.36
180 15.03
200 16.70