Forum huvudsida -> Programmering -> Programmerings lek
tobbez | 19:30 - 18:e Januari 2008 | Post #126 | |
Medlem Inlägg: 364 Skicka PM |
Funkar med firefox 3 beta 2. *Godkänner ozamosis lösning åt Python* |
Python | 11:44 - 19:e Januari 2008 | Post #127 | |
Medlem Inlägg: 157 Skicka PM |
*kickar tobbez i baken och godkänner själv* ------------------------- ------------------------- |
FunkyChicken | 12:35 - 19:e Januari 2008 | Post #128 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Independence: jag tänkte nog att servern var kvar på ett adsl och att addressen byttes lite då och då. Ozamosi får fixa ny uppgift! |
Independence | 12:43 - 19:e Januari 2008 | Post #129 | |
Administratör Inlägg: 1800 Skicka PM |
Citat av FunkyChicken:Independence: jag tänkte nog att servern var kvar på ett adsl och att addressen byttes lite då och då. Hm, fast det ADSLet har också haft statisk IP i några år ------------------------- Vi är riddarna som säger fiskbulle! |
FunkyChicken | 16:26 - 19:e Januari 2008 | Post #130 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
touché |
ozamosi | 22:40 - 20:e Januari 2008 | Post #131 | |
Administratör Inlägg: 1129 Skicka PM |
Jag glomde ata mat idag, sa jag borjar bli hungrig. Alltsa vill jag att ni tillagar en "miniraknare" - dvs ett program som later anvandaren skriva in tva tal och ett raknesatt (forslagsvis inte som ett matematiskt uttryck, utan i flera steg som i C++-guiden), for att sedan skriva ut resultatet. Jag vill ha minst tva raknesatt, tack. Edit: battre lank. Jag foreslar att det byggs for perl-tolken, da den pastas fungera bast. ------------------------- Ljusblå Senast redigerad 22:45 - 20:e Januari 2008 |
FunkyChicken | 00:06 - 21:a Januari 2008 | Post #132 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Jag har inte perl installerat så jag vet inte om det fungerar, och det vore ju synd om ingen annan fick chansen att försöka... Men här är mitt förslag: Delicious calculator-cake. This is a delicious calculator-cake. Ingredients. 1 kg sugar 1 kg cacao 1 l water 5 l milk 42 strawberries 1 onion Method. Take sugar from refrigerator. Take water from refrigerator. Take cacao from refrigerator. Put water into mixing bowl. Remove strawberries. Fold milk into mixing bowl. Drink the milk. Put sugar into mixing bowl. Add cacao. Pour contents of the mixing bowl into the baking dish. Put onion into mixing bowl. Remove onion. Fold onion into mixing bowl. Set aside. Drink until drinked. Drink the milk. Put sugar into mixing bowl. Combine cacao. Pour contents of the mixing bowl into the baking dish. Set aside. Drink until drinked. Serves 1. !¤&£$£$¤& Avsaknad av villkorssatser, måste fulanvända ful-loopar... |
Python | 14:46 - 29:e Februari 2008 | Post #133 | |
Medlem Inlägg: 157 Skicka PM |
Kommer ozamosi att godkänna eller dissa FC försök? ------------------------- ------------------------- |
ozamosi | 17:38 - 29:e Februari 2008 | Post #134 | |
Administratör Inlägg: 1129 Skicka PM |
Oh, det här hade jag glömt bort! F_C:s kod fungerar inte - men jag upptäckte att det gäller för alla program som använder IO, oavsett om man använder perl- eller python-tolken. Det var en dålig uppgift, och eftersom ingen annan försökt så får jag godkänna F_C:s lösning. ------------------------- Ljusblå |
Python | 13:45 - 9:e Mars 2008 | Post #135 | |
Medlem Inlägg: 157 Skicka PM |
F_C: Du kan gärna posta en ny uppgift ------------------------- ------------------------- |
FunkyChicken | 18:31 - 9:e Mars 2008 | Post #136 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Hade missat den här tråden. ...terkommer inom kort. |
FunkyChicken | 00:46 - 10:e Mars 2008 | Post #137 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Ok, dags för lite matte och en (tror jag) ganska simpel uppgift! Betrakta följande: 5+3=5+1+1+1 (addition) 5*3=5+5+5 (multipliktation) 5^3=5*5*5 (exponention) 5^^3=5^(5^5) (tetration) Dessa operatorer kallas i tur och ordning för hyper-1, hyper-2, hyper-3 och hyper-4. Det är lätt att inse att man på samma vis kan definiera hyper-5, hyper-6, osv. Skriv en rekursiv funktion som kan beräkna resultatet av en godtycklig hyperfunktion på två tal. Vi intresserar oss endast för heltal. Demonstrera att lösningen fungerar. Valfritt språk. Notera att hyper-1 och hyper-2 (addition och multiplikation) är kommutativa, dvs 5+3=3+5 och 5*3=3*5. Detta är inte sant för högre ordningar av hyperfunktionen. EDIT: fixat felaktig nuffra. Senast redigerad 00:25 - 12:a Mars 2008 |
Bookia | 23:03 - 11:a Mars 2008 | Post #138 | |
Medlem Inlägg: 44 Skicka PM |
Nu kan jag tyvärr inte rekursion så jag löste uppgiften på ett enklare nybörjar n00b loser vis:
Någon smartare kommer säkert med en rekursiv lösning. ------------------------- All truth passes through three stages. First, it is ridiculed. Second, it is violently opposed. Third, it is accepted as being self-evident. We are just an advanced breed of monkeys on a minor planet of a very average star. |
Fasting | 23:06 - 11:a Mars 2008 | Post #139 | |
Medlem Inlägg: 121 Skicka PM |
Kodade en surutin i Perl.
För att testa den hade jag med:
och körde den vilket resulterade i det nedan. perl proglek.pl 5 \+ 3 8 perl proglek.pl 5 \* 3 15 perl proglek.pl 5 \^ 3 125 perl proglek.pl 2 \^^ 2 16 \o/ ------------------------- Efter att ni har läst det här har ni insett att det inte gav något. |
ozamosi | 23:27 - 11:a Mars 2008 | Post #140 | |
Administratör Inlägg: 1129 Skicka PM |
Citat av FunkyChicken:
Låt mig gissa: sista raden ska vara 5^^3=5^(5^5) ? ------------------------- Ljusblå |
tobbez | 00:10 - 12:a Mars 2008 | Post #141 | |
Medlem Inlägg: 364 Skicka PM |
Solutions for you (jag utgår ifrån att ozamosi gissade rätt).
Let me know if I passed Edit: Inte koda när man är trött, då kan det gå så illa att man löser fel uppgift. Jag satte visst rekursionen på fel plats. Får väl återkomma efter behövd sömn. Senast redigerad 00:26 - 12:a Mars 2008 |
FunkyChicken | 00:22 - 12:a Mars 2008 | Post #142 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Rätt Ozamosi (vilket också fasting hade insett). Däremot tänker jag inte godkänna någon lösning än - uppgiften är att skriva en funktion som beräknar hyperfunktionen av GODTYCKLIG ordning, dvs hyper-x av två tal, där x är något positivt heltal. Bookia och Fastings lösningar fungerar men bara för hyper-1,2,3,4. Hint: Som jag försökte visa är hyper-n en upprepning av ett antal hyper(n-1), dvs tetration är en serie av exponentioner, som i sin tur är en serie av multiplikationer, osv. Här kommer rekursiviteten in i bilden. Obs att hyperfunktionen vid högre ordningar snabbt returnerar groteskt stora tal som förmodligen inte går att beräkna. Ni behöver bara visa att funktionen fungerar i princip genom att köra den för tex exponention. EDIT: En sak till som kanske kan förtydligas: 5^^3 definieras som 5^(5^5), INTE som (5^5)^5. Tänk på att göra saker i rätt ordning! Senast redigerad 00:30 - 12:a Mars 2008 |
viblo | 20:34 - 12:a Mars 2008 | Post #143 | |
Medlem Inlägg: 25 Skicka PM |
hyper 1 a b = a+b hyper n a b = foldr1 (hyper $ n-1) $ replicate b a ska se om jag kan fixa till den lite så den blir lite snygg Edit: Sådär. (kodat i haskell) Den ger tex *Main> hyper 4 2 4 65536 *Main> hyper 4 5 2 3125 *Main> hyper 4 6 2 46656 *Main> hyper 4 7 2 823543 *Main> hyper 4 8 2 16777216 Dock får man fuska lite för tex hyper 4 8 2 och ange hyper 2 a b = a*b, annars blir det stack overflow, men det räckte ju med principen ------------------------- Ingen signatur! Senast redigerad 20:58 - 12:a Mars 2008 |
FunkyChicken | 20:52 - 12:a Mars 2008 | Post #144 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Ser efter en snabbkoll med Haskellreferensen ut att fungera? (Haskell verkar för övrigt förbannat trevligt.) |
ozamosi | 21:08 - 12:a Mars 2008 | Post #145 | |
Administratör Inlägg: 1129 Skicka PM |
hyper 4 2 0 ;) ------------------------- Ljusblå |
fritte | 21:16 - 12:a Mars 2008 | Post #146 | |
Medlem Inlägg: 23 Skicka PM |
Min lösning var också i haskell. Postar nu för att slippa hitta på ny uppgift (:
|
ozamosi | 21:26 - 12:a Mars 2008 | Post #147 | |
Administratör Inlägg: 1129 Skicka PM |
Kan fritte kan jag Min ursäkt är att Wikipedias formelutskrift gjorde uppgiften lite väl enkel - men jag måste ju visa på hur många rader man kan göra lika lite på
------------------------- Ljusblå |
FunkyChicken | 23:21 - 12:a Mars 2008 | Post #148 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Bra jobbat! Viblos lösning var den första som fungerade så du får hitta på ny uppgift! (Ozamosis lösning är dock mer rätt eftersom att den tar hänsyn till att hyper-n av x och 0 alltid är lika med 1 om n är större än 2 (vilket följer av att x^0 är definierat som 1)). |
viblo | 19:04 - 13:e Mars 2008 | Post #149 | |
Medlem Inlägg: 25 Skicka PM |
För några dagar sen stötte jag på ett problem som passar utmärkt: Om man har ett ord med omkastade bokstäver och man vill få hjälp med att kasta dom rätt så kan man generera alla möjliga kombinationer och söka efter dom på google och på så sätt få reda på vad som antagligen är rätt. Dvs, skriv ett program som givet ett ord, tex "maen" testar att söka på google efter "maen", "mane", "naem" osv och väljer ut det som gav bäst svar. Givetvis ska inte programmet söka efter samma kombinationer flera gånger för samma ord, då det annars lätt kan bli många kombinationer. Språk är valfritt så länge det går att köra på win och linux. (akta så att inte google bannar er bara ------------------------- Ingen signatur! |
FunkyChicken | 13:25 - 24:e Juli 2008 | Post #150 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
DEMO-TAJM! Då Viblos ack så innovativa idéer inom ordleksområdet inte fått någon respons på fyra månader tar jag mig friheten att hijacka den här tråden... Och det blir förstås ännu en matteuppgift! Naturen är som bekant fylld av spännande matematik. Växter, till exempel, växer ofta i fraktala mönster. Faktum är att man kan beskriva många typiska växt-utseenden med enkla sk Lindenmayer-system. Man tar en sträng av tecken som symboliserar enkla matematiska operationer och utför sedan rekursiva substitutioner på den. På så vis kan man representera godtyckligt komplexa mönster med väldigt lite data. Detta är förstås (i någon mening) förklaringen till hur information om hela trädets utseende kan få plats i den pyttelilla DNA-molekylen i det pyttelilla fröet... Vi ska alltså bygga demon som ritar träd! Vi behöver någon grafikyta att rita på. Vi behöver en "penna" med en viss position och en viss riktnig. (Som i turtle graphics.) Och vi behöver en stack där vi kan spara och hämta position och vinkel för pennan. Sedan tar vi en sträng av tecken som vi kallar för "axiom". Vi ska använda följande tecken: "F" - gå fram en viss längd "+" - sväng en viss vinkel åt vänster "-" - sväng en viss vinkel åt höger "[" - lägg position på stacken "]" - hämta position från stacken Dessutom har vi en regel som byter ut alla förekomster av en viss delsträng i axiomet mot något annat. Denna regel applicerar vi sedan på axiomet ett godtyckligt antal gånger (3-4 ggr räcker, resultatet blir snabbt stort). Exempel: Axiom "F", Regel "F => +FF" blir: F +FF ++FF+FF +++FF+FF++FF+FF osv. När vi itererat färdigt utvärderar vi strängen vi fått och utför ett kommando i taget från vänster till höger. Varje gång vi stöter på ett "F" ritar vi (förstås) ett streck med pennan. Steglängd, antal iterationer och vinkel att svänga är parametrar som kan väljas relativt godtyckligt. Så, uppgiften blir att skriva ett demo-liknande program som med hjälp av detta gör "något häftigt". Valfritt språk, själv vevade jag ihop ett exempel i C#. Men inte tjuvkika på färdig kod! Kommando-tecknen har jag lånat från ett program som heter fractint. Vill man ha en större utmaning kan man implementera lite mer avancerade kommandon, se här. Mer att läsa om L-system finns förstås på wikipedia. Oh, just det! Ett mönster att börja med vore kanske på sin plats. Med "F" som axiom och F => FF-[-F+F+F]+[+F-F-F] som regel bör ni få träd i stil med en viss skärmsläckare till X. Pröva er fram eller konsultera interwebben för fler exempel. Och om någon lider av dendrofobi så är det okej att rita annat än just träd, det finns många andra spännande fraktaler. |
Forum huvudsida -> Programmering -> Programmerings lek
Du får inte posta i den här tråden | Till toppen
Datum
2024-12-22 04:59
Vecka: 51
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.