Pyydä täällä harjoitustehtäviä

Voit pyytää apua ohjelmointiongelmiin täältä.
Astigma
Moderator
Moderator
Posts: 195
Joined: Sun Aug 26, 2007 5:56 pm
Location: Kuopio, Finland
Contact:

Re: Pyydä täällä harjoitustehtäviä

Post by Astigma » Fri Dec 12, 2008 12:02 pm

Rauhoitutaanpas nyt, ettei tarvitse varoituksia ruveta jakamaan. Jos jotain ei ymmärrä, voi kysellä lisäkysymyksiä, kuten on tehty. Ei ole olemassa tyhmiä kysymyksiä, joten jos joku kysyy asioita, joita sinä pidät yksinkertaisia, niin vastaa niihin äläkä ihmettele miksi tämä toinen henkilö ei sitä tiedä.

User avatar
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 5:53 pm

Re: Pyydä täällä harjoitustehtäviä

Post by Jani » Fri Dec 12, 2008 12:54 pm

Astigma wrote:Rauhoitutaanpas nyt, ettei tarvitse varoituksia ruveta jakamaan. Jos jotain ei ymmärrä, voi kysellä lisäkysymyksiä, kuten on tehty. Ei ole olemassa tyhmiä kysymyksiä, joten jos joku kysyy asioita, joita sinä pidät yksinkertaisia, niin vastaa niihin äläkä ihmettele miksi tämä toinen henkilö ei sitä tiedä.
offtopic: kiitos

niin... mikä se rekursio on?
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition

User avatar
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Pyydä täällä harjoitustehtäviä

Post by phons » Fri Dec 12, 2008 4:04 pm

Astigma wrote:...Ei ole olemassa tyhmiä kysymyksiä...
Olen samaa mieltä, mutta ne kaikki kysymykset jotka ovat "Tyhmät Kysymykset"-paikassa taitavat olla, tai no nekin kyllä ovat:
Kysymyksiä jotka ovat liian pieniä omaa topikkia varten.

Muistaakseni joku on sanonut noin, mutta en löytänyt sitä viestiä. Muuten olisin laitanut sen quoteen. :D

Edit: Ei tarviikkaan enää tehdä tyyppi-harjoituksia sillä tein sellasen jo itse yhestä vanhasta koodista:
:)

Code: Select all

Type tykki
    Field x
    Field y
EndType

Repeat

Color cbwhite
    Line 0,0,130,0
    Line 0,30,100,30
    Line 100,30,100,160
    Line 130,0,130,130
    Line 130,130,260,130
    Line 100,160,230,160
    Line 260,130,260,230
    Line 230,160,230,200
    Line 260,230,190,230
    Line 230,200,160,200
    Line 160,200,160,300
    Line 190,230,190,300
Color cbwhite

If MouseHit(1) Then

    newtykki.tykki = New(tykki)
    newtykki\x=MouseX()
    newtykki\y=MouseY()
    
EndIf

For itykki.tykki = Each tykki
    Color cbred
    Circle itykki\x-5,itykki\y-5,10,0
Next itykki

If MouseHit(2) Then
    For itykki.tykki = Each tykki
        Delete itykki
    Next itykki
Last edited by phons on Fri Dec 12, 2008 5:27 pm, edited 3 times in total.
Image

User avatar
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: Pyydä täällä harjoitustehtäviä

Post by MaGetzUb » Fri Dec 12, 2008 4:49 pm

Mä voisin kans pyytää jotain harjoitusta tasolla ei ole väliä, kunhan ei tule olemaan mitään jumalattomia laskukaavoja, tai matriisilaskuja.
Haluaisin jonkinmoisen pelin ja partikkeleita sekä muita asioita saa käsitellä.. Oikeastaan osaan kättää laskutoimituksista vain Mod, Sin, Cos.. Tan ei ole hallussa..
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.

Astigma
Moderator
Moderator
Posts: 195
Joined: Sun Aug 26, 2007 5:56 pm
Location: Kuopio, Finland
Contact:

Re: Pyydä täällä harjoitustehtäviä

Post by Astigma » Fri Dec 12, 2008 5:57 pm

Rekursioksi kutsutaan sitä, kun funktion toiminta pohjautuu siihen, että se kutsuu itseään ratkaistakseen ongelman. Funktion sisällä on siis koodi, joka kutsuu samaa funktiota uudestaan, hiukan muuttuneilla syötteillä tietenkin. Rekursiossa on tärkeää muistaa, että sen täytyy loppua joskus. Funktion täytyy siis sisältää jonkinlainen koodi, että se ei enää rekursoi siinä vaiheessa kun ongelma on ratkaistu eli syöte on muuttunut sopivaksi.

Binäärihaku on yksinkertainen esimerkki siitä, miten rekursiota hyödynnetään. Siinä lajitellusta taulukosta voidaan hakea nopeasti (ajassa log n) tietty alkio. Suosittelen aloittamaan binäärihaun tutkimisella ja toteuttamisella, niin opit samalla rekursion ja paljon muutakin hyödyllistä.

User avatar
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 5:53 pm

Re: Pyydä täällä harjoitustehtäviä

Post by Jani » Fri Dec 12, 2008 9:36 pm

Astigma wrote:Rekursioksi kutsutaan sitä, kun funktion toiminta pohjautuu siihen, että se kutsuu itseään ratkaistakseen ongelman. Funktion sisällä on siis koodi, joka kutsuu samaa funktiota uudestaan, hiukan muuttuneilla syötteillä tietenkin. Rekursiossa on tärkeää muistaa, että sen täytyy loppua joskus. Funktion täytyy siis sisältää jonkinlainen koodi, että se ei enää rekursoi siinä vaiheessa kun ongelma on ratkaistu eli syöte on muuttunut sopivaksi.

Binäärihaku on yksinkertainen esimerkki siitä, miten rekursiota hyödynnetään. Siinä lajitellusta taulukosta voidaan hakea nopeasti (ajassa log n) tietty alkio. Suosittelen aloittamaan binäärihaun tutkimisella ja toteuttamisella, niin opit samalla rekursion ja paljon muutakin hyödyllistä.
hmm... En ymmärtänyt.

Tarvitsisin Cos ja Sin harjoitusta! Ainiin, nyt kun muistan... taso maybe 2
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition

User avatar
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm
Contact:

Re: Pyydä täällä harjoitustehtäviä

Post by Koodiapina » Fri Dec 12, 2008 9:47 pm

Jani, tässä kaksi vaihtoehtoa:
  • Tee väriliu'ulla täytetyn ympyrän tai ellipsin piirtävä funktio. Kuvion piirto toteutetaan trigonometrisilla funktioilla.
  • Tee funktio joka piirtää 360 eri asteeseen kääntyvän laatikon. Laatikon kulma, sijainti ja koko pitää pystyä antamaan parametreina. Grafiikan pitäisi koostua neljästä line -komennosta, eikä kuvia, objekteja tai muita krumeluureja saa käyttää.
Tuon ensimmäisen pitäisi olla suht' helppo.
Olen liian älykäs ollakseni väärässä. Jos olet kanssani eri mieltä, suosittelen sinua pohtimaan omaa elämänkatsomustasi ja sen perusteita.

User avatar
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 5:53 pm

Re: Pyydä täällä harjoitustehtäviä

Post by Jani » Fri Dec 12, 2008 9:52 pm

Grandi wrote:Jani, tässä kaksi vaihtoehtoa:
  • Tee väriliu'ulla täytetyn ympyrän tai ellipsin piirtävä funktio. Kuvion piirto toteutetaan trigonometrisilla funktioilla.
  • Tee funktio joka piirtää 360 eri asteeseen kääntyvän laatikon. Laatikon kulma, sijainti ja koko pitää pystyä antamaan parametreina. Grafiikan pitäisi koostua neljästä line -komennosta, eikä kuvia, objekteja tai muita krumeluureja saa käyttää.
Tuon ensimmäisen pitäisi olla suht' helppo.
trigonometrisillä?
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition

User avatar
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm
Contact:

Re: Pyydä täällä harjoitustehtäviä

Post by Koodiapina » Fri Dec 12, 2008 9:59 pm

Olen liian älykäs ollakseni väärässä. Jos olet kanssani eri mieltä, suosittelen sinua pohtimaan omaa elämänkatsomustasi ja sen perusteita.

User avatar
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 5:53 pm

Re: Pyydä täällä harjoitustehtäviä

Post by Jani » Fri Dec 12, 2008 10:05 pm

Tahtoisin lähinnä oppia ymmärtämään Cosia ja Siniä. En tekemään mitään mestariteosta.

