Помогите пожалуйста решить задачку двумя способами, через цикл repeat until и через for -------------------------------------------------- Дано a=2.8 , b=-0.3 , c=4 Вычислить и напечатать значение функции: y=(a+b*x)/sqrt(x*x+4) ,если x<1.4 y=a*(x*x)+b*x+c ,если x=1.4 y=a/x+exp(a*b) ,ecли x>1.4 где x изменяется в интервале от 0.8 до 2.8 с шагом 0.2 -------------------------------------------------- Через while do смог написать, а через repeat until и через for незнаю Code: Program z1; uses crt; var a,b,c,x,y:real; begin a:=2.8; b:=-0.3; c:=4; x:=0.8; while x<2.8 do begin if x<1.4 then y:=(a+b*x)/sqrt(x*x+4) else if x=1.4 then y:=a*(x*x)+b*x+c else y:=a/x+exp(a*b); writeln ('x=',x:8:2,' y=',y:8:2); x:=x+0.2; end; readkey; end.
через while: Code: program _while; uses crt; const a = 2.8; b = -0.3; c = 4; x0 = 0.8; xE = 2.8; h = 0.2; var x,y:double; begin x:=x0; clrscr; while x<xE do begin if x<1.4 then y:=-1 else if x=1.4 then y:=0 else if x>1.4 then y:=1; writeln('x =',x:3:3,', y =',y:3:3); x:=x+h; end; readln; end.
через repeat..until: Code: program _for; uses crt; const a = 2.8; b = -0.3; c = 4; x0 = 0.8; xE = 2.8; h = 0.2; var x,y:double; begin x:=x0; clrscr; repeat if x<1.4 then y:=-1 else if x=1.4 then y:=0 else if x>1.4 then y:=1; writeln('x =',x:3:3,', y =',y:3:3); x:=x+h; until x>xE; readln; end.