Прокомментировать код - Pascal ABC (14504)

Формулировка задачи:

Помогите объяснить программу. То есть комментировать каждое действие программы.Буду очень благодарен.
var s,sa,sb:string;
z:char;
a,b,pr,k:integer;
begin
write('Введите пример >> ');
readln(s);
pr:=pos(' ',s);
while pr <> 0 do
begin
delete(s,pr,1);
pr:=pos(' ',s);
end;
if pos('+',s) <> 0 then z:='+'
else if pos('-',s) <> 0 then z:='-'
else if pos('*',s) <> 0 then z:='*'
else if pos('/',s) <> 0 then z:='/';
sa:=copy(s,1,pos(z,s)-1);
sb:=copy(s,pos(z,s)+1,length(s));
val(sa,a,k);
val(sb,b,k);
case z of
'+' : writeln(a,' + ',b,' = ',a+b);
'-' : writeln(a,' - ',b,' = ',a-b);
'*' : writeln(a,' * ',b,' = ',a*b);
'/' : writeln(a,' / ',b,' = ',a/b);
else writeln('Не верная операция');
end;
end.

Код к задаче: «Прокомментировать код - Pascal ABC (14504)»

textual
var s,sa,sb:string;
    z:char;
begin
write('Введите пример >> ');//типа 125-89
readln(s);
while pos(' ',s)>0 do delete(s,pos(' ',s),1);//удалим из строки пробелы
if pos('+',s) <> 0 then z:='+'//определяем знак операции
else if pos('-',s) <> 0 then z:='-'
else if pos('*',s) <> 0 then z:='*'
else if pos('/',s) <> 0 then z:='/';
sa:=copy(s,1,pos(z,s)-1);//копируем часть строки до знака
sb:=copy(s,pos(z,s)+1,length(s));//то же после знака
//val(sa,a,k); //это в АВС не нужно
//val(sb,b,k);
case z of  //выполняем действие в сответствии со знаком
'+' : writeln(sa,' + ',sb,' = ',strtoint(sa)+strtoint(sb));
'-' : writeln(sa,' - ',sb,' = ',strtoint(sa)-strtoint(sb));
'*' : writeln(sa,' * ',sb,' = ',strtoint(sa)*strtoint(sb));
'/' : writeln(sa,' / ',sb,' = ',strtoint(sa)/strtoint(sb));
else writeln('Не верная операция');
end;
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

9   голосов, оценка 3.667 из 5


СДЕЛАЙТЕ РЕПОСТ