Это задача на вычисление суммы после уплаты налога. Если s0 - исходная сумма, а р - процент налога, то ищется s=s0-s0*p/100. Окончательная формула: s=s0(1-p/100)
const p=13; { налог в процентах } var s0,s:real; begin Write('Введите сумму '); Read(s0); s:=s0*(1-p/100); { а теперь округлим сумму до копеек, т.е. до 0.01 } s:=Int(100*(s+0.005))/100; Writeln('Сумма после вычета налога ',p,'% составит ',s:0:2) end.
Тестовое решение: Введите сумму 2000 Сумма после вычета налога 13% составит 1740.00
Замечание. При целочисленной зарплате и целочисленном проценте налога оператор s:=Int(100*(s+0.005))/100; не нужен, поскольку в дробной части всегда будет не больше двух знаков. Но, поскольку о сумме зарплаты ничего не говорится, а дано только конкретное значение, которое понято как тестовый пример, было предложено решение с округлением.
О типах x и n неизвестно ничего, но по сложившейся традиции резонно предположить, что n - целое, x - вещественное. Представленная программа написана именно в таком понимании типов переменных.
var i,n:integer; x,p:double; begin Write('Введите основание (x) и показатель степени (n): '); Read(x,n); if x=0 then p:=0 else begin p:=1; for i:=1 to Abs(n) do p:=p*x; if n<0 then p:=1/p end; Writeln(x,'^',n,'=',p) end.
Тестовые решения:
Введите основание (x) и показатель степени (n): 2 30 2^30=1073741824
Введите основание (x) и показатель степени (n): -3.35 9 -3.35^9=-53137.7624927636
Введите основание (x) и показатель степени (n): 18.3 -4 18.3^-4=8.9165251950717E-06
РобоКлот не сущест.
ну както-так