/ Forside/ Teknologi / Udvikling / Delphi/Pascal / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Ide til simpel program
Fra : dr_scooter
Vist : 626 gange
100 point
Dato : 02-12-02 13:06

Hej allesammen...

Jeg er lidt af en newbie til delphi 6... og jeg skal lave et lille program i datalogi(valgfag på gym.)
og jeg mangler en ide til et lille program/spil hvor man bruger algoritme(r).

Jeg er ikke så hardcore til delphi, så en lille toturial til at lave en lille ting vil være guldværd!!!

På forhånd tak.

vh. dr_scooter

 
 
Kommentar
Fra : srhansen


Dato : 02-12-02 14:24

Hej dr_scooter

Jeg vil foreslå en Quick_sort algoritme. Sådan en algoritme kommer bredt omkring og indeholder også nogle faldgrupper

Du kan jo udbygge den med grafisk præsentation, database undestøttelse osv.


mvh srhansen

Kommentar
Fra : srhansen


Dato : 02-12-02 14:31

Hej igen

Du kan eventuelt se nogle løsninger her, de er vistnok skrevet i Ansi C, men syntaksen er henad den samme

http://www.daimi.au.dk/~ioop/slides/sortering.pdf

mvh srhansen

Kommentar
Fra : Nyhedsbruger


Dato : 02-12-02 13:52

Yatzee er altid godt Men du kan selvflg. også prøve at efterligne
Counter-Strike

Lars Dybdahl.

dr_scooter wrote:
> Hej allesammen...
>
> Jeg er lidt af en newbie til delphi 6... og jeg skal lave et lille
> program i datalogi(valgfag på gym.)
> og jeg mangler en ide til et lille program/spil hvor man bruger
> algoritme(r).
>
> Jeg er ikke så hardcore til delphi, så en lille toturial til at lave en
> lille ting vil være guldværd!!!
>
> På forhånd tak.
>
> vh. dr_scooter
>

--

Dybdahl Engineering: http://dybdahl.dk/
Delphi brugergruppen DAPUG: http://dapug.dk/


Accepteret svar
Fra : Nyhedsbruger

Modtaget 110 point
Dato : 02-12-02 13:53

In article <6RHG9.52636$HU.3596322@news010.worldonline.dk>,
dr_scooter.news@kandu.dk says...
> Jeg er lidt af en newbie til delphi 6... og jeg skal lave et lille
> program i datalogi(valgfag på gym.)
> og jeg mangler en ide til et lille program/spil hvor man bruger
> algoritme(r).

Nu er algoritmer jo et vidt begreb, men jeg har da et par forslag.


Et lille spil:

1) Lad x bolde hoppe rundt i et vindue
2) Lad brugeren styre en boldfanger med piletaster eller mus
3) Når en bold fanges, flytter de resterende bolde sig hurtigere
4) Score er lig den tid det tager at fange alle bolde

Der skal bruges en algoritme til bevægelse af bolde og en til
detektering af kollision.


Et forslag til et program. Hmm... En søger til domænenavne?

Tag to lister: En med samtlige registrerede domænenavne under dk og en
med danske ord, dvs. en ordbog.

Lav et program, der lader brugeren angive hvor langt det ønskede
domænenavn må være (f.eks. 3 tegn) og lad programmet give alle de
ledige domænenavne, der også er ord i ordbogen.

Eksempel: Hvis man beder om domænenavne på 3 tegn får man at vide at
dry, dyp, fhv, flg, gnd, gyd, hyr, hyt, ile, jun, khz, kog, kue, kyl,
lul, mut, myo, naj, nuv, puh, pyh, ril, rub, syr, tig, tov, tyd, tyl,
tys, und, ymt og ynk er ledige.

Algoritmedelen er at lave programmet, så det ikke er to dage om at
udregne resultatet: En liste skal trækkes fra en anden, hvordan gøres
det fornuftigt?


Et andet forslag: Sten, papir, saks i modificeret udgave

Spilleren kan hele tiden vælge at trykke tast A eller tast B.
Programmet prøver at gætte på hvad spilleren trykker. Gætter det
rigtigt, får programmet et point, gætter det forkert, får spilleren et
point.

Lav en algoritme, så programmet vinder efter et stykke tid.


Hint: Selvom vi prøver at gøre ting tilfældigt, laver vi meget hurtigt
mønstre. En simpel algoritme kunne være at kigge på de sidste tre valg
og se samtlige tidligere valg igennem.

