Matematické Fórum

Archiv diskusního fóra o matematice, 2006–2026

Toto je archiv Matematického Fóra. Fórum je dostupné jen ke čtení. Můžete se ale zaregistrovat na náš Discord server.

#1 22. 10. 2007 11:20

jitkaV6
Příspěvky: 57
Reputace:   0 
 

max3 pomoci curryngu

Ahojte nevite nahodu nekdo jak udelat proceduru max3 pomoci curryngu,ze se ma zjistit max 3 cislice prave pomoci curryngu,normalne proceduru bez pomoci curryngu tu vim ale s tim to si nevim rady.Dekuji moc.

Offline

 

#2 22. 10. 2007 15:38

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

Re: max3 pomoci curryngu

A kde je konkrétně problém? Třeba procedura pro nalezení většího čísla ze dvou zadaných by vypadala takto:

 


span style="color: #808080; font-style: italic;">;; vypíše 5


Procedura pro tři čísla bude prakticky stejná, jen tam bude jedna lambda navíc a bude tam trochu jiný algoritmus.


2+2=4

Offline

 

#3 22. 10. 2007 15:52

jitkaV6
Příspěvky: 57
Reputace:   0 
 

Re: max3 pomoci curryngu

Takze kdyz  mam naprogramovat proceduru curry-max3,pomoci niz bude proveden currying max3 pro hledani maxima ze tri prvku,tak to bude obdobne ze

Offline

 

#4 22. 10. 2007 16:28

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

Re: max3 pomoci curryngu

Jo, currying je právě o tom, že máš vícero v sobě vnořených lambd, kdy každá lambda má pouze jeden argument.


2+2=4

Offline

 

#5 22. 10. 2007 16:58

jitkaV6
Příspěvky: 57
Reputace:   0 
 

Re: max3 pomoci curryngu

takze ten muj problem ten priklad co mam by mel vypadat takhle:

span style="color: #808080; font-style: italic;">;; vypíše 7

Offline

 

#6 22. 10. 2007 18:02

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

Re: max3 pomoci curryngu

Ne, zkoušela sis to projet ve schemu? Hodí ti to bad syntax, protože za ifem mohou následovat pouze dvě větve, kdežto ty tam máš tři (a, b, c). Ale to zanoření lambd tam máš správně.


2+2=4

Offline

 

#7 22. 10. 2007 18:09 — Editoval jitkaV6 (22. 10. 2007 18:09)

jitkaV6
Příspěvky: 57
Reputace:   0 
 

Re: max3 pomoci curryngu

ahaa,jenom dve,tak ti dekuji za osvetleni,jsem totoz zatim jen zacatecnice vis,ale jak to mam teda tedka udelat,aby to bylo spravne,nevis?

Offline

 

#8 22. 10. 2007 18:23

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

Re: max3 pomoci curryngu

If má snad ve všech programovacích jazycích prakticky stejnou syntaxi: if <podmínka> <true> <false>. Když je <podmínka> pravdivá, provede se větev <true>, když je nepravdivá, provede se (pokud je v kódu) větev <false>. Jinou větev tam ani logicky dostat nelze.

V zásadě mě napadají dva způsoby řešení, ale asi by se jich našlo ještě víc. Komplikované řešení je přes několik ifů a podmínek typu když je a>b a zároveň je a>c, potom je největší a apod. Druhá možnost, značně jednodušší, je napsat si ještě proceduru na zjištění maximálního čísla ze dvou vložených, která ti to značně zjednodušší. Dostál to myslím ukazoval i na nějakém cvičení.


2+2=4

Offline

 

#9 22. 10. 2007 21:32

jitkaV6
Příspěvky: 57
Reputace:   0 
 

Re: max3 pomoci curryngu

 


takze tam mam do toho vlozit tohle to

Offline

 

#10 22. 10. 2007 21:48

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

Re: max3 pomoci curryngu

ee :-). Teda skoro. Tu proceduru máš špatně, protože ta procedura nic nevrací. A máš tam špatně závorky, na konci jich pár chybí. Zkus si vážně ten kód hodit nejdřív do schemu, vypíše ti základní chyby. Momentálně ti tam chybí ty větve <true> a <false>, viz výše.

Jinak myšlenka toho řešení je taková: Máš tři čísla, a, b, c . Maximální číslo najdeš tak, že porovnáš číslo a s maximální hodnotou čísel b, c, kterou zjistíš právě pomocí procedury max2. Když je a větší, vypíšeš a. Když je větší maximum z b, c, vypíšeš maximum z b, c. Je to jednudché jako facka :-).

Jestli nerozumíš syntaxi, prohlédni si nějaké vzorové příklady, hlavně na podmínky - if. Bralo se to na konci první přednášky [PDF].


2+2=4

Offline

 

#11 22. 10. 2007 22:13

jitkaV6
Příspěvky: 57
Reputace:   0 
 

Re: max3 pomoci curryngu

No vidis ja zapomela,sem to psala ve spechu vis:-).Ted sem z toho teda peken zmatena:-(Vim ze je to lehky priklad,ale ty mas urcite zkusenosti s programovanim nebo snecim podobnym,ja teprve zacinam a reknu ti ze je to pekne tezky,hlavne to musi clovek pochopit.

Offline

 

#12 22. 10. 2007 22:23

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

Re: max3 pomoci curryngu

Nóóóó ééééé....... Já už z Paradigmat 1 mám jeden zápočet :o).

Jestli jsi doteď něco ze schemu nepochopila, tak věř, že už bude jen hůř a hůř a látka bude stále těžší a méně chápavější. Takže když si necháš ujet vlak hned na začátku, nemáš šanci to dohnat. Tudíž jestli chceš tenhle předmět udělat, ponoř se na hodně dlouho do těch Vychodilových skript (je to skvělá zábava, fakt, já to přečetl loni asi třikrát) a pár nocí si vyhraď pouze na radovánky se schemem. Při zápočtech a zkouškách se příklady píší přímo z hlavy na papír, bez možnosti kontroly dr.schemem, který by tě třeba upozornil na nějaké chyby, takže když ten jazyk nebudeš znát dokonale včetně všech výjimek a krizových a mezních situací, neuděláš to.


2+2=4

Offline

 

#13 22. 10. 2007 22:35

jitkaV6
Příspěvky: 57
Reputace:   0 
 

Re: max3 pomoci curryngu

ty to opakujes?,takze tam ani nemusis chodit ze kdyz ho uz mas ne.Hmm asi jo,mela bych nad tim hoodne posedet,jenze je toho hodne,kdyz budu sedet jen nad timhle taknebudu mit cas na to ostatni ze:-(.Uvidime.Nemohl by si mi prosim te napsat jak by to melo spravne byt,ze by si mi to vysvetlil,byla bych ti mooc vdecna.

Offline

 

#14 22. 10. 2007 22:55 — Editoval Kondr (23. 10. 2007 02:55)

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: max3 pomoci curryngu

Tak já si tipnu:

 

U nás se coby zástupce funkcionálního paradigmatu bere Haskell, ale asi je to celkem podobné.


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

#15 22. 10. 2007 23:25

jitkaV6
Příspěvky: 57
Reputace:   0 
 

Re: max3 pomoci curryngu

myslis ze je to takhle ale jeste se to musi nejak zmenit ze,kdyz to mam mit proceduru max3

Offline

 

#16 23. 10. 2007 09:13

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

Re: max3 pomoci curryngu

@Kondr: To je špatně, když bude b>a, vyhodí se automaticky b bez toho, aniž by se porovnalo s c.

 


2+2=4

Offline

 

#17 23. 10. 2007 12:22

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: max3 pomoci curryngu

Tak pokus číslo 2:

 


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

#18 23. 10. 2007 13:46

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

Re: max3 pomoci curryngu

Jo, to už by mělo fungovat.


2+2=4

Offline

 

#19 23. 10. 2007 14:03

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

Re: max3 pomoci curryngu

Respektive já to mám udělané takhle:

 


První procedura je jasná, v druhé používám let výraz, který mi na symbol max2 naváže výsledek procedury max2 s argumenty a b. Tedy naváže mi to věší číslo z těch dvou. Pak ho porovnám se třetím a vypíšu buď to třetí nebo max2. Nicméně let výraz není nutný a můžu pokaždé volat tu proceduru max2. Let výraz to usnadní pouze v tom, že se to max2 počítá pouze jednou.


2+2=4

Offline

 

#20 23. 10. 2007 22:30

jitkaV6
Příspěvky: 57
Reputace:   0 
 

Re: max3 pomoci curryngu

Aha,ale neni to zbytecne slozi¨t,na to bych neprisla teda:-),to predtim od  kondra to funguje.

Offline

 

Archiv Matematického Fóra · stav k 30. 8. 2026 · 633 258 příspěvků v 108 818 tématech