Написать программу с двумя формами ветвлений – альтернативой и переключателем - Pascal
Формулировка задачи:
Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли
Решение задачи: «Написать программу с двумя формами ветвлений – альтернативой и переключателем»
textual
Листинг программы
Program Variant_11; Uses WinCRT; Const r=1; t=0.5; Var y_razrez, s_left, s_right, x, alfa, betta,z, h: Real; Begin WriteLn('Laboratornaya rabota#2'); WriteLn('Variant#11'); WriteLn('IS-12-2'); WriteLn('TTTT'); WriteLn; Write('x='); {VVod ishodnyh dannyh} ReadLn(x); IF (x=0) Then Begin y_razrez:=1; s_left:=(Pi*r*r)/4+(Pi*t*t)/2; s_right:=(Pi*r*r)/4+(Pi*t*t)/2; End; IF (x<>0) Then If (x>=0.5) Then Begin y_razrez:=z+h; z:=sqrt(r*r-x*x); h:=sqrt(t*t-(x-0.5)*(x-0.5)); alfa:=2*arctan(z/x); betta:=2*arctan(h/(x-0.5)); s_right:=(r*r/2*(alfa-sin(alfa)))/2+(t*t/2*(betta-sin(betta))); s_left:=(Pi*r*r)/4+(Pi*t*t)/2+(Pi*r*r)/4+(Pi*t*t)/2-s_right; End Else Begin y_razrez:=z+h; z:=sqrt(r*r-x*x); h:=sqrt(t*t-(0.5-x)*(0.5-x)); alfa:=2*arctan(z/h); betta:=2*arctan(h/(0.5-x)); s_right:=(r*r/2*(alfa-sin(alfa)))/2+(t*t/2*(betta-sin(betta)))/2; s_left:=(Pi*r*r)/4+(Pi*t*t)/2+(Pi*r*r)/4+(Pi*t*t)/2-s_right; End Else If(x>=-0.5) Then Begin y_razrez:=z+h; z:=sqrt(r*r-x*x); h:=sqrt(t*t-(0.5-abs(x))*(0.5-abs(x))); alfa:=2*arctan(z/x); betta:=2*arctan(h/(0.5-abs(x))); s_left:=(r*r/2*(alfa-sin(alfa)))/2+(t*t/2*(betta-sin(betta)))/2; s_right:=(Pi*r*r)/4+(Pi*t*t)/2+(Pi*r*r)/4+(Pi*t*t)/2-s_left; End Else Begin y_razrez:=z+h; z:=sqrt(r*r-x*x); h:=sqrt(t*t-(abs(x)-0.5)*(abs(x)-0.5)); alfa:=2*arctan(z/x); betta:=2*arctan(h/(abs(x)-0.5)); s_left:=(r*r/2*(alfa-sin(alfa)))/2+(t*t/2*(betta-sin(betta)))/2; s_right:=(Pi*r*r)/4+(Pi*t*t)/2+(Pi*r*r)/4+(Pi*t*t)/2-s_left; End; WriteLn('y_razrez=',y_razrez:0:6); {Vyvod dannyh} WriteLn('s_left=',s_left:0:6); WriteLn('s_right=',s_right:0:6); readkey; End.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д