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
Stránky: 1
Tak tu máme poslední ulohy za body viz. http://phoenix.inf.upol.cz/~dostal/data … iklady.txt
Nějaky body by se mi ješte před písemkou hodily,nevíte někdo jak na ně prosim Vás,děkuji moc.
Offline
Ve funkcionálním programování se nevyznám, ale pomohlo by třeba, kdyby jsi to viděla v nějakém klasickém programovacím jazyku? Náš přednášející to ukazoval v pascalu..
Offline
@Saturday: To nepomůže… Respektive nepomůže, když to naprogramuješ normálně. Zkus naprogramovat Bubblesort bez cyklů (jen pomocí rekurze) a bez pomocných proměnných (typicky na zachování hodnoty pole, když v bubblesortu prohazuješ dva prvky vedle sebe). Pak by se to mohlo přiblížit funkcionálnímu programování :-).
Já jsem se na to koukal a je to docela hardcore. Asi nad tím strávím víkend, jestli to chci udělat.
Offline
Ty metody třídění se dají najít na codecodexu. Ale nepředpokládám, že by z toho někdo něco extra pochopil, navíc tam používají fígle, které by asi Dostál neuznal (vnořený define, třeba).
Offline
zrejme neni, co zavidet :))
Offline
Já zkusím nadhodit myšlenku, jak naprogramovat ten Bubblesort. Procedura bude brát seznam a dál bude v sobě provádět dvě rekurzivní procedury (buď budou napsány mimo tuhle proceduru nebo pomocí pojmenovaných letů, to už je jedno).
V té vnitřnější proceduře provedeme tohle: čítač i nastavíme na 1 a dále porovnáme první prvek s druhým prvek a poté iterativně zavoláme tutéž proceduru s těmito parametry: čítač rekurze zvýšíme o jedničku (+ i 1) a dále vrátíme seřazený seznam (mensi-prvek vetsi-prvek). Teď porovnáváme dál. Porovnáme třetí prvek seznamu (určovat, který prvek zrovna porovnáváme s čím, bude čítač i) s největším prvkem v námi předaném seznamu (mensi-prvek vetsi-prvek), tedy s vetsi-prvek. Teď mohou nastat dva případy – třetí prvek je větší. To je ta jednodušší varianta. Poté iterativně zavoláme tutéž proceduru, kde pouze zvýšíme čítač o jedničku a na konec seřazeného seznamu přidáme ten třetí prvek, tedy předáme (mensi-prvek vetsi-prvek treti-prvek). Pokud je ovšem třetí prvek menší, musí ho uložit mezi hodnoty mensi-prvek a vetsi-prvek, což je o fous složitější. Tohle celé budeme opakovat tak dlouho, dokud neprojdeme celý seznam.
A ta vnější procedura bude dělat pouze to, že celý tenhle proces bude dělat (n – 1) krát, kde n je počet prvků v seznamu.
Offline
Determinant matice jde udělat tak, že si upravíš matici na trojúhelníkový tvar a determinant pak je součin prvků na hlavní diagonále. Asi by taky šlo postupovat podle klasické definice, to jsem ale nezkoušel:
Inverzní matici už pak spočítáš jednoduše přes Adjungovanou matici.
Offline
Ani ne, ze dvou důvodů:
— sral jsem se s tím celý víkend, takže se mi to nechce jen tak někomu dávat;
— ten program se skládá z asi třech velkých procedur, pěti menších a několika konstruktorů a selektorů, takže bys z toho pravděpodobně stejně moc nepochopila.
Zkus sem napsat, co už jsi sama vytvořila, jestli to bude v mých silách, poradím.
Offline
Stránky: 1