Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 10. 05. 2009 10:19

kiki
Příspěvky: 36
Reputace:   
 

algoritmy v delphi

Dobrý den,

        potřebovala by jsem pomoct s delphi. Program jsem vytvořila a funguje, ale buohužel můj cvičící má  nějaké výhrady. Problém je že to není správně. Mohl by jste mi někdo pomoct, jedná se o tyto funkce  ( x, tgx, tglnx, lnx) funkce x a tgx jsou prý správně, a zbytek už ne.

http://forum.matweb.cz/upload/610-HPIM1419.GIF


Dík

Offline

 

#2 10. 05. 2009 13:53

Lukee
Administrátor
Místo: Opava
Příspěvky: 1850
Škola: UPOL, Informatika
Pozice: Roznašeč reklamních bannerů
Web
 

Re: algoritmy v delphi

Na tom obrázku je vidět velké kulové, nakopíruj sem přímo ten zdroják.


2+2=4

Offline

 

#3 10. 05. 2009 16:45

kiki
Příspěvky: 36
Reputace:   
 

Re: algoritmy v delphi

Tak alespoň takto, snad to pomůže.

var
  A:array[1..5] of Real;
  B,C,D,E,F,X:Real;
  I:Integer;
begin
  for I:= 1 to 5 do
    ReadLn (A[i]);
  WriteLn;
  WriteLn;
  for I:=1 to 75 do
    Write ('-');
  WriteLn;
  Write('X':7,'':4,'tg(X)':10,'':4,'ln(X)':18,
                      '':4,'tg(ln(X))':20);
  WriteLn;
  for I:=1 to 75 do
    Write ('-');
  WriteLn;
  for I:=1 to 5 do
  begin
    X:=A[i];
    Write(X:9:4);
    B:=cos(X);
    if B<>0 then
    begin
      C:=sin(X)/cos(X);
      Write('':2);
      Write(C:14);
    end
    else
      Write('---':12);
    if X>0 then
    begin
      D:=ln(X);
      Write('':8);
      Write(D:14);
      E:=cos(D);
      if E<>0 then
      begin
        F:=sin(D)/cos(D);
        Write('':8);
        Write(F:14);
      end
      else
        Write('---':8);
        Write('---':17,'---':22)
      end;
    end;
    WriteLn;
    ReadLn;
  end;
end.


Díky

Offline

 

#4 21. 05. 2009 23:10

jardasmid
Příspěvky: 65
Reputace:   
 

Re: algoritmy v delphi

Jen pro přehlednost si to dám do "code", zítra na to juknu

Code:

var
  A:array[1..5] of Real;
  B,C,D,E,F,X:Real;
  I:Integer;
begin
  for I:= 1 to 5 do
    ReadLn (A[i]);
  WriteLn;
  WriteLn;
  for I:=1 to 75 do
    Write ('-');
  WriteLn;
  Write('X':7,'':4,'tg(X)':10,'':4,'ln(X)':18,
                      '':4,'tg(ln(X))':20);
  WriteLn;
  for I:=1 to 75 do
    Write ('-');
  WriteLn;
  for I:=1 to 5 do
  begin
    X:=A[i];
    Write(X:9:4);
    B:=cos(X);
    if B<>0 then
    begin
      C:=sin(X)/cos(X);
      Write('':2);
      Write(C:14);
    end
    else
      Write('---':12);
    if X>0 then
    begin
      D:=ln(X);
      Write('':8);
      Write(D:14);
      E:=cos(D);
      if E<>0 then
      begin
        F:=sin(D)/cos(D);
        Write('':8);
        Write(F:14);
      end
      else
        Write('---':8);
        Write('---':17,'---':22)
      end;
    end;
    WriteLn;
    ReadLn;
  end;
end.

Offline

 

#5 21. 05. 2009 23:14

jardasmid
Příspěvky: 65
Reputace:   
 

Re: algoritmy v delphi

Tak jsem na to letmo kouknul ještě teď. Problém je, že u ln(x) a tg(ln(x)) musíš testnou, jestli x >= 1, nikoliv 0.

Offline

 

#6 22. 05. 2009 08:45

Olin
Místo: Brno / Praha
Příspěvky: 2823
Reputace:   81 
 

Re: algoritmy v delphi

↑ jardasmid:
To si nemyslím, podle mě jsou podmínky v pořádku. Pro ln(x) je x > 0 a pro tg(ln(x)) je to cos(ln(x)) <> 0.


Matematika = královna věd. Analýza = královna matematiky. (Teorie množin = bohatství matematiky.)
MKS Náboj iKS

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson