Strict Standards: Declaration of action_plugin_importoldchangelog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/lib/plugins/importoldchangelog/action.php on line 8 Strict Standards: Declaration of action_plugin_importoldindex::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/lib/plugins/importoldindex/action.php on line 0 Deprecated: Function split() is deprecated in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/inc/auth.php on line 154 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/inc/auth.php on line 456 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/inc/auth.php on line 456 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/inc/auth.php on line 453 Strict Standards: Only variables should be passed by reference in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/doku.php on line 71 plocha_pod_grafem [Programování]
 

Zadání

Napište program, který přečte meze intervalu, tj. čísla a a b, a spočítá plochu pod grafem funkce sin(5cosx), a to tak, že interval (a; b) rozdělí na spoustu malých podintervalů a aproximuje celkovou plochu jako součet ploch obdelníků které budou těmito podintervaly a grafem vytyčeny.

Řešení

 
const DELTA = 0.001; {delka obdelnicku}
 
var A,               {dolni mez intervalu}
    B,               {horni mez intervalu}
    TMP,             {pomocna promenna}
    X,               {X-ova souradnice aktualniho obdelnicku}
    Y,               {X-ova souradnice horniho rohu aktualniho obdelnicku}
    OBD,             {plocha aktualniho obdelnicku}
    PLOCHA: real;    {vysledna plocha}
 
 
begin
  {nacteme meze}
  readln(A);
  readln(B);
 
  {k teto promenne pricitame plochy obdelnicku, zatim jsme zadny obdelnicek nepricetli}
  PLOCHA := 0;
 
  {kdyby uzivatel zadal horni mez mensi nez dolni, pak prohodime horni a dolni mez}
  if A > B then begin
    TMP := A; A := B; B := TMP;
  end;
 
  if A < B then begin
    {zacneme dolni mezi intervalu}
    X := A;
 
    {posunujeme se vpravo k horni mezi, v kazdem kroku se posumene o DELTA}
    while X <= (B - DELTA) do begin
      {spocitame vysku obdelnicku}
      Y := Sin(5*(Cos(X + DELTA / 2)));
 
      {spocitame plochu obdelnicku a pricteme ji k celkove plose}
      OBD:= Y * DELTA;
      PLOCHA := PLOCHA  + OBD;
 
      {posuneme se doprava o DELTA, tj. o sirku odbelnicku}
      X := X + DELTA;
    end;
 
  end;
 
  {vypis vysledku}
  writeln('Plocha je ', PLOCHA, 'jednotek ctverecnych.');
  readln;
 
end.
 
plocha_pod_grafem.txt · Poslední úprava: 2007/11/22 17:39 autor: rimsky
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Strict Standards: Only variables should be passed by reference in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/doku.php on line 79