Eksempel: Brugeren har tastet AABBABABABBBABBABBABBBAAABABA. Hvad
taster brugeren næste gang?

Programmet kigger på de sidste tre valg: ABA og optæller derefter hvad
udfaldene har været de forgående gange de har været brugt:

AAB: Nej
ABB: Nej
BBA: Nej
BAB: Nej
ABA: Aha! Der var en. Det efterfølgende valg var A
BAB: Nej
ABA: Der var en til. Det efterfølgende valg var B
....
ABA: Efterfølgende valg B.
BAB: Nej
ABA: Ingen efterfølgende, da det er de sidste valg i rækken.

Okay, mønstret blev fundet tre gange: En hvor A var det efterfølgende
valg og to hvor B var. Programmet gætter derfor på at spilleren vil
vælge B.


Jeg lavede selv noget lignende for en del år siden. Det var ikke meget
mere kompliceret end beskrevet ovenfor, men det var sjovt at se det
vinde, når spilleren havde foretaget omkring 100-150 valg.

Man kan udvide søgealgoritmen til også at kigge efter andre længder og
man kan eksperimentere med at lade programmet gætte på det omvendte af
hvad det tror, hvis det detekterer at det gætter forkert mere end
halvdelen af gangene. Osv.

En anden mulighed er at lave et "rigtigt" sten, papir, saks spil. Det
kan laves efter samme princip, men kræver lidt mere tænkearbejde.
--
Toke Eskildsen <URL:http://ww.daimi.au.dk/~darkwing/>

Kommentar
Fra : strarup


Dato : 02-12-02 14:51

Hej DR_scooter,

du ku' bl.a. lave en søgemaskine... -->
http://thedelphimagazine.com/samples/1374/1374.htm

der er måske lidt at hente på denne side hvor der er diverse ting til Delphi/pascal... -->
http://www.csd.net/~cgadd/knowbase/maincat.htm
(fra Chuck's Delphi Pages --> http://www.csd.net/~cgadd/delphi.htm)

eller "efg's Delphi Algorithms Page"... -->
http://homepages.borland.com/efg2lab/Library/Delphi/Algorithms/

"Introduction to Design Patterns in Delphi"... -->
http://www.obsof.com/delphi_tips/pattern.html

"RECURSIONS IN DELPHI"... -->
http://delphi.miningco.com/library/weekly/aa120799a.htm

mvh.

Strarup

Kommentar
Fra : Nyhedsbruger


Dato : 02-12-02 14:22


"Toke Eskildsen" <dakwing@daimi.au.dk> skrev
<klip>
> Eksempel: Brugeren har tastet AABBABABABBBABBABBABBBAAABABA. Hvad
> taster brugeren næste gang?
>
> Programmet kigger på de sidste tre valg: ABA og optæller derefter hvad
> udfaldene har været de forgående gange de har været brugt:
<klip>

En sjov variation af samme ide lavede jeg - til dels sammen med en elev - i
firserne engang: indlæs en forfatters tekst, beregn hyppigheden af
forskellige tegnkombinationer og lad så programmet skrive en tekst beregnet
på disse sandsynligheder.
Hvis man kun benytter sandsynligheden for enkelttegn, bliver det volapyk,
hvis man benytter sandsynligheden for flere tegn i følge, kan det se
meningsfuldt ud (men er det garanteret ikke)!
Vi lavede en test med sandsynligheden for op til 7 tegn i række med en bog,
skrevet af skolens viceinspektør. Det var sjovt at se hans ansigtsudtryk
variere over tid!

mvh

Fritz Gundgaard Knudsen
Kollerupvej 17
8900 Randers
+4586434904
fritz@gundgaard.dk



Kommentar
Fra : Nyhedsbruger


Dato : 02-12-02 14:27

> Jeg er lidt af en newbie til delphi 6... og jeg skal lave et lille
> program i datalogi(valgfag på gym.)
> og jeg mangler en ide til et lille program/spil hvor man bruger
> algoritme(r).

Tja... Jeg mindes da jeg havde datalogi på gymnasiet. Kan huske at jeg
blandt andet fik til opgave at lave et "kryds og bolle"-spil.
Det er en god øvelse i at kontruere algoritmer at tænke over hvordan den
modspillerens "intelligens" og så prøve at skrive det ned i helt små skridt.

Andre gode spil der kunne laves ville fx. være sænke slagskibe, tower of
Hanoi, "pind", eller Yatzy, etc.


> Jeg er ikke så hardcore til delphi, så en lille toturial til at lave en
> lille ting vil være guldværd!!!

Jeg tvivler på at det er til at finde en torturial der er bedre end den
undervisning din lærer helt sikkert må ha givet dig.

Med venlig hilsen
Thomas
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCM d s+: a--- C++ UL++ P+ L++ E--- W+++ N++ o K w O-- M- V- PS+ PE++ Y+ PGP
t 5- X+ R tv- b+ DI+ D+ G+ e- h-- r+ y++
------END GEEK CODE BLOCK------



Kommentar
Fra : Nyhedsbruger


Dato : 02-12-02 14:28

Vil du ikke godt svare UNDER det du svarer på + klippe det du ikke svarer på
væk.

På forhånd tak.

Med venlig hilsen
Thomas



Kommentar
Fra : Nyhedsbruger


Dato : 02-12-02 14:39

Erm... jo - men det ville jo være uhensigtsmæssigt da de fleste newsreadere
fungerer på den måde, at de udelukkende viser de øverste linier i en
meddelelse, når man klikker rundt i dem.

Hvis jeg derfor gjorde, som du skriver, ville man skulle bladre i alle mine
indlæg for at kunne læse dem.

Årsagen til, at jeg nogle gange lader originalteksten blive, er, at så kan
andre se, hvad jeg har svaret på, såfremt den originale tekst er forsvundet
fra news serveren.

Så det er absolut med vilje, at jeg gør, som jeg gør.

Hilsen,

Lars Dybdahl.

tdn wrote:
> Vil du ikke godt svare UNDER det du svarer på + klippe det du ikke svarer
> på væk.

--

Dybdahl Engineering: http://dybdahl.dk/
Delphi brugergruppen DAPUG: http://dapug.dk/


Kommentar
Fra : Nyhedsbruger


Dato : 02-12-02 15:32

> Erm... jo - men det ville jo være uhensigtsmæssigt da de fleste
newsreadere
> fungerer på den måde, at de udelukkende viser de øverste linier i en
> meddelelse, når man klikker rundt i dem.
>

hmmm.... Mystisk newsreader der udelukkende viser en post's øverste
linier...

[snip]
> Så det er absolut med vilje, at jeg gør, som jeg gør.

I så fald vil jeg bede dig læse
http://www.usenet.dk/netikette/citatteknik.html
og overholde usenet netiketten.

På forhånd tak.

Mvh
Thomas



Kommentar
Fra : Nyhedsbruger


Dato : 02-12-02 18:28

> Jeg er lidt af en newbie til delphi 6... og jeg skal lave et lille
> program i datalogi(valgfag på gym.)
> og jeg mangler en ide til et lille program/spil hvor man bruger
> algoritme(r).

Nogen bestemte algoritmer? Prøv evt at udrenge Pi, søg på "Borweins
algorithm", eller "Gauss-legendre" på google, der kommer mange formler frem,
de er ret simple at følge.

Mvh Mark
--
www.improve.dk



Kommentar
Fra : Nyhedsbruger


Dato : 02-12-02 20:43

De fleste skærme er begrænset i størrelsen - og da de fleste tekster ikke
kan være i vinduet med den vinduestørrelse, som min newsreader har, og da
min newsreader som default viser den øverste del og ikke den nederste, må
jeg scrolle for at se den nederste del.

Jeg skal nok sørge for at huske at klippe... generelt mener jeg i øvrigt
at det at man ikke skriver kommentarerne under citater gør diskussionerne
bedre og i stand til at komme til en konklusion hurtigere, hvilket i sig
selv forbedrer kvaliteten og reducerer båndbredde

Hilsen,

Lars Dybdahl.

--

Dybdahl Engineering: http://dybdahl.dk/
Delphi brugergruppen DAPUG: http://dapug.dk/


Kommentar
Fra : Nyhedsbruger


Dato : 02-12-02 22:18

Lars B. Dybdahl wrote:
> Jeg skal nok sørge for at huske at klippe... generelt mener jeg i øvrigt
> at det at man ikke skriver kommentarerne under citater gør diskussionerne
> bedre og i stand til at komme til en konklusion hurtigere, hvilket i sig
> selv forbedrer kvaliteten og reducerer båndbredde

Øhh reducerer båndbredde? Hmm... hvis du stadig vælger at medtage
indlægget for at lade andre se hvad du svarer på (omen du vælger at
citere øverste fremfor nederst), så sparer det ingen båndbredde, da
indlægget jo stadig vil fylde det samme.
Og ja, så er en nyhedsgruppe baseret på ren tekst, så vi taler ikke om
Word-lignende dokumenter, der skal sendes frem og tilbage.

Med venlig hilsen,
René Jensen


Kommentar
Fra : Nyhedsbruger


Dato : 02-12-02 22:26

dr_scooter wrote:
> Jeg er lidt af en newbie til delphi 6... og jeg skal lave et lille
> program i datalogi(valgfag på gym.)
> og jeg mangler en ide til et lille program/spil hvor man bruger
> algoritme(r).

F.eks. sproggenkendelse i tekster. Ved at benytte simpel statistiske
formler kan man let lave genkendelse udfra analysering af tekster, hvor
man kender deres teksternes nationalititet (f.eks. dansk, engelsk, tysk
og fransk).

Simpel sorterings- og søgealgoritmer samt optimering af disse.

Kunstig intelligens i f.eks. "Kryds og Bolle".

Kryptering af tekster, med eller uden public key.

Et program der kan løse simple matiske problemer, f.eks. løsning af 2.
grads polynomie eller vektor-regning.

Med venlig hilsen,
René Jensen


Kommentar
Fra : Nyhedsbruger


Dato : 03-12-02 03:20

In article <asfmqm$m3p$1@sunsite.dk>, fgknud@vip.cybercity.dk says...
> En sjov variation af samme ide lavede jeg - til dels sammen med en elev - i
> firserne engang: indlæs en forfatters tekst, beregn hyppigheden af
> forskellige tegnkombinationer og lad så programmet skrive en tekst beregnet
> på disse sandsynligheder.

God ide. Den kommer lige på Real Soon Now listen med
overspringsprojekter. Prøv i den forbindelse at tage et
kig på
<url:http://ellemose.dina.kvl.dk/cgi-bin/sestoft/forslag?>

Det er godt nok håndkodet, i stedet for statistikbaseret,
men resultatet er rimelig overbevisende.
--
Toke Eskildsen <URL:http://ww.daimi.au.dk/~darkwing/>

Godkendelse af svar
Fra : dr_scooter


Dato : 03-12-02 12:38

Tak for svarene allesammen, de var allesammen kanone:)
Jeg synes at din(Toke Eskildsen) var lige den jeg ledte efter.TAK

Vh. dr_scooter
                        

Kommentar
Fra : Nyhedsbruger


Dato : 03-12-02 13:17

Mange mennesker gør det, at de ser på det gamle indlæg, og besvarer de
enkelte dele for sig, i stedet for at se på hele beskeden som en helhed, og
så svare på den. Det betyder, at diskussionerne forgrener sig helt vildt,
selv om ingen af parterne ønsker det.

Når man højner kvaliteten i diskussionen, bliver der færre indlæg, og dermed
mindre båndbredde forbrug måske burde det omformuleres til: mindre
båndbredde i forhold til informationsværdien.

Lars.

René Jensen wrote:
> Øhh reducerer båndbredde? Hmm... hvis du stadig vælger at medtage

--

Dybdahl Engineering: http://dybdahl.dk/
Delphi brugergruppen DAPUG: http://dapug.dk/


Kommentar
Fra : Nyhedsbruger


Dato : 03-12-02 18:03

In article <Lw0H9.54991$HU.3706921@news010.worldonline.dk>,
dr_scooter.news@kandu.dk says...
> Tak for svarene allesammen, de var allesammen kanone:)
> Jeg synes at din(Toke Eskildsen) var lige den jeg ledte efter.TAK

Velbekomme da. Du skal være velkommen til at spørge efter hints, hvis
der er noget der driller.

Hvilken af ideerne vil du tage fat på?
--
Toke Eskildsen <URL:http://ww.daimi.au.dk/~darkwing/>

Kommentar
Fra : Nyhedsbruger


Dato : 05-12-02 13:39

"Lars B. Dybdahl" <Lars@dybdahl.dk> wrote in message news:<3deb627c$0$202$edfadb0f@dread13.news.tele.dk>...
> Erm... jo - men det ville jo være uhensigtsmæssigt da de fleste newsreadere
> fungerer på den måde, at de udelukkende viser de øverste linier i en
> meddelelse, når man klikker rundt i dem.

?? De fleste newsreadere viser faktisk den tekst, der er indeholdt i
den eller de indlæg man ønsker vil læse. Believe it or not!

> Hvis jeg derfor gjorde, som du skriver, ville man skulle bladre i alle mine
> indlæg for at kunne læse dem.

Nej. Tværtimod. Brug af topcitering og selektive citatudpluk der
umiddelbart leder læseren henimod den tekst, der aktuelt svares på, er
kutume på usenet - dvs udtryk for god debatskik - som beskrevet i
diverse fundatser. Bundcitering er derimod *ikke* udtryk for god
debatskik. Pointen er klar nok : Ved brug af bundcitering som du
benytter skal læseren *netop* bladre igennem for debatten måske
temmeligt ligegyldige mængder af tekst. Skær ind til benet, citer kun
det der svares på, og altid umiddelbart ovenover det konkrete svar,
plejer at være standarden i dk.hiearkiet...

> Årsagen til, at jeg nogle gange lader originalteksten blive, er, at så kan
> andre se, hvad jeg har svaret på, såfremt den originale tekst er forsvundet
> fra news serveren.

Den "originale tekst" forsvinder ikke sådan lige. Faktisk skal et
X-archive-no lykkes før end det er tilfældet. At argumentere imod
bundcitering er ikke udtryk for chikane eller netpolitisk virke, men
en simpel tommelfingerregel der eksisterer for debattørernes egen
skyld. Antag du svarede på et 200-liniers indlæg - det ville fordre
stor tålmodighed hos en eventuel læser at afkode dit svar med
citatklumpen i bunden...

> Så det er absolut med vilje, at jeg gør, som jeg gør.

Desværre er det i strid med gængs netikette sådan cirka overalt

mvh
David A. D. Konrad

Kommentar
Fra : Nyhedsbruger


Dato : 05-12-02 19:11

Hej, DADK.

Dit argument gælder ikke Microsoft Outlook, Netscape/Mozilla or KNode.

Færre indlæg og færre diskussioner giver normalt mindre båndbredde. Sådan er
det.

Og i tråd med min almindeligvis anvendte metode, har jeg valgt ikke at
skrive mine kommentarer under dine, men i stedet at formulere mig på en
måde, så et eventuelt svar fra dig ikke kører rundt i de samme emner, men
bliver mere konstruktiv...

Hilsen,

Lars Dybdahl.

--

Dybdahl Engineering: http://dybdahl.dk/
Delphi brugergruppen DAPUG: http://dapug.dk/


Kommentar
Fra : Nyhedsbruger


Dato : 08-12-02 15:35

> Jeg er lidt af en newbie til delphi 6... og jeg skal lave et lille
> program i datalogi(valgfag på gym.)

Du skulle ikke tilfældigvis gå på ÅSG?


--
Steffen V Petersen
Remove remove.



Kommentar
Fra : Nyhedsbruger


Dato : 08-12-02 20:13


Jeg blev lidt forelsket i pindespil for nogen år siden. Altså noget med, at det
er f.eks. fem rækker, med et antal pinde i hver, og så gælder det om, at ikke få
den sidste - eller at få den sidste pind. Det er så nemt at lave et program, som
"finder" ud af, hvor mange der skal tages fra en række, for at computeren altid
vinder. (eller taber, hvis at det er det den skal)

Det man gør, er at XOR'e alle tal sammen. Så får man et tal, og så skal man
finde en række, hvor at man kan xor'e antallet med dette, og så får et mindre
tal. Det vil altid findes en sådan række. Man lader så computeren tage antallet
så den kommer ned på det udregnede. Nu vil alle tal så xor'et sammen give nul,
og man er dermed sikker på at få den sidste. Det kan vises, at det altid er en
række, som man kan xor'e med, når man først kommer ind i systemet, indtil at man
har taget alt. Og det vil man normalt komme meget nemt, hvis at bare
modspilleren gør en enkelt fejl. Herefter, så er spillet afgjort, da at man ikke
kan komme ud af systemet, når man først er inde, så længe man går efter, at
resultatet xor'et skal være "0".

Ovenstående viser, hvordan at man altid kan få sidste pind. Så kommer så
øvelsen: Ændre algoritmen, så at modstanderen altid får den sidste pind: Som et
hint, kan du prøve at ligge en fiktiv pind ekstra.

Grunden til, at jeg syntes at systemet er skægt, er at det viser at binære
operationer som XOR kan have relevans.



Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407849
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste