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 15. 04. 2010 15:25

květoslav
Příspěvky: 31
Reputace:   
 

procedura

zdravíčko potřoval bych najít chybu ve zdrojáku... nevím kde je, jestli proměnné v proceduře nebo ve volání procedury, možná taky v samotném tisku.
procedura by měla vypočítat hodnotu gon. funkcí, určitě někdo chybu najde beztak je to do očí bijící ale já jsem v pascalu amatér :)...

program Tomas_Bernat_streda_10_45_procedura;
{$APPTYPE CONSOLE}

procedure sincos(x:real;var a,b:real);
var
  sin,cos:real;
begin
  sin:=x-(x*x*x)/6+(x*x*x*x*x)/120;
  cos:=1-(x*x)/2+(x*x*x*x)/24;
end;


var
  x,a,b:real;
begin
  writeln('Program pro nalezeni hodnot sinus a kosinus');
  writeln('*******************************************');
  writeln;writeln;
  writeln(' (x)       sin(x)              cos(x)');
  writeln('_______________________________________');
  x:=0;
  while x<=0.50 do
  begin
    sincos(x,a,b);
    writeln(x:5:2,a:14:6,b:20:6);
    x:=x+0.05;
  end;
  writeln;writeln;
  writeln('Konec-enter');
  readln;
end.

Offline

  • (téma jako vyřešené označil(a) květoslav)

#2 15. 04. 2010 16:09 — Editoval RePRO (15. 04. 2010 16:12)

RePRO
Místo: Jihlava
Příspěvky: 363
Škola: AI VŠPJ (09-12, Bc.)
Pozice: programátor
Reputace:   11 
Web
 

Re: procedura

Promiň, ale vůbec nechápeš podstatu funkcí a procedur.

- Za prvé, pokud je to procedura, tak ten výpis co máš v hlavním programu udělej v ní. Celkovej výpočet se musí dávat do procedury, nevím proč to dáváš do hlavního programu. To co máš od whilu po konec smyčky lupni do procedury a potom by se to mohlo chovat jináč.

- Za druhé, v parametru funkce sincos máš nějaké proměnné "a" a "b", ale v proceduře je vůbec nepoužíváš, proč?

- Za třetí, když voláš proceduru (v hlavním programu) s nějakýma proměnnýma "a" a "b", tak nechápu proč je tam též nemáš v hlavním programu?

A docela dobrá otázka na konec je, proč Ti to (teda) nic nedělá? Popravdě v tom máš absolutní guláš, radím Ti doučit se látku. Pokud budeš chtít, můžu Ti to tady nastínit (pokud budu mít čas).


Srdcem trochu-programátor, duší rádoby-matematik a povoláním analytik-vývojář.

Offline

 

#3 15. 04. 2010 16:43 — Editoval septolet (15. 04. 2010 16:44)

septolet
Příspěvky: 334
Reputace:   
 

Re: procedura

↑ RePRO: Už minule jsem měl co dělat se udržet a nic ti nenapsat. Ale tohle už fakt nejde. Sám tu máš každou chvíli thread na kdejakou prkotinu, řešíš načtení 3 hodnot do struktury 5 hodin, nejsi schopný použít pár funkcí pro práci s řetězci (což je limitováno nepochopením základního stavebního kamene C/C++ (ano, mám na mysli tvoje oblíbené pointery)) a teď tady ze sebe budeš dělat velkého programátora a radit ostatním? S tímhle já nesouhlasím a myslím, že první, kdo by se měl doučit látku si ty! Ty hold těžíš z toho, že zdejší fórum je na každého strašně milé, zkus se podívat na fóra striktně o programování, tam bys už dávno nebyl, jak by tě ostatní zdrbali.

U tebe mi věta:

Popravdě v tom máš absolutní guláš, radím Ti doučit se látku.

fakt nesedí a nelíbí se mi, že tohle píšeš, když sám máš s programováním velké problémy. Začni nejprve u sebe! Děkuji.

Offline

 

#4 15. 04. 2010 17:11 — Editoval RePRO (15. 04. 2010 17:15)

RePRO
Místo: Jihlava
Příspěvky: 363
Škola: AI VŠPJ (09-12, Bc.)
Pozice: programátor
Reputace:   11 
Web
 

Re: procedura

↑ septolet: K čemu se vyjadřuješ? Nechápu Tě, buď tak laskav a hleď si svého. Tvé hodnocení mé osoby nezajímá mě a ani nikoho jiného. Nebudu se s Tebou zbytečně dohadovat, poradil jsem Květoslavovi, a od toho je tu toto fórum. Já vím, že jsi největší frajer přes programování, ale až tak moc to najevo dávat nemusíš. Měl by ses (popravdě) nad sebou zamyslet a zklidnit hormony. Tímto se omlouvám moderátorům (Kondr) a všem ostatním, ale nepříčetnost druhých je fakt neuvěřitelná...


Srdcem trochu-programátor, duší rádoby-matematik a povoláním analytik-vývojář.

Offline

 

#5 15. 04. 2010 18:05 — Editoval septolet (15. 04. 2010 18:09)

septolet
Příspěvky: 334
Reputace:   
 

Re: procedura

