Написать программу, при которой с клавиатуры вводится 2 числа и если первое из них положительное, то находится сумма этих чисел, если отрицательное - разность. Программу записать в двух формах: на языке блок-схем и на языке Паскаль.
program cube; var a,s,v:real; begin; write('Введите длину ребра куба: '); read(a); v:=power(a,3); s:=6*sqr(a); write('Площадь равна ',s,', а объём равен ',v,'.'); end.
Второе задание:
program par; var a,b,c,s,v:real; begin; write('Введите стороны a,b,c: '); read(a,b,c); v:=a*b*c; s:=2*(a*b+b*c+a*c); write('Площадь равна ',s,', а объём равен ',v,'.'); end.
Третье и четвёртое задания:
program mult; var r,a,b,c:real; begin; write('Введите три числа: '); read(a,b,c); r:=a*b*c; write('Произведение чисел равно ',r); end.
Procedure WriteDMS(r: real); var dd, s: real; d, m: integer;
begin dd := 180 * r / Pi; d := Trunc(dd); dd := 60 * (dd - d); m := Trunc(dd); s := 60 * (dd - m); Writeln('=', d, ' град ', m, ' мин ', s:0:2, ' сек') end;
var a, b, c, dd: real;
begin Write('Введите через пробел стороны треугольника a,b,c: '); Readln(a, b, c); Writeln('Значения углов треугольника'); Write('А'); dd := ArcCos((sqr(b) + sqr(c) - sqr(a)) / (2 * b * c)); WriteDMS(dd); Write('B'); dd := ArcCos((sqr(a) + sqr(c) - sqr(b)) / (2 * a * c)); WriteDMS(dd); Write('C'); dd := ArcCos((sqr(a) + sqr(b) - sqr(c)) / (2 * a * b)); WriteDMS(dd); end.
Тестовое решение: Введите через пробел стороны треугольника a,b,c: 5.8 3.2 4.9 Значения углов треугольника А=88 град 53 мин 7.58 сек B=33 град 28 мин 41.54 сек C=57 град 38 мин 10.88 сек
Объяснение:
program a1;
var a, b, s:integer;
begin
readln(a, b);
if a>0
then s:=a+b
else s:=a-b;
writeln(s);
end.