Denne rapport vil beskæftige sig med hvordan computere bruger matematiske algoritmer til at sortere tal efter størrelse.

Størrelse: px
Starte visningen fra side:

Download "Denne rapport vil beskæftige sig med hvordan computere bruger matematiske algoritmer til at sortere tal efter størrelse."

Transkript

1 Sorteringsalgoritmer Af Tobias André Højsgaard Klasse 2.4 Roskilde Tekniske Gymnasium IT Opgavens mål Denne rapport vil beskæftige sig med hvordan computere bruger matematiske algoritmer til at sortere tal efter størrelse. Målene for opgaven er at fremstille og beskrive tre forskellige typer af sorteringsalgoritmer: Bubble-up sort, insertion sort og quick sort. Ordet beskrive indebærer også at sammenligne de forskellige funktioners kørselstider vha. antallet af træk de har brugt på at flytte alle tallene hen på deres retmæssige plads. De tre algoritmer skal køres på fire forskellige typer af lister: En helt tilfældig liste, en næsten sorteret liste, en omvendt sorteret liste og en liste med mange ens værdier, som alle skal genereres af programmet da de skal være tal store. Sorteringsalgoritmerne Beskrivelse Vi har som sagt 3 forskellige typer af sorteringsalgoritmer. De forsøger alle at organisere tallene fra mindst til størst. Bubble-up sort er en algoritme, der sammenligner talpar gennem listen og ser på hvilken af dem, der er størst. Hvis tallet, der står forrest er større end det, der kommer efter det, så bliver de to tal byttet om. Insertion sort tager et tal i begyndelsen af listen, sammenligner med resten af listen indtil den finder et tal, der er mindre end den selv og placerer dette tal rigtigt i forhold til det tal, der står i begyndelsen af listen. Når det tal, der er mindst i hele listen er placeret som nummer 1 vil listen tjekke i forhold til tal nr. 2 indtil det tal der står på denne plads er det næstmindste og så videre. Quick sort tager et tal og behandler det som et omdrejningspunkt. Den placerer derefter alle de tal, der er mindre end omdrejningstallet i en liste for sig og alle tal, der er større, for sig. Quick sort kører desuden sig selv igen på de to nye lister den har lavet sådan at de bliver splittet op igen og igen indtil der kun er én ting tilbage i dem. Implementering Sorteringsalgoritmerne kan findes under den samlede kildekode i bunden af rapporten. Bubble-up er nok den sorteringsalgoritme med det simpleste princip bag sig. Vi bruger listeindekser til at sammenligne de ting der står på en plads i listen og på pladsen lige efter ved hjælp af en 'for'-løkke. Side 1 af 11

2 Det algoritmen gør er at sige, at alle tal på en vilkårlig listeplads skal sammenlignes med tallet på listepladsen med ét nummer højere end dem. På den måde går vi hele listen igennem og sammenligner. Vi har desuden lavet en 'try' og 'except'-kode. Grunden til dette er at algoritmen ikke ville kunne finde ud af hvad den skulle gøre når den kom til slutningen af listen og den ikke længere kan lægge 1 til det listenummer, hvorpå det tal den skal bruge står. Kombinationen af 'except' og 'break' betyder at funktionen genstarter når den ikke kan udføre koden under 'try' Insertion sort kører også med en 'for'-løkke. Vi giver en variabel en værdi, der er den samme som det tal, der står på listepladsen vi undersøger. Samtidig giver vi en variabel 'i' en værdi der er 1 mindre end listepladsens indeksnummer, hvilket senere lader os placere tal bag ved det første tal i listen. Vi siger derefter at så længe listens indeksnummer er større end eller lige med 1 (fordi 'i' er lige med listens indeks minus 1) så hvis værdien vi kigger på er mindre end tallet bag den vil de to blive rykket om, lidt ligesom en omvendt bubble-up sort. Quick sort bruger rekursive funktioner. Vi starter med at lave tre variabler og sætter dem til at være en tom liste: En mindre, lige med og større liste, som kan opbevare de tal vi fordeler i funktionen. Da disse lister er lokale i funktionen vil det ikke betyde noget at der kun er tre. Hvis længden af den liste vi skal undersøge er større end 1, så vil vi 'appende' større tal til den større liste osv. ved at sammenligne 'x' i 'for' løkken med omdrejningstallet som i denne funktion hedder 'midt'. De rekursive funktioner kommer ind i billedet når vi returnerer de tre lister plusset sammen, men samtidig kører funktionen på den større og mindre liste for at sortere dem. Hvis listens længde kun er på ét tal, så returnerer vi bare listen, hvilket derefter får funktionen til at sætte alle de små lister sammen til én stor, som så er i rigtig rækkefølge. Listegeneratorer Implementering Python giver mulighed for at skrive eller læse til tekstfiler ved at bruge funktionen: open("filnavn.txt","mode") Med mode menes om der skal skrives eller læses fra teksten. Til skrivnings bruges "w" og til læsning "r". En fælles størrelsesvariabel gør det muligt at justere længden af teksterne mere effektivt, samt hvilken rækkevidde de skal have mht. talstørrelser inde i listen. En tilfældig liste laves ved at bruge random.randrange() funktionen som tager et tilfældigt tal inden for en bestemt rækkevidde. Her er rækkevidde 1 til værdien af størrelsesvariablen. Vi skriver dette tilfældige tal ind i tekstfilen og bruger en variabel 'tal' til at tælle ned, så vi sikrer os at vi får den rette mængde tal i listen uden at ændre på størrelsesvariablens værdi. Den næsten sorterede liste laves efter næsten samme princip. Vi sørger bare for at rækkevidden af de tilfældige tal er mere justeret i forhold til listen. Her er listen opdelt i 10 intervaller som alle har deres egen rækkevidde at tage fra, sådan at all 1000-taller står før 2000-tallerne. Side 2 af 11

3 Den omvendt sorterede liste laves ved at sætte værdien af den variabel vi skriver ind i filen lige med 'tal' som vi jo bruger til at tælle ned fra den værdi størrelsen af listen antager. I dette tilfælde 10000, men det kunne lige så godt være Lister med mange ens værdier laves på præcis samme måde som den tilfældige liste, bortset fra at rækkevidden er mindre, så der er færre muligheder at tage fra når der skal findes tilfældige værdier. Sammenligning af lister: Det lykkedes desværre kun at implementere kode, der lod mig måle på antallet af træk i bubble-up og quick sort algoritmerne. Af grunde der ikke indtil videre er opklarede vises antallet af træk for insertion sort altid som tal er en meget stor liste, så der er selvfølgelig en mængde af træk tilsvarende til denne størrelse. Sammenligningen for bubble-up sort er som følger: Vi ser at den omvendt sorterede liste er den største med over 45 millioner træk, hvilket stemmer overens med det faktum, at bubble-up sort skal køre igennem funktionen flere gange hvis der er et stort tal i begyndelsen af listen, fordi den hele tiden sammenligner med enkelte talpar og bytter rundt. Der er dog et problem med at udføre videre analyse af bubble-up sort med tal-lister. Den omvendt sorterede liste er for stor til at kunne blive beregnet af computeren eller også er der en fejl i programmet når det kommer til quick sort algoritmen, hvilket giver et upræcist sammenligningsgrundlag, eller retter, et ikke eksisterende sammenligningsgrundlag. Jeg har foretaget den samme sortering igen, men med lister med en længde af 1000 tal, hvilket kunne ændres simpelt på grund af implementeringen af en størrelsesvariabel i begyndelsen af listekoden. Side 3 af 11

4 Resultaterne er cirka de samme, men nedskaleret med en faktor 10. Vi ser her resultaterne for quick sort og insertion sort. Vi kan ikke rigtigt konkludere på insertion sort, da de lave resultater skyldes en fejl. For øvrigt er dette ikke noget, der er relateret til den måde jeg har stillet min sammenligningskode op. Jeg har udkommenteret de andre algoritmers kørsel fra den nederste del af programmet under test-fasen fordi det er klart, at når man kører to algoritmer på den samme tekstfil, så vi den ene vise 0 da den anden allerede har sorteret listen. Pointen er at insertion sort ikke har virket efter hensigten når det kommer til trækoptællingen. Morsomt nok er det også den omvendt sorterede liste, der er størst for quick sort. Dette har noget at gøre med, at jeg i stedet for at vælge et tal i midten af listen som mit omdrejningspunkt, har jeg i stedet valgt det Side 4 af 11

5 første tal. Dette betyder at denne funktion kører næsten ligesom bubble-up i den omvendt sorterede liste og derfor er langsom. Derudover er der kun én ting at sige, og det er at quick sort har et lavere antal træk for hver eneste liste. Da vi ikke kan konkludere på insertion sort algoritmen må den nuværende konklusion være at quick sort er den bedste sorteringsalgoritme. Samlet kildekode # -*- coding: cp1252 -*- #Vi importerer moduler til tilfældighed og tidsmåling import random import time #Listekode strrelse = #strrlse er listernes fælles størrelse lister = "us" #lister er usorterede #Vi bruger dette til at skifte mellem til og fra sorteret tilstand om lidt #De fire tekstfil åbnevariabler til skrivning skt = open("til.txt", "w") stn = open("nsl.txt", "w") skn = open("sor.txt", "w") skm = open("mev.txt", "w") #De fire åbnevariabler til læsning lst = open("til.txt", "r") ltn = open("nsl.txt", "r") lsn = open("sor.txt", "r") lsm = open("mev.txt", "r") Listegeneratorer #Tilfældig def til(): skt = open("til.txt", "w") tal = strrelse #Vi tæller ned fra den specificerede længde af listen på while tal > 0: ran = random.randrange(1,strrelse,1) skt.write(str(ran)+"\n") tal -= 1 Side 5 af 11

