const max_size = 100;
var a: array[1..max_size] of real;
i, n: integer;
f: boolean;
begin
read(n); {Во всех задачах считаю, что n <= max_size}
for i := 1 to n do
read(a[i]);
f := true;
for i := 2 to n do
f := f and (a[i] > a[i - 1]);
write(f)
end.
Пример ввода:
4
1 2 3 4
Пример вывода:
TRUE
i, n, imax, imin: integer;
temp: real;
read(n);
imax := 1;
imin := n;
if a[i] > a[imax] then
imax := i;
for i := n - 1 downto 1 do
if a[i] < a[imin] then
imin := i;
temp := a[imax];
a[imax] := a[imin];
a[imin] := temp;
write(a[i], ' ');
4 2 3 1
var x: array[1..max_size] of integer;
i, n, temp: integer;
read(x[i]);
for i := 1 to n div 2 do
temp := x[i];
x[i] := x[n - i + 1];
x[n - i + 1] := temp;
end;
write(x[i], ' ');
4 3 2 1
i, n, sum: integer;
if i = x[i] then
sum := sum + x[i];
write(sum)
10
Сначала решим физическую задачу:
Дано:
v₀;
L;
Найти:
γ;
Решим систему ур-й описывающих движение:
y(t)=v₀Δt·sinγ - ½gΔt²
x(t)=v₀Δtcosγ;
В момент времени Пусть Δt = τ x(t)=L, тогда y(t)=0 ⇒
τ= L ÷ v₀cosγ (из ур-я x(t))
из ур-я y(t)
L·g ÷ v₀²=sin2γ
γ = ½arcsin (Lg ÷ v₀²) - Это конечная формула
ответ: γ = ½ arcsin(Lg ÷ v₀²);
Теперь код программы (PascalABC.NET):
//Если угол нужен в радианах
Program bullet_rad;
Const g_grav = 9.8; // гравитационная постоянная g=9,8
VarL, //Расстояние до целиv: real; //Начальная скорость снаряда
Beginreadln (L,v); // Читаем расстояние и скоростьwriteln (0.5*arcsin((L*g_grav)/sqr(v))); //Выводим ответEnd.
//Если угол нужен в градусах
Program bullet_gr;
Const g_grav = 9.8; // гравитационная постоянная g=9,8 pi = 3.14; // постоянная п=3,14
Beginreadln (L,v); // Читаем расстояние и скоростьwriteln ((90/pi)*arcsin((L*g_grav)/sqr(v))); //Выводим ответEnd.
const max_size = 100;
var a: array[1..max_size] of real;
i, n: integer;
f: boolean;
begin
read(n); {Во всех задачах считаю, что n <= max_size}
for i := 1 to n do
read(a[i]);
f := true;
for i := 2 to n do
f := f and (a[i] > a[i - 1]);
write(f)
end.
Пример ввода:
4
1 2 3 4
Пример вывода:
TRUE
Задача 2const max_size = 100;
var a: array[1..max_size] of real;
i, n, imax, imin: integer;
temp: real;
begin
read(n);
for i := 1 to n do
read(a[i]);
imax := 1;
imin := n;
for i := 2 to n do
if a[i] > a[imax] then
imax := i;
for i := n - 1 downto 1 do
if a[i] < a[imin] then
imin := i;
temp := a[imax];
a[imax] := a[imin];
a[imin] := temp;
for i := 1 to n do
write(a[i], ' ');
end.
Пример ввода:
4
1 2 3 4
Пример вывода:
4 2 3 1
Задача 3const max_size = 100;
var x: array[1..max_size] of integer;
i, n, temp: integer;
begin
read(n);
for i := 1 to n do
read(x[i]);
for i := 1 to n div 2 do
begin
temp := x[i];
x[i] := x[n - i + 1];
x[n - i + 1] := temp;
end;
for i := 1 to n do
write(x[i], ' ');
end.
Пример ввода:
4
1 2 3 4
Пример вывода:
4 3 2 1
Задача 4const max_size = 100;
var x: array[1..max_size] of integer;
i, n, sum: integer;
begin
read(n);
for i := 1 to n do
read(x[i]);
for i := 1 to n do
if i = x[i] then
sum := sum + x[i];
write(sum)
end.
Пример ввода:
4
1 2 3 4
Пример вывода:
10
Сначала решим физическую задачу:
Дано:
v₀;
L;
Найти:
γ;
Решим систему ур-й описывающих движение:
y(t)=v₀Δt·sinγ - ½gΔt²
x(t)=v₀Δtcosγ;
В момент времени Пусть Δt = τ x(t)=L, тогда y(t)=0 ⇒
τ= L ÷ v₀cosγ (из ур-я x(t))
из ур-я y(t)
L·g ÷ v₀²=sin2γ
γ = ½arcsin (Lg ÷ v₀²) - Это конечная формула
ответ: γ = ½ arcsin(Lg ÷ v₀²);
Теперь код программы (PascalABC.NET):
//Если угол нужен в радианах
Program bullet_rad;
Const
g_grav = 9.8; // гравитационная постоянная g=9,8
Var
L, //Расстояние до цели
v: real; //Начальная скорость снаряда
Begin
readln (L,v); // Читаем расстояние и скорость
writeln (0.5*arcsin((L*g_grav)/sqr(v))); //Выводим ответ
End.
//Если угол нужен в градусах
Program bullet_gr;
Const
g_grav = 9.8; // гравитационная постоянная g=9,8
pi = 3.14; // постоянная п=3,14
Var
L, //Расстояние до цели
v: real; //Начальная скорость снаряда
Begin
readln (L,v); // Читаем расстояние и скорость
writeln ((90/pi)*arcsin((L*g_grav)/sqr(v))); //Выводим ответ
End.