ответ:var a, b: real; s: string; begin readln(a); readln(b); readln(s); if s = '+' then write(a + b); if s = '-' then write(a - b); if s = '/' then if b <> 0 then write(a / b) else write('Деление на 0!'); if s = '*' then write(a * b); if s = 'mod' then if b <> 0 then write(Round(a) mod Round(b)) else write('Деление на 0!'); if s = 'pow' then write(power(a, b)); if s = 'div' then if b <> 0 then write(Round(a) div Round(b)) else write('Деление на 0!'); end.Пояснение:
В pascal операции mod и div к вещественным типам недоступны, поэтому округляем их через Round. Можно поменять на Trunc - он возвратит только целую часть.
Однако правильнее будет делать через case:var a, b: real; s: string; begin readln(a); readln(b); readln(s); case s of char.ToString('+'): write(a + b); char.ToString('-'): write(a - b); char.ToString('/'): if b <> 0 then write(a / b) else write('Деление на 0!'); char.ToString('*'): write(a * b); 'mod': if b <> 0 then write(Round(a) mod Round(b)) else write('Деление на 0!'); 'pow': write(power(a, b)); 'div': if b <> 0 then write(Round(a) div Round(b)) else write('Деление на 0!'); end; end.Пояснение:
В case '+', '-', '/', '*' воспринимаются как char, поэтому переводим их в string через стандартный метод класса char: char.ToString( )
В pascal операции mod и div к вещественным типам недоступны, поэтому округляем их через Round. Можно поменять на Trunc - он возвратит только целую часть.
Однако правильнее будет делать через case:var a, b: real; s: string; begin readln(a); readln(b); readln(s); case s of char.ToString('+'): write(a + b); char.ToString('-'): write(a - b); char.ToString('/'): if b <> 0 then write(a / b) else write('Деление на 0!'); char.ToString('*'): write(a * b); 'mod': if b <> 0 then write(Round(a) mod Round(b)) else write('Деление на 0!'); 'pow': write(power(a, b)); 'div': if b <> 0 then write(Round(a) div Round(b)) else write('Деление на 0!'); end; end.Пояснение:В case '+', '-', '/', '*' воспринимаются как char, поэтому переводим их в string через стандартный метод класса char: char.ToString( )
Примеры работ:1.
program tr;
uses drawman;
procedure t;
begin
PenDown;
OnVector (2,4);
OnVector (2,-4);
OnVector (-4,0);
OnVector (2,0);
PenUp
end;
var i:integer;
begin
Field(12,6);
ToPoint (1,1);
for i:=1 to 4 do t;
ToPoint (0,0);
end.
2.
program lod;
uses drawman;
procedure l;
begin
PenDown;
OnVector (0,2);
OnVector (-1,-2);
OnVector (2,0);
OnVector (-1,2);
OnVector (0,-2);
OnVector (-2,0);
OnVector (1,-1);
OnVector (2,0);
OnVector (1,1);
OnVector (-2,0);
PenUp
end;
begin
Field(12,9);
ToPoint (3,2);
l;
ToPoint (6,6);
l;
ToPoint (9,2);
l;
ToPoint (0,0)
end.
Объяснение:
Смотри картинки