Program zadacha;
uses crt;
var a, b, w, k: integer;
x: real;
begin
clrscr;
write ('vvedite a, b, w, k: ');
readln (a, b, w, k);
if k=1 then x:=log2(w-a)
else if k=2 then x:=sqrt(sqr(w)+b*w+a)
else if k=3 then x:=sqrt(w+a)+sqrt(w+b)
else if k>3 then x:=-(a*w)/w
else writeln ('nevernye ishodnye dannye');
writeln ('x=', x:0:4);
readkey;
end.
Тест:
a=2, b=3, w=7, k=1
x=2.3219
Var
flag,i,x,y:integer;
begin
x:=Random(0,99);
flag:=0;
for i:=1 to 10 do begin
write('Введите ваше число ');
readln(y);
if (x = y) then begin
flag:=1;
writeln('Дан правильный ответ!');
break
end
else
if (x < y) then
writeln('Попробуйте взять число поменьше')
else
writeln('Попробуйте взять число побольше');
end;
if flag = 0 then writeln('Все попытки исчерпаны');
end.
X = 336
y = 8
х = x div y = 336 div 8 = 42
y = x mod y = 42 mod 8 = 2
CLS
e = .0001
PRINT TAB(20); "labrab 2"
PRINT " x S yt p kol"
FOR x = .2 TO 1 STEP .1
n = 1: S = 0: kol = 0: sm = 1: np = 1
DO
np = np * x
V = sm * np / n
S = S + V
n = n + 1
kol = kol + 1
sm = -sm
LOOP UNTIL ABS(V) <= e
yt = LOG(1 + x)
P = ABS((S - yt) * (yt)) * 100
PRINT USING "#.# ##.#### ##.#### ##.#### ##"; x; S; yt; P; kol
NEXT x
END
<em><u>Результат выполнения программы:</u></em>
labrab 2
x S yt p kol
0.2 0.1823 0.1823 0.0002 5
0.3 0.2624 0.2624 0.0002 7
0.4 0.3365 0.3365 0.0007 8
0.5 0.4054 0.4055 0.0012 10
0.6 0.4700 0.4700 0.0009 14
0.7 0.5306 0.5306 0.0019 18
0.8 0.5878 0.5878 0.0023 27
0.9 0.6419 0.6419 0.0027 51