Информатика, опубликовано 01.02.2019 19:00
Дан массив с15. найти произведение ненулевых элементов. язык паскаль
Ответ оставил: Гость
1. var a: integer;
Begin
if a > 0 then a := a + 1;
write (a);
end.
2. var a: integer;
Begin
if a < 0 then a:= a * 2;
write (a);
end.
3. var a: integer;
Begin
if a <> 0 then a:= a - 4;
write(a);
end.
4. var a: integer;
Begin
if a > 0 then a:= a + 1
else a:= a - 1;
write (a);
end.
5. var a: integer;
Begin
if a = 0 then a:= a + 3
else a:= 0;
write (a);
end.
6. var x, y: real;
if x > y then x:= x*y
else x:= x + y;
write (x);
end.
Begin
if a > 0 then a := a + 1;
write (a);
end.
2. var a: integer;
Begin
if a < 0 then a:= a * 2;
write (a);
end.
3. var a: integer;
Begin
if a <> 0 then a:= a - 4;
write(a);
end.
4. var a: integer;
Begin
if a > 0 then a:= a + 1
else a:= a - 1;
write (a);
end.
5. var a: integer;
Begin
if a = 0 then a:= a + 3
else a:= 0;
write (a);
end.
6. var x, y: real;
if x > y then x:= x*y
else x:= x + y;
write (x);
end.
Ответ оставил: Гость
Укрупненная блок-схема алгоритма, полученная нисходящим проектированием, приведена во вложении слева (песочный фон).
Последующая детализация функций приведена справа (серо-голубой фон).
// PascalABC.NET 3.3, сборка 1590 от 03.12.2017
// Внимание! Если программа не работает, обновите версию!
function a(x:real):real;
begin
if x<=1 then Result:=Pi/4 else Result:=Pi
end;
function z(a,x:real):real;
begin
Result:=0;
for var k:=0 to 10 do
Result+=Ln(x)*Sin(k*(x-a))
end;
begin
var x:=0.6;
repeat
Writeln(x:3:1,z(a(x),x):15:8);
x+=0.2
until x>1.81
end.
Результат
0.6 3.76029679
0.8 -0.17885683
1.0 0.00000000
1.2 -0.05865268
1.4 0.04432873
1.6 -0.54134665
1.8 -0.34651256
Последующая детализация функций приведена справа (серо-голубой фон).
// PascalABC.NET 3.3, сборка 1590 от 03.12.2017
// Внимание! Если программа не работает, обновите версию!
function a(x:real):real;
begin
if x<=1 then Result:=Pi/4 else Result:=Pi
end;
function z(a,x:real):real;
begin
Result:=0;
for var k:=0 to 10 do
Result+=Ln(x)*Sin(k*(x-a))
end;
begin
var x:=0.6;
repeat
Writeln(x:3:1,z(a(x),x):15:8);
x+=0.2
until x>1.81
end.
Результат
0.6 3.76029679
0.8 -0.17885683
1.0 0.00000000
1.2 -0.05865268
1.4 0.04432873
1.6 -0.54134665
1.8 -0.34651256
Информатика, опубликовано 09.01.2019 16:01
Информатика, опубликовано 09.01.2019 16:01
Информатика, опубликовано 09.01.2019 16:01
Информатика, опубликовано 09.01.2019 16:01