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
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
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).
Offline
↑ 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
↑ 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á...
Offline
↑ 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
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
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
↑ květoslav: Takhle je to správně:
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.Offline
↑ 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ě. ;-) :-)
Offline