6 skt.close() #Næsten sorteret def nsl(): stn = open("nsl.txt", "w") tal = 0 reftal = strrelse while strrelse > tal: #Vi tildeler variablen skn værdier, #som stemmer overens med forskellige procentuelle værdier if tal >= reftal*0.9: ran = random.randrange(reftal*0.9,reftal,1) elif tal >= reftal*0.8 and tal < reftal*0.9: ran = random.randrange(reftal*0.8,reftal*0.9,1) elif tal >= reftal*0.7 and tal < reftal*0.8: ran = random.randrange(reftal*0.7,reftal*0.8,1) elif tal >= reftal*0.6 and tal < reftal*0.7: ran = random.randrange(reftal*0.6,reftal*0.7,1) elif tal >= reftal*0.5 and tal < reftal*0.6: ran = random.randrange(reftal*0.5,reftal*0.6,1) elif tal >= reftal*0.4 and tal < reftal*0.5: ran = random.randrange(reftal*0.4,reftal*0.5,1) elif tal >= reftal*0.3 and tal < reftal*0.4: ran = random.randrange(reftal*0.3,reftal*0.4,1) elif tal >= reftal*0.2 and tal < reftal*0.3: ran = random.randrange(reftal*0.2,reftal*0.3,1) elif tal >= reftal*0.1 and tal < reftal*0.2: Side 6 af 11

7 ran = random.randrange(reftal*0.1,reftal*0.2,1) else: ran = random.randrange(reftal*0,reftal*0.1,1) #Vi går hele vejen ned til 0 #NOTE: Denne kode er unødvendigt lang #Det er muligt at lave næsten sorterede lister nemmere #Denne kode var bare en kompliceret udgave af en generator #Omvendt rækkefølge def sor(): skn = open("sor.txt", "w") tal = strrelse while tal > 0: ran = tal skn.write(str(ran)+"\n") tal -= 1 #Da vi allerede tæller ned kan vi bare sætte listens værdi lige med tallet #Mange ens værdier def mev(): skm = open("mev.txt", "w") tal = strrelse while tal > 0: ran = random.randrange(1,strrelse*0.1,1) #Denne listes tilfældige rækkevidde er meget mindre og der er derfor mange ens værdier skm.write(str(ran)+"\n") tal -= 1 skm.close() Sorteringsalgoritmer #Bubble-up sort: def bubs(li): global t c = 1 while c > 0: for i in range(len(li)): Side 7 af 11

8 #Prøv at køre. Gentager når man kommer til enden af listen. try: if li[i] > li[i+1]: plc1 = li[i] plc2 = li[i+1] li[i] = plc2 li[i+1] = plc1 c += 1 t += 1 else: c -= 1 except: break #Break: Funktionen starter forfra hvis den ikke kan køre 'try' kode. return li #Insertion sort: def inss(li): c = 1 for x in range(1,len(li)): v = li[x] i = x - 1 while i >= 0: if v < li[i]: li[i+1] = li[i] li[i] = v i -= 1 t += 1 else: break return li #Quick sort def quis(li): global t #Vi globaliserer vores tællevariabel (t) så rekursive funktioner ikke genstarter den mindre = [] lige = [] strre = [] if len(li) > 1: Side 8 af 11

9 midt = li[0] for x in li: if x < midt: mindre.append(x) t += 1 elif x > midt: strre.append(x) t += 1 elif x == midt: lige.append(x) t += 1 return quis(mindre)+lige+quis(strre) else: return li return li Sortering #Generering af lister #Vi er nødt til at køre de fire funktioner for at generere listerne til() nsl() sor() mev() #Koden readlines bruges til at læse.txt filen én linje ad gangen #På den måde får vi hele tallene i stedet for cifrene og \n Sammenligning #Bubble-up sort sammenligning "Bubble-up sort sammenligning:" bubs(lst.readlines()) "Tilfældig liste:" "Antal træk:", t bubs(ltn.readlines()) "Næsten sorteret liste:" Side 9 af 11

10 "Antal træk:", t bubs(lsn.readlines()) "Omvendt sorteret liste:" "Antal træk:", t bubs(lsm.readlines()) "Liste med mange ens værdier:" "Antal træk:", t #Insertion sort sammenligning "Insertion sort sammenligning:" inss(lst.readlines()) "Tilfældig liste:" "Antal træk:", t inss(ltn.readlines()) "Næsten sorteret liste:" "Antal træk:", t inss(lsn.readlines()) "Omvendt sorteret liste:" "Antal træk:", t inss(lsm.readlines()) "Liste med mange ens værdier:" "Antal træk:", t #Quick sort sammenligning "Quick sort sammenligning:" quis(lst.readlines()) "Tilfældig liste:" Side 10 af 11

11 "Antal træk:", t quis(ltn.readlines()) "Næsten sorteret liste:" "Antal træk:", t quis(lsn.readlines()) "Omvendt sorteret liste:" "Antal træk:", t quis(lsm.readlines()) "Liste med mange ens værdier:" "Antal træk:", t Konklusion Vi har lavet fire lister af tal, men dette skabte i nogle tilfælde fejl for computeren, så i sammenligningen af algoritmerne blev denne værdi nedsat til 1000 tal. Vi kan konkludere på baggrund af resultaterne at quick sort har et lavere antal træk i hver eneste listetype. Dog ser den ud til at have et problem når listerne kommer op omkring de tal i længde, så efter dette punkt er bubble sort den mest medgørlige algoritme med omvendt sorterede lister, selvom træk-antallet og tiden for funktionens udførelse er meget stort/lang. Side 11 af 11

