Tanyamitia
?>

НУЖНО ОТВЕТИТЬ НА ВО ПО ИНФОРМАТИКЕ НУЖНО ОТВЕТИТЬ НА ВО ПО ИНФОРМАТИКЕ​ ">

Информатика

Ответы

РобертИрина
Рассматриваем движение тела, брошенного под углом к горизонту без начального ускорения. Уравнения движения тела в осях координат известны из физики:
\begin {cases} x=v_0t\cdot \cos\alpha \\ \displaystyle y=v_0t\cdot \sin\alpha-\frac{gt^2}{2} \end {cases}
Также известна формула для определения времени движения тела до его падения (т.е. возвращения на исходную высоту, которая совпадает с осью X):
\displaystyle t= \frac{2v_0\sin\alpha}{g}
Считаем, что в начальных условиях задается количество точек, в которых нужно найти значения пути пройденного в осях координат.

uses Crt;
const
   g=9.81;
   pi=3.14;
var
   alpha,ar,v0,t,x,y,tmax,ht,v0x,v0y:real;
   n:integer;
begin
   ClrScr;
   Write('Vvedite alpha, v0: ');
   Read(alpha,v0);
   Write('Chislo tochek= ');
   Read(n);
   ar:=pi*alpha/180;
   v0x:=v0*cos(ar);
   v0y:=v0*sin(ar);
   tmax:=2*v0*sin(ar)/g;
   ht:=tmax/n;
   t:=ht;
   while t<=tmax do
   begin
      x:=v0x*t; y:=v0y*t-g*sqr(t)/2;
      Writeln('t=',t:6:3,' x=',x:8:3,' y=',y:8:3);
      t:=t+ht
   end;
   ReadKey
end.

Тестовое решение:
Vvedite alpha, v0: 45 126.4
Chislo tochek= 10
t= 1.821 x= 162.864 y= 146.461
t= 3.643 x= 325.728 y= 260.375
t= 5.464 x= 488.592 y= 341.742
t= 7.286 x= 651.456 y= 390.562
t= 9.107 x= 814.320 y= 406.836
t=10.929 x= 977.184 y= 390.562
t=12.750 x=1140.048 y= 341.742
t=14.572 x=1302.912 y= 260.375
t=16.393 x=1465.776 y= 146.461
t=18.215 x=1628.640 y=   0.000
qwerty
Const
  nn = 50;{максимальное число элементов}

var
  a: array[1..nn] of integer;
  m, n, max, min, i, kn, kz, kp, kt, nmax, nmin, t: integer;

begin
  Write('Задайте количество элементов в массиве (1-50): '); Readln(n);
  Write('Введите значение для поиска: '); Readln(t);
  Writeln('Введите элементы массива');
  max := -32768; min := 32767; kn := 0; kz := 0; kp := 0; kt := 0;
  for i := 1 to n do
  begin
    Read(m);
    if max < m then begin max := m; nmax := i end
    else if min > m then begin min := m; nmin := i end;
    if m < 0 then Inc(kn)
    else if m = 0 then Inc(kz) else Inc(kp);
    if m = t then Inc(kt);
    a[i] := m
  end;
  m := a[nmax]; a[nmax] := a[nmin]; a[nmin] := m;
  Writeln('Результирующий массив');
  for i := 1 to n do Write(a[i], ' ');
  Writeln;
  Writeln('Количество элементов, равных ', t, ': ', kt);
  Writeln('Количество отрицательных элементов равно ', kn);
  Writeln('Количество нулевых элементов равно       ', kz);
  Writeln('Количество положительных элементов равно ', kp)
end.

Тестовое решение:
Задайте количество элементов в массиве (1-50): 13
Введите значение для поиска: 7
Введите элементы массива
15 -6 11 0 7 0 18 -7 -3 -4 7 0 12
Результирующий массив
15 -6 11 0 7 0 -7 18 -3 -4 7 0 12
Количество элементов, равных 7: 2
Количество отрицательных элементов равно 4
Количество нулевых элементов равно       3
Количество положительных элементов равно 6

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

НУЖНО ОТВЕТИТЬ НА ВО ПО ИНФОРМАТИКЕ НУЖНО ОТВЕТИТЬ НА ВО ПО ИНФОРМАТИКЕ​ ">
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

ivanjeka87
sergeykvik13
Aleksandrovich_Mitoyan1138
Rudakova_Yana
Чиркина999
vitaldicky349
Eduard Melikyan
okabankova7
Kaccak8778
vikgor45
alexey
Belokonev286
innavinogradova1385
skrepka397412
borisov