(En muuten ymmärtänys noistaTrigonometris jutuista yhtään)
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Pyydä täällä harjoitustehtäviä

Post by esa94 » Fri Dec 12, 2008 10:15 pm

Jani wrote:Tahtoisin lähinnä oppia ymmärtämään Cosia ja Siniä. En tekemään mitään mestariteosta.

(En muuten ymmärtänys noistaTrigonometris jutuista yhtään)
Sisäistä tämä:
Trigonometriassa suoraa kulmaa vastapäätä olevaa (kolmion pisintä) sivua kutsutaan hypotenuusaksi ja suoran kulman viereisiä sivuja kateeteiksi. Trigonometristen funktioiden, sinilauseen ja kosinilauseen avulla voidaan vastata kaikkiin kolmion sivuja ja kulmia koskeviin kysymyksiin.
Siinä se idea kiteytettynä.

User avatar
Ozcar
Advanced Member
Posts: 439
Joined: Mon Aug 27, 2007 8:43 pm
Location: Helsinki

Re: Pyydä täällä harjoitustehtäviä

Post by Ozcar » Sat Dec 13, 2008 1:21 am

Jani wrote:Tahtoisin lähinnä oppia ymmärtämään Cosia ja Siniä. En tekemään mitään mestariteosta.

(En muuten ymmärtänys noistaTrigonometris jutuista yhtään)
Katsos, kun sini ja kosini (sin ja cos) ovat trigonometrisia funktioita, joita ei voi käyttää ymmärtämättä logiikkaa sen taustalla. Et voi yrittää tehdä sähköasennuksia ja sen jälkeen kysyä, että mikä ihme oikein on johto. Jos ei wikipedia auta, niin kysy omassa ketjussaan apua sinin ja kosinin selittämiselle tai pyydä irkissä neuvoja, ja kysy täältä sitten hieman eksaktimpia tehtäviä.

Mutta, se loogisin ja paras tapa ymmärtää trigonometristen funktioiden hyöty kun teoria on hallussa: tehkää ohjelma, jolla voitte piirtää pistettä ympyräliikkeessä kopioimatta sitä esimerkeistä tai ulkomuistista. Pohtikaa, miten voitte saada ympyräliikkeen aikaan trigonometrisillä funktioilla. Jos onnistut ja nälkä kasvaa syödessä, voit vaikka alkaa itse yrittää vaikuttaa millaista liikettä saat aikaan. Sekoita joukkoon vaikka tangenttia ja lisää trigonometrisia funktioita tahi pythagoraan lausetta, ja pohdi mistä palluran hyppiminen johtuu. Tästä oppimalla voitte alkaa yrittää tuottaa itse ja tarkoituksella monimutkaisempia kuvioita: kahdeksikkoja, itseensä kiertyvää ympyrää, laajenevaa ja pienenevää ympyrää ja muuta vastaavaa. Kokeilemalla saa aikaan hauskinta jälkeä.
Ratkaisit juuri universaaliongelman! Hienoa, ota keksi.

Filosofia on ajattelun taidetta, mutta sen maalari elää juoden apurahojaan masennukseensa.

User avatar
vilQuri
Active Member
Posts: 239
Joined: Wed Aug 29, 2007 6:25 pm
Location: Turku

Re: Pyydä täällä harjoitustehtäviä

Post by vilQuri » Sat Dec 13, 2008 11:07 am

Haluasin jonkun näköisen harjoituksen cbNetworkin käytöstä. Ei mikään maailman vaikein nettistrategia lentelevillä lehmillä, vaan joku ihan perus peli. Ja se osaamis asteikko on ehkä 6. Osaan kaikki perus funktiot, typet, taulukot jne. Joissain matemaattisissa funktioissa kuten cos,sin,tan on vielä hiomista.

User avatar
valscion
Moderator
Moderator
Posts: 1588
Joined: Thu Dec 06, 2007 8:46 pm
Location: Espoo
Contact:

Re: Pyydä täällä harjoitustehtäviä

Post by valscion » Sat Dec 13, 2008 7:30 pm

vilQuri wrote:Haluasin jonkun näköisen harjoituksen cbNetworkin käytöstä. Ei mikään maailman vaikein nettistrategia lentelevillä lehmillä, vaan joku ihan perus peli. Ja se osaamis asteikko on ehkä 6. Osaan kaikki perus funktiot, typet, taulukot jne. Joissain matemaattisissa funktioissa kuten cos,sin,tan on vielä hiomista.
Tee peli, jossa kahdella tai useammalla koneella katsotaan reaktioaikaa nappulan painamiseen. Palvelinsoftalta tulee viesti, joka vaihtaa client-ohjelmassa vaikkapa ympyrän väriä ja sitten se aika mikä menee nappulan värinvaihto-painaminen välissä lähetetään takaisin palvelinsoftalle ja se tarkistaa muiden clienttien ajan ja kertoo kaikille clienteille kuka oli nopein.

Eli tällanen "kaavio", kun en osaa selkeästi itseäni muuten esittää :geek:
  • Palvelin lähettää "impulssin" kaikille clienteille
  • Kun client vastaanottaa impulssin, vaihtuu ympyrän väri ja ajastin käynnistetään.
  • Client painaa ympyrää hiirellä (tai vaikka iskee välinäppäintä, päätä itse) ja katsotaan ajastimesta aika ja lähetetään se takaisin palvelimelle.
  • Palvelin vastaanottaa jokaisen clientin ajan
  • Palvelin lähettää jokaiselle clientille tiedon, kuka oli nopein.
  • Client tulostaa tiedon ruudulle ja homma alkaa alusta.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com

User avatar
vilQuri
Active Member
Posts: 239
Joined: Wed Aug 29, 2007 6:25 pm
Location: Turku

Re: Pyydä täällä harjoitustehtäviä

Post by vilQuri » Sun Dec 14, 2008 1:23 am

Kiitos! Katson miten tämän toteutan.

mato1223
Member
Posts: 69
Joined: Sat Aug 16, 2008 12:04 pm
Location: Rääkkylä

Re: Pyydä täällä harjoitustehtäviä

Post by mato1223 » Thu Jan 08, 2009 3:41 pm

Kun nyt tämmöinenkin viestiketju löytyi niin antakaapa minulle 1. tason tehtävä.

User avatar
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 5:53 pm

Re: Pyydä täällä harjoitustehtäviä

Post by Jani » Thu Jan 08, 2009 4:38 pm

mato1223:

Tee ohjelma joka tallentaa tekstin tiedostoon.
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition

User avatar
Ozcar
Advanced Member
Posts: 439
Joined: Mon Aug 27, 2007 8:43 pm
Location: Helsinki

Re: Pyydä täällä harjoitustehtäviä

Post by Ozcar » Thu Jan 08, 2009 6:05 pm

@mato:

Edelliseltä sivulta, *KLIKS*.
Ratkaisit juuri universaaliongelman! Hienoa, ota keksi.

Filosofia on ajattelun taidetta, mutta sen maalari elää juoden apurahojaan masennukseensa.

mato1223
Member
Posts: 69
Joined: Sat Aug 16, 2008 12:04 pm
Location: Rääkkylä

Re: Pyydä täällä harjoitustehtäviä

Post by mato1223 » Thu Jan 08, 2009 11:31 pm

Jani wrote:mato1223:

Tee ohjelma joka tallentaa tekstin tiedostoon.

Code: Select all

f=OpenToWrite("Media\temp.txt")
    lifes=8
    
    WriteByte f,255
    WriteShort f,lifes*9
    WriteInt f,lifes*1000000
    WriteFloat f,0.1020
    
CloseFile f
Mitäs pidät? Enpä oppinu oikein mitään :oops:

User avatar
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm
Contact:

Re: Pyydä täällä harjoitustehtäviä

Post by Koodiapina » Thu Jan 08, 2009 11:43 pm

No teeppä pongi.

Käytä grafiikkana kuvia objektien asemesta, jos piirtokomennoissa on harjoiteltavaa niin käytä niitä. Vastustajana voi olla ihan toinen ihmispelaajakin, mutta jos haluat opetella tekoälyn tekoa niin värkkääppä siihen älykäs botti. Ja tietenkin siihen voi lisätä kaikenlaista kivaa kuten erikoisefektejä ja tallentuvia pistelistoja joissa kyllä luulisi harjoitusta tulevan.
Olen liian älykäs ollakseni väärässä. Jos olet kanssani eri mieltä, suosittelen sinua pohtimaan omaa elämänkatsomustasi ja sen perusteita.

Post Reply