Lær Python - Dag 3, modul 1 Læse og skrive filer

Lær Python - Dag 3, modul 1 Læse og skrive filer Lær Python - Dag 3, modul 1 Læse og skrive filer Simon J. Larsen 15. oktober 2017 Institut for Matematik og Datalogi Læse og skrive filer Persistens Vi har ofte brug for at gemme data på disken som ikke

Læs mere

Introduktion til funktioner, moduler og scopes i Python

Introduktion til funktioner, moduler og scopes i Python Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for

Læs mere

Python programmering. Per Tøfting. MacFest

Python programmering. Per Tøfting. MacFest Python programmering MacFest 2005 Per Tøfting http://pertoefting.dk/macfest/ Indhold Måder at afvikle Python program på Variabler Data typer Tal Sekvenser Strenge Tupler Lister Dictionaries Kontrolstrukturer

Læs mere

Forelæsning 17, tirsdag 2. november 1999 Søgning efter en given værdi i en tabel. Programmering 1999

Forelæsning 17, tirsdag 2. november 1999 Søgning efter en given værdi i en tabel. Programmering 1999 sammenligninger, hvor Programmering 1999 Forelæsning 17, tirsdag 2 november 1999 Søgning efter en given værdi i en tabel Lineær søgning og binær søgning Effektivitet: maskinuafhængig vurdering af køretid

Læs mere

Majoritetsproblemet Problem Præcisering af inddata Præcisering af uddata

Majoritetsproblemet Problem Præcisering af inddata Præcisering af uddata Majoritetsproblemet Problem: Til præsidentvalget i Frankrig har cirka 20 millioner vælgere afgivet deres stemme på et antal præsidentkandidater. Afgør om en af kandidaterne har opnået mere end halvdelen

Læs mere

Sortering. Eksempel: De n tal i sorteret orden

Sortering. Eksempel: De n tal i sorteret orden Sortering 1 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden

Læs mere

Algoritmer og invarianter

Algoritmer og invarianter Algoritmer og invarianter Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker. Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker.

Læs mere

Søgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning

Søgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning Søgning og Sortering Søgning og Sortering Philip Bille Søgning. Givet en sorteret tabel A og et tal x, afgør om der findes indgang i, så A[i] = x. Sorteret tabel. En tabel A[0..n-1] er sorteret hvis A[0]

Læs mere

It og informationssøgning Forelæsning oktober 2006 Nils Andersen

It og informationssøgning Forelæsning oktober 2006 Nils Andersen It og informationssøgning Forelæsning 6 11. oktober 2006 Nils Andersen Formatstyret udskrivning. Undtagelser. Løkkestyring med break og continue. Tekstfiler. Højereordensfunktioner. Formattekster og %-operatoren

Læs mere

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge:

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge: Side 1 af 5 Ide med Diff. Min ide med differenertierings modulet er at lave et program som kan vise 3d objekter, og få lavede en konverter som kan konventer 3ds filer over til noget som flash kan bruge.

Læs mere

Søgning og Sortering. Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering Flettesortering. Philip Bille

Søgning og Sortering. Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering Flettesortering. Philip Bille Søgning og Sortering Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering Flettesortering Philip Bille Søgning og Sortering Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering

Læs mere

Sortering af information er en fundamental og central opgave.

Sortering af information er en fundamental og central opgave. Sortering 1 / 36 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 6, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,

Læs mere

Grundlæggende køretidsanalyse af algoritmer

Grundlæggende køretidsanalyse af algoritmer Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers

Læs mere

Dokumentation af programmering i Python 2.75

Dokumentation af programmering i Python 2.75 Dokumentation af programmering i Python 2.75 Af: Alexander Bergendorff Jeg vil i dette dokument, dokumentere det arbejde jeg har lavet i løbet opstarts forløbet i Programmering C. Jeg vil forsøge, så vidt

Læs mere

Klasse 1.4 Michael Jokil 03-05-2010

Klasse 1.4 Michael Jokil 03-05-2010 HTX I ROSKILDE Afsluttende opgave Kommunikation og IT Klasse 1.4 Michael Jokil 03-05-2010 Indholdsfortegnelse Indledning... 3 Formål... 3 Planlægning... 4 Kommunikationsplan... 4 Kanylemodellen... 4 Teknisk

Læs mere

Sortering. Eksempel: De n tal i sorteret orden

Sortering. Eksempel: De n tal i sorteret orden Sortering 1 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden

Læs mere

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning.

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning. Indhold Beregn rødder... 2 Beskrivelse af kærneproblemet... 2 Plan for brugerfladen for programmet... 3 Operationer på inddata... 4 Output - Beskrivelse af uddata... 4 Flowchart - programmets logiske opbygning/struktur...

Læs mere

Sortering af information er en fundamental og central opgave.

Sortering af information er en fundamental og central opgave. Sortering Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,

Læs mere

Mircobit Kursus Lektion 3 (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.)

Mircobit Kursus Lektion 3   (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.) Mircobit Kursus Lektion 3 http://microbit.org/ (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. Man skulle lave et tabel

Læs mere

Introduktion Til Konkurrenceprogrammering

Introduktion Til Konkurrenceprogrammering Introduktion Til Konkurrenceprogrammering Søren Dahlgaard og Mathias Bæk Tejs Knudsen {soerend,knudsen}@di.ku.dk Version 0.1 Indhold Indhold i Introduktion 1 1 Palindromer 3 1.1 Introduktion til Python...............

Læs mere

Lær Python dag 1 - modul 1

Lær Python dag 1 - modul 1 Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Sortering i lineær tid

Sortering i lineær tid Sortering i lineær tid Nedre grænse for sammenligningsbaseret sortering Nedre grænser kræver en præcis beregningsmodel. Nedre grænse for sammenligningsbaseret sortering Nedre grænser kræver en præcis beregningsmodel.

Læs mere

Noter til C# Programmering Iteration

Noter til C# Programmering Iteration Noter til C# Programmering Iteration Programflow Programmer udfører det meste af deres arbejde vha. forgrening og løkker. Løkker Mange programmeringsproblemer kan løses ved at gentage en handling på de

Læs mere

Struktureret læsning i Matematik

Struktureret læsning i Matematik Struktureret læsning i Matematik Frank Villa 19. august 2012 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk.

Læs mere

BRP Sortering og søgning. Hægtede lister

BRP Sortering og søgning. Hægtede lister BRP 18.10.2006 Sortering og søgning. Hægtede lister 1. Opgaver 2. Selection sort (udvælgelsessortering) 3. Kompleksitetsanalyse 4. Merge sort (flettesortering) 5. Binær søgning 6. Hægtede lister 7. Øvelser:

Læs mere

Mm7: A little bit more about sorting - and more times for exercises - November 4, 2008

Mm7: A little bit more about sorting - and more times for exercises - November 4, 2008 Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm: A little bit more about sorting - and more times for exercises - November 4, 2008 1 Algorithms and Architectures

Læs mere

Martin Olsen. DM507 Projekt Del I. 19. marts 2012 FOTO: Colourbox

Martin Olsen. DM507 Projekt Del I. 19. marts 2012 FOTO: Colourbox Martin Olsen DM0 Projekt 0 Del I. marts 0 FOTO: Colourbox Indhold Indledning... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Kildekode til SimpleInv.java... Kildekode til MergeSort.java...

Læs mere

Mircobit Kursus Lektion 2

Mircobit Kursus Lektion 2 Mircobit Kursus Lektion 2 I denne lektie skal vi arbejde videre med lille mini computer kaldt microbit. Du kan finde Simulatoren & Programmet til micobit her: http://microbit.org/ (Du skal her vælge Lets

Læs mere

Kom godt i gang med Fable-robotten

Kom godt i gang med Fable-robotten Kom godt i gang med Fable-robotten 1. Først skal du installere programmet på din computer. Gå ind på shaperobotics.com og under support vælger du download: Her vælger du, under PC App om du kører Windows

Læs mere

It og informationssøgning Forelæsning september 2006 Nils Andersen. Gentagelser og tekster

It og informationssøgning Forelæsning september 2006 Nils Andersen. Gentagelser og tekster It og informationssøgning Forelæsning 3 20. september 2006 Nils Andersen Gentagelser og tekster Dokumentationstekster Iteration (gentagelse) - med while - med for En- og todimensionale tabeller Typen af

Læs mere

DDD Runde 2, 2015 Facitliste

DDD Runde 2, 2015 Facitliste DDD Runde 2, 2015 Facitliste Søren Dahlgaard og Mathias Bæk Tejs Knudsen Opgaver og løsninger til 2. runde af DDD 2015. 1 4. 19. februar, 2015 linetest DK v1.0 Line Test Sigurd er begyndt i gymnasiet og

Læs mere

Fable Kom godt i gang

Fable Kom godt i gang Fable Kom godt i gang Opdateret: 26-03-2018 Indholdsfortegnelse 1. Først skal du installere programmet på din computer 3 2. Når programmet er installeret er du klar til at pakke robotten ud 4 3. Nu er

Læs mere

Michael Jokil 11-05-2012

Michael Jokil 11-05-2012 HTX, RTG Det skrå kast Informationsteknologi B Michael Jokil 11-05-2012 Indholdsfortegnelse Indledning... 3 Teori... 3 Kravspecifikationer... 4 Design... 4 Funktionalitet... 4 Brugerflade... 4 Implementering...

Læs mere

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2010 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 24. april, 2010 (let justeret 10. maj og 21. maj 2010) Dette projekt udleveres i tre

Læs mere

DM536. Rapport og debug