↑ RePRO: Reaguji na tvoje nevhodné příspěvky. Ještě ti to nedošlo, že se ptáš? Jinak necháme toho, to je asi tak jediná věc, se kterou souhlasím. Jen taková poznámka: http://reprostudio.ic.cz/clanek/180/ o téhle stránce netřeba dále vést rozhovor. Vzhledem k tomu, jak se tam vychvaluješ a vzhledem k tomu, na jaké primitivní věci se ptáš zde na fóru musí být každému jasné, jak to s tebou je. V C, že stačí znát ty 4 funkce? To si hodně uletěl. Vynulování matice pod diagonálou je práce na 2 minuty, proč se s tím tak vychvaluješ? Ostatní jsou také nesmysly, ale nemám tolik času se s tebou zabývat, ostatně každý soudný člověk si z toho závěr odvodí sám.

Offline

 

#6 15. 04. 2010 18:27

Stýv
Vrchní cenzor
Příspěvky: 5710
Reputace:   215 
Web
 

Re: procedura

nejsem sice moderátor, ale posledních pár příspěvků v tomto vlákně mi přijde naprosto OT.

↑ septolet: myslím, že přesně pro tyhle účely tu je to malý červený mínusko;) aby každej věděl, s kým má tu čest

Offline

 

#7 15. 04. 2010 18:52

květoslav
Příspěvky: 31
Reputace:   
 

Re: procedura

kluci každopádně dík za 'pomoc' asi tomu neuvěříte ale nakonec jsem to poskládal... a pravda mám značné mezery :)
K tomu příkazu while, vážně to jde udělat aby byl přímo v proceduře... to bych pak musel všechny vypočtené hodnoty, ještě v proceduře, ukládat do nějakého pole abych je nakonec v samotném programu mohl vytisknout ne?


program Tomas_Bernat_streda_10_45_procedura;
{$APPTYPE CONSOLE}


procedure pocet(x:real;var sinus,cosinus:real);

begin
    sinus:=x-(x*x*x)/6+(x*x*x*x*x)/120;
    cosinus:=1-(x*x)/2+(x*x*x*x)/24;
end;


var
  x,sinus,cosinus:real;
begin
  writeln('Program pro nalezeni hodnot sinus a kosinus');
  writeln('*******************************************');
  writeln;writeln;
  writeln(' (x)       sin(x)              cos(x)');
  writeln('_______________________________________');
  x:=0;
  while x<=0.50 do
  begin
  pocet(x,sinus,cosinus);
  x:=x+0.05;
  writeln(x:5:2,sinus:14:6,cosinus:20:6);
  end;
  writeln;writeln;
  writeln('Konec-enter');
  readln;
end.

Offline

 

#8 15. 04. 2010 19:13

RePRO
Místo: Jihlava
Příspěvky: 363
Škola: AI VŠPJ (09-12, Bc.)
Pozice: programátor
Reputace:   11 
Web
 

Re: procedura

↑ květoslav: Takhle je to správně:

Code:

program Tomas_Bernat_streda_10_45_procedura;

procedure pocet(var x:real; var meze:real);
var sinus, cosinus:real;

begin

    while (x <= meze) do begin

    sinus:=x-(x*x*x)/6+(x*x*x*x*x)/120;
    cosinus:=1-(x*x)/2+(x*x*x*x)/24;
    x:= x+0.05;
    writeln(x:5:2,sinus:14:6,cosinus:20:6);

    end;

end;

var x, mez:real;

begin
  writeln('Program pro nalezeni hodnot sinus a kosinus');
  writeln('*******************************************');
  writeln;writeln;
  writeln(' (x)       sin(x)              cos(x)');
  writeln('_______________________________________');

  x:=0;
  mez:=0.75;
  pocet(x,mez);

  readln;

end.

Srdcem trochu-programátor, duší rádoby-matematik a povoláním analytik-vývojář.

Offline

 

#9 15. 04. 2010 19:23

květoslav
Příspěvky: 31
Reputace:   
 

Re: procedura

aha díky moc...

Ještě jedna věc, profesor nám výslovně zakazuje používat v procedurách příkazy pro čtení či zápis, je v tom nějaké opodstatnění? Výšší náročnost programu vůči paměti?... nebo mu jde jen o lepší přehlednost?!?

Offline

 

#10 15. 04. 2010 19:26

RePRO
Místo: Jihlava
Příspěvky: 363
Škola: AI VŠPJ (09-12, Bc.)
Pozice: programátor
Reputace:   11 
Web
 

Re: procedura

↑ květoslav: Co se týče Pascalu, tak do procedury můžeš používat příkazy pro čtení, zápis a podobně - slouží většinou pro výpisy. Co se týče funkcí, tak to je pravej opak! Tam by jsi neměl používat výpisy a podobně. Funkce je jednoduchá krabička, do které nevidíš. Hodíš do ní nějaké vstupy, a vyplyvne Ti nějaký výstup. To znamená, že funkce se pravidlem používá pro výpočty a procedura pro výpisy. Takže v tomhle případě co jsem napsal, by to mělo být správně. ;-) :-)


Srdcem trochu-programátor, duší rádoby-matematik a povoláním analytik-vývojář.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson