Základy algoritmizace a programování

Petr Sváček, Luděk Beneš, Olga Majlingová
Ústav technické matematiky

Přednáška č. 6

Rekurentně zadaná posloupnost, řešení rovnice f(x)=0. Přibližný výpočet kmitání mechanického oscilátoru. Pohyb hmotného bodu v gravitačním poli. PDF

Stručně algoritmy z přednášek (zapsané v jazyce C)


  1. Přibližný výpočet kmitání mechanického oscilátoru.
    main()
    {
      int n, j;
      double dt, t, m, b, k, g;
      double zrychleni;
      double uloc[2000], vel[2000];
      
      g = -9.81;
      m = ; 
      k = ;
      b = ;
    
      dt = 1e-4;
    
      t = 0;  
      uloc[0] = VYCHYLKA V CASE t = 0;
      vel[0]  = RYCHLOST V CASE t = 0;
    
      for(j = 0; j < n; j++)
      {
           HMOTNOST * zrychleni = (STATICKA SILA  - TLUMENI * RYCHLOST - TUHOST * VYCHYLKA);
           vel[j + 1]  = vel[j]  + zrychleni * dt;
           uloc[j + 1] = uloc[j] + vel[j]    * dt;
      }
    
      ZAPISTE DO SOUBORU uloc[], vel[]
    }
    

  2. Pohyb bodu v gravitačním poli
    main()
    {
       double m, g, Fx, Fy;
       float x[1000], y[1000], xdot[1000], ydot[1000];
       double t, dt;
       int j, n;
    
     
       x[j + 1] = x[j] + dt * rychlost_v_x; 
       y[j + 1] = y[j] + dt * rychlost_v_y; 
       
       Fx = 0; 
       Fy = -m * g;
    
       xdot[j + 1] = xdot[x] + dt * Fx / m;
       ydot[j + 1] = 
    }