DM536. Rapport og debug DM536 Rapport og debug Kilder Vigtig.it (Felix Palludan Hargreaves) http://vigtig.it/dm502/howto_report.pdf http://vigtig.it/blog/teaching/#toc-relevant-tips Peter Schneider-Kamp http://imada.sdu.dk/~petersk/dm536/project2.pdf

Læs mere

Sortering. De n tal i sorteret orden. Eksempel: Kommentarer:

Sortering. De n tal i sorteret orden. Eksempel: Kommentarer: Sortering Sortering Input: Output: n tal De n tal i sorteret orden Eksempel: Kommentarer: 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Sorteret orden kan være stigende eller faldende. Vi vil i dette kursus

Læs mere

Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering...

Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering... Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering... 3 Kildekoden... 4 Variabler... 4 Setup... 4 Loop... 4 Indledning

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:

Læs mere

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål

Læs mere

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen...

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen... Modul 2 Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen... 6 Opgave... 6 POST/GET og formular... 6 Opgaver...

Læs mere

Mircobit Kursus Lektion 1

Mircobit Kursus Lektion 1 Mircobit Kursus Lektion 1 I denne lektie skal vi se nærmere på den lille mini computer kaldt microbit. Egentlig kræver det at man har en fysisk microbit men man kan også næsten lave det samme med den simulator

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde

Læs mere

Mark Jeays simple solution to the Rubik s cube oversat og redigeret af Jess Bonde. -

Mark Jeays simple solution to the Rubik s cube oversat og redigeret af Jess Bonde. - Mark Jeays simple solution to the Rubik s cube oversat og redigeret af Jess Bonde. jess@rubiks.dk - http://www.rubiks.dk Trin 0 Introduktion & notation Trin 1 De tre øverste sidestykker Trin 2 Hjørner

Læs mere

Sammenlign og byt. Et eksempel på dokumentering af et program

Sammenlign og byt. Et eksempel på dokumentering af et program Sammenlign og byt Et eksempel på dokumentering af et program Sammenlign og byt Jeg har valgt, som et eksempel, at dokumentere et meget enkelt program som indlæser to tal, sammenligner dem og udskriver

Læs mere

Læringsprogram. Numeriske metoder. Matematik A Programmering C Studieområdet. Roskilde Tekniske Gymnasium Klasse 3.4

Læringsprogram. Numeriske metoder. Matematik A Programmering C Studieområdet. Roskilde Tekniske Gymnasium Klasse 3.4 Læringsprogram Numeriske metoder Matematik A Programmering C Studieområdet Roskilde Tekniske Gymnasium Klasse 3.4 Lau Lund Leadbetter Mikkel Karoli Johnsen Tobias Sønderskov Hansen Lineær regression ved

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Turneringsplanlægning

Turneringsplanlægning Rasmus Vinther Rasmussen Afdelingen for Operations Analyse Aarhus Universitet Matematiklærerdag 006 Er der nogen, der har prøvet at planlægge en turnering? Er der nogen, som har hørt om en turnering, der

Læs mere

Øvelse 7: Aktuar-tabeller, Kaplan-Meier kurver og log-rank test

Øvelse 7: Aktuar-tabeller, Kaplan-Meier kurver og log-rank test Øvelse 7: Aktuar-tabeller, Kaplan-Meier kurver og log-rank test Formålet med øvelsen er at analysere risikoen for død forbundet med forskelligt alkoholforbrug. I denne øvelse skal analyserne foretages

Læs mere

Visualiseringsprogram

Visualiseringsprogram Visualiseringsprogram Programmering C - eksamensopgave Rami Kaddoura og Martin Schmidt Klasse: 3.4 Vejleder: Karl Bjarnason Roskilde Tekniske Gymnasium Udleveringsdato: 02-03-2012 Afleveringsdato: 11-05-12

Læs mere

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte

Læs mere

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22.

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22. Klasser og Objekter i Python Uge 46 Learning Python: kap 15-16, 19-22. Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. En kage form Klassens

Læs mere

Beat the Clock Sorteringsnetværk

Beat the Clock Sorteringsnetværk Aktivitet 8 Beat the Clock Sorteringsnetværk Resumé Selvom computer er hurtige, er der en grænse for, hvor hurtigt de kan løse et problem. En måde at speed e det op på er at bruge flere computere til at

Læs mere

Fable Kom godt i gang

Fable Kom godt i gang Fable Kom godt i gang Vers. 1.3.1 Opdateret: 29-08-2018 Indholdsfortegnelse 1. Installer programmet 3 2. Pak robotten ud 5 3. I gang med at programmere 6 4. Programmér Fable til at køre fra 90 til -90

Læs mere

Løsning af møntproblemet

Løsning af møntproblemet Løsning af møntproblemet Keld Helsgaun RUC, oktober 1999 Antag at tilstandene i problemet (stillingerne) er repræsenteret ved objekter af klassen State. Vi kan da finde en kortest mulig løsning af problemet

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet Side af 1 sider Skriftlig Eksamen Algoritmer og Datastrukturer 1 Datalogisk Institut Aarhus Universitet Dette eksamenssæt består af en kombination af små skriftlige opgaver og multiplechoice-opgaver. Opgaverne

Læs mere

Du trækker 2 gange, hvis begge spillere bekender begge gange, så er der kun 1 trumf tilbage, og du vil ALTID vinde.

Du trækker 2 gange, hvis begge spillere bekender begge gange, så er der kun 1 trumf tilbage, og du vil ALTID vinde. Februar 2018. Spil 1. Løsning på quiz. Løsning på quiz fra januar 2018. 1. Spar es, hjerter 2, 3, 4, 5 og 6, ruder konge, dame og knægt. Begge dine modspillere har bekendt 1. udspil. 2. Spar es, klør 2,

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Pointen med Funktioner

Pointen med Funktioner Pointen med Funktioner Frank Nasser 0. april 0 c 0080. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette er en

Læs mere

Kapitel 4 Løkker i C#

Kapitel 4 Løkker i C# Kapitel 4 Løkker i C# Løkker en vigtig del af alle programmeringssprog, og C# er ikke andeles. En løkke er en måde at udføre en del af koden gentagne gange. Ideen er at du fortsætter med at udføre en opgave

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

DM13-3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode

DM13-3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode - 3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode Jacob Aae Mikkelsen - 191076 12. december 2005 1 Indhold 1 Opgave beskrivelse 2 2 Muligheder for optimering 2 2.1 efter branch.........................

Læs mere

Python 3 kursus lektion 1:

Python 3 kursus lektion 1: Python 3 kursus lektion 1: Her laves et nyt program Her køre programmet! Her skrives koden: Gem (CTRL-s) Tryk F5 (for at køre) www.madsmatik.dk d.14-01-2016 1/5 At skrive til skærmen: Hello World Man kan

Læs mere

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Opbyg løsningen skridt for skridt ved hele tiden af vælge lige

Læs mere

Computerspil. Hangman. Stefan Harding, Thomas Bork, Bertram Olsen, Nicklas Thyssen og Ulrik Larsen Roskilde Tekniske Gymnasium.

Computerspil. Hangman. Stefan Harding, Thomas Bork, Bertram Olsen, Nicklas Thyssen og Ulrik Larsen Roskilde Tekniske Gymnasium. 10-02-2015 Computerspil Hangman Stefan Harding, Thomas Bork, Bertram Olsen, Nicklas Thyssen og Ulrik Larsen Roskilde Tekniske Gymnasium. Kom/it c Indhold Intro... 2 Indledende aktivitet... 2 Kommunikations

Læs mere

Vi har valgt at analysere vores gruppe ud fra belbins 9 grupperoller, vi har følgende roller

Vi har valgt at analysere vores gruppe ud fra belbins 9 grupperoller, vi har følgende roller Forside Indledning Vi har fået tildelt et skema over nogle observationer af gærceller, ideen ligger i at gærceller på bestemt tidspunkt vokser eksponentielt. Der skal nu laves en model over som bevise

Læs mere

Dansk Skaksalg Vejledning til ur - DGT 2010

Dansk Skaksalg Vejledning til ur - DGT 2010 Indhold Knapper på uret... 2 Oversigt over programmer... 3 Standard indstilling... 3 Korrigere tiden - give ekstra/mindre tid... 4 Manuel opsætning... 4 Generelt ved manuel opsætning:... 4 1: Armageddon

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Mircobit Kursus Lektion 4 (Du skal her vælge Lets Code Og herefter Block Editor.)

Mircobit Kursus Lektion 4   (Du skal her vælge Lets Code Og herefter Block Editor.) Mircobit Kursus Lektion 4 http://microbit.org/ (Du skal her vælge Lets Code Og herefter Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. I skulle lave et stop ur man kunne

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3 DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget

Læs mere

DM01 DM01. 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 13/5-2003. Side 1 af 7

DM01 DM01. 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 13/5-2003. Side 1 af 7 DM01 DM01 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 13/5-2003 Side 1 af 7 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DNA2:...4 2.1.1 METODER:...4

Læs mere

Der hænger 4 lodder i et fælles hul på hver side af en vægtstang. Hvad kan du sige med hensyn til ligevægt?:

Der hænger 4 lodder i et fælles hul på hver side af en vægtstang. Hvad kan du sige med hensyn til ligevægt?: 1 At skabe ligevægt Der er flere måder hvorpå man med lodder som hænger i et fælles hul på hver sin side af en vægtstang kan få den til at balancere - at være i ligevægt. Prøv dig frem og angiv hvilke

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

Sortering ved fletning (merge-sort)

Sortering ved fletning (merge-sort) Sortering 1 Sortering ved fletning (merge-sort) 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 2 Del-og-hersk Del-og-hersk er et generelt paradigme til algoritmedesign Del: opdel input-data S i to disjunkte

Læs mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 4 n n 3n n 2 /logn 5 n n (logn) 3n n 2 /logn 4 n n 5 n

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 4 n n 3n n 2 /logn 5 n n (logn) 3n n 2 /logn 4 n n 5 n Side af 0 sider Opgave (%) Ja Nej n er O(0n logn)? n er O(n )? n +n er O(n )? n logn er O(n )? n logn er O(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n

Læs mere

I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal.

I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal. Denne guide er oprindeligt udgivet på Eksperten.dk Afrund til helt tal I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal. Skrevet den 03. Feb 2009 af tjomsen I kategorien

Læs mere

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

Selvstudium 1, Diskret matematik

Selvstudium 1, Diskret matematik Selvstudium 1, Diskret matematik Matematik på første studieår for de tekniske og naturvidenskabelige uddannelser Aalborg Universitet I dette selfstudium interesserer vi os alene for tidskompleksitet. Kompleksitet

Læs mere

Kom igang med Scroll:bit

Kom igang med Scroll:bit Kom igang med Scroll:bit 1. Forbind scroll:bit til din micro:bit Indsæt micro:bit i edge-connectoren på din scroll:bit. Displayet på micro:bit og scroll:bit skal vende samme vej. Se billede nedenfor. Det

Læs mere

Introduktion til denne manual

Introduktion til denne manual DdD Statusmanual Introduktion til denne manual Denne manual er delt i 4 mindre manualer, som du kan bruge samlet til en komplet statusmanual eller hver for sig. 1) En step by step guide a. Beskriver step-by-step

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Programmering C RTG - 3.3 09-02-2015

Programmering C RTG - 3.3 09-02-2015 Indholdsfortegnelse Formål... 2 Opgave formulering... 2 Krav til dokumentation af programmer... 3 ASCII tabel... 4 Værktøjer... 5 Versioner af ASCII tabel... 6 v1.9... 6 Problemer og mangler... 6 v2.1...

Læs mere

Introduktion. Introduktion. Algoritmer og datastrukturer. Eksempel: Maksimalt tal

Introduktion. Introduktion. Algoritmer og datastrukturer. Eksempel: Maksimalt tal Philip Bille Algoritmer og datastrukturer Algoritmisk problem. Præcist defineret relation mellem input og output. Algoritme. Metode til at løse et algoritmisk problem. Beskrevet i diskrete og entydige

Læs mere

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4 IT opgave Informationsteknologi B Vejleder: Karl Navn: Devran Kücükyildiz Klasse: 2,4 Dato:03-03-2009 1 Indholdsfortegnelse 1. Indledning... 3 2. Planlægning... 3 Kommunikationsplanlægning... 3 Problemstillingen...

Læs mere

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen. Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19

Læs mere

Introduktion. Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3. Philip Bille

Introduktion. Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3. Philip Bille Introduktion Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Philip Bille Introduktion Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Algoritmer

Læs mere

Jan B. Larsen HTX Næstved Computational Thinking Albena Nielsen N. Zahles Gymnasium 2018/2019

Jan B. Larsen HTX Næstved Computational Thinking Albena Nielsen N. Zahles Gymnasium 2018/2019 Forløb: Toksikologi Fag og emner Forløbet kan laves udelukkende i matematik og bioteknologi, men der er oplagt, at det implementeres i andre fag. Matematik modellering, differenceligninger, sandsynlighed,

Læs mere

Online billede filtrering

Online billede filtrering Online billede filtrering Eksamensprojekt 2014 Andreas Lorentzen, klasse 3.4 Roskilde Tekniske Gymnasium Programmering C 09-05-2014 I dette projekt vil jeg demonstrerer en af de mange ting moderne browsere

Læs mere

Sproget Rascal (v. 2)

Sproget Rascal (v. 2) Sproget Rascal (v. 2) Til brug i K1 på kurset Oversættere Opdateret 29/11 2004 Abstract Rascal er et simpelt Pascal-lignende imperativt sprog. Dette dokument beskriver uformelt Rascals syntaks og semantik

Læs mere

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Programmering C Eksamensprojekt Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Indledning Analyse Læring er en svær størrelse. Der er hele tiden fokus fra politikerne på, hvordan de danske skoleelever kan

Læs mere

DM02 opgaver ugeseddel 2

DM02 opgaver ugeseddel 2 DM0 opgaver ugeseddel af Fiona Nielsen 16. september 003 Øvelsesopgaver 9/9, 10/9 og 11/9 1. Vis, at 1 3 + 3 3 + 5 3 +... + (n 1) 3 = n 4 n. Omskriver til summationsformel: (i 1) 3 = n 4 n Bevis ved induktion

Læs mere

2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode.

2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode. Denne guide er oprindeligt udgivet på Eksperten.dk I gang med Python I denne artikel vil jeg forsøge at give et kort og hurtigt indblik i programmeringssproget Python, der desværre er alt for overset.

Læs mere

Invarianter. Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af) dens udførelse. Udgør ofte kernen af ideen bag algoritmen.

Invarianter. Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af) dens udførelse. Udgør ofte kernen af ideen bag algoritmen. Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af) dens udførelse. Udgør ofte kernen af ideen bag algoritmen. Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af)

Læs mere