UNITY OG KODE. Manipuler objekter via C# kode
|
|
- Hanne Hedegaard
- 5 år siden
- Visninger:
Transkript
1 UNITY OG KODE Manipuler objekter via C# kode 1
2 FRAKTAL Et projekt der danner 3D fraktaler automatisk 2
3 LAV ET NYT 3D PROJEKT 3
4 LAV ET TOMT GAMEOBJECT 4
5 5
6 LAV ET NYT C# SCRIPT 6
7 7
8 FØJ SCRIPTET TIL OBJEKTET 8
9 9
10 LAV EN SCENE OG ET MATERIALE 10
11 11
12 FØJ FØLGENDE TIL SCRIPTET 12
13 13
14 GENNEMGANG AF SCRIPTET INDTIL VIDERE Hvad er et mesh? Et mesh er et construct, der anvendes af den grafiske hardware til at tegne komplekse ting. Det er et 3D-objekt, der er enten er importeret til Unity, en af Unitys standard figurer eller genereret af kode. Et mesh indeholder mindst en samling af punkter i 3D-rum plus et sæt trekanter - de mest basale 2D figurer - defineret af disse punkter. Trekanterne udgør overfladen af uanset hvad mesh et forestiller. Ofte vil du ikke tænke over at man kigger på en gruppe trekanter i stedet for et reelt objekt Hvad er et material? Materialer anvendes til at definere de visuelle egenskaber for objekter. De kan variere fra meget enkle, ligesom en konstant farve, til meget komplekse. Materialer består af en shader og den data som shaderen måtte have behov for. Shaders er grundlæggende scripts der fortæller grafikkortet hvordan objektets polygoner bør udarbejdes. Standard diffuse shader bruger en enkelt farve og en tekstur sammen lyskilderne i den scene til at bestemme udseendet af polygoner. Den lidt mere komplicerede specular shader simulerer også highlights. 14
15 GENNEMGANG AF SCRIPTET INDTIL VIDERE Hvornår bliver start kaldt (invoked) Start metoden kaldes af Unity efter komponenten er oprettet, når den er aktiv, lige før den første gang dens Update metode ville blive kaldt, hvis den har en. Den kaldes kun én gang. Hvordan fungerer AddComponent? AddComponent metoden laver en ny komponent af en bestemt type, fastgjort til spil objektet, og returnerer en reference til det. Derved kan vi straks få adgang til komponentens værdier. Man kan også benytte en mellemliggende variabel. 15
16 FØJ VORES MATERIALE TIL FRACTAL KOMPONENTEN OG GIV DEN ET STANDARD CUBE MESH 16
17 17
18 TJEK DET VI HAR LAVET I PLAYMODE Jeg har sat playmode for mig til at have en overlay farve så jeg kan se når jeg er i playmode. Dette gøres under Edit > Preferences > Colors > Playmode tint 18
19 LAV BØRN AF FRACTAL MED DEN NY KODE PÅ LINJE 14 19
20 20
21 GENNEMGANG AF SCRIPTET INDTIL VIDERE Hvad gør new? new nøgleordet bruges til at konstruere en ny forekomst af et objekt eller en struct. Det efterfølges af at kalde en speciel constructor metode, som har samme navn som den klasse eller struct det tilhører. Vi har dog et problem! Hver ny fraktal instans ønsker at skabe endnu en yderligere. Dette sker hver frame, uden ende. Lad det køre i et stykke tid, og din computer vil komme i problemer, da den løber tør for hukommelse. Typisk vil rekursive algoritmer der ikke stopper forbruge maskinens ressourcer næsten øjeblikkeligt og resultere i enten en stak overflow undtagelser eller et nedbrud. I dette tilfælde er det en temmelig godartet eksplosion, fordi det sker langsomt. 21
22 GENNEMGANG AF SCRIPTET INDTIL VIDERE Vi har dog et problem! fortsat For at forhindre dette i at ske introducerer vi begrebet maksimal dybde. Vores indledende fraktal instans vil have en dybde på nul. Dets barn vil have en dybde på én. Barnet af dette barn vil have en dybde på 2. Og så videre, indtil den maksimale dybde er nået. For at gøre dette tilføjer vi en offentlig maxdepth heltalsvariabel og sætter den til 4 i inspektøren. Derefter tilføjer vi et privat heltal depth Derved kan der kun oprette et nyt barn, hvis vi er under den maksimale dybde. 22
23 MAX DEPTH FØJES TIL SCRIPTET Føj linje til og erstat den gamle linje 14 (nu 18) med de ny linjer
24 24
25 SÆT MAX DEPTH TIL 4 25
26 26
27 27
28 SKER DER NOGET? Præcis ét barn blev skabt da vi aldrig gav en dybde værdi. Derfor er den altid nul. Fordi nul er mindre end 4 har vores rod fraktal objekt skabt et barn. Barnets dybde værdi er derfor nul. Vi har ligeledes aldrig sat barnets maxdepth, så den er derfor nul. Derfor har barnet ligeledes ikke dannet yderligere. Vi kan heller ikke se barnet, da det mangler bade material og mesh. Vi er nødt til at kopiere disse referencer fra sit forældreren. Derfor tilføjer vi en ny metode der tager sig af alle de nødvendige initieringer. 28
29 VI FØJER DET TIL SCRIPTET Føj linje til og erstat de gamle linjer med de ny linjer 29
30 30
31 GENNEMGANG AF SCRIPTET INDTIL VIDERE Hvad gør this? initialize kaldes før start this nøgleordet henviser til det aktuelle Først opretter vi det nye spil objekt. objekt eller struct hvis metode bliver Så vil en ny Fractal komponent bliver kaldt. oprettet og føjet til det. Det bliver brugt implicit hele tiden når der På dette tidspunkt ville dens Awake og henvises til ting fra den samme klasse. OnEnable metoder påberåbes, hvis de For eksempel, når vi har adgang depth havde eksisteret. kan vi gøre det via this.depth. Så gøres AddComponent metoden Man bruger det typisk når man skal sende færdig. en reference til objektet selv, ligesom vi gør med initialize. Umiddelbart efter påberåber vi initialize. Vi kalder nemlig initialize metoden i det Kaldet til at starte begynder ikke før nye efterkommer objekt, ikke fra næste frame. forælder objektet. 31
32 SKER DER NOGET? Når vi nu går ind i playmode vil fire børn blive oprettet, som forventet. De er dog ikke rigtig børn, da de alle vises i hierarkiet rod. Forældre-barn forholdet mellem spil objekter er defineret ved deres transformations hierarki. Så et barn er nødt til at gøre således at forælderen af den transformerede komponent svarer til den fraktale forælders transform. 32
33 NY KODE DER ORDNER HIERAKIET Føj linje 29 til 33
34 34
35 MEN HVOR ER BØRNENE? Indtil videre er børnene superimposed oven på deres forældre, hvilket betyder, at vi stadig kun se en enkelt kasse. Vi er nødt til at flytte dem ind i deres lokale rum, så de bliver synlige. Fordi de skal være mindre end deres forældre er vi nødt til at skalere dem også. Glem ikke at videregive denne værdi fra forælder til barn også. Så brug den til at sætte barnets lokale skala. Børnene skal som sagt flyttes så de kan ses, så lad os lægge dem lige op, så de rører deres Vi gør skaleringen konfigurerbar med en ny forældre. Vi antager, at forældrene har en variabel med navnet childscale og tildeler den en størrelse på én i alle retninger, hvilket er tilfældet værdi på 0,5 i inspektøren efter vi har føjet koden for den kube, som vi bruger. Flytning op af en til. halv sætter os på det punkt, hvor forældre og barn skal røre. Så vi er nødt til at flytte et yderligere værdi svarende til halvdelen af størrelsen af barnet. 35
36 NY KODE DER FLYTTER OG SKALERER Erstat linje med linje
37 37
38 38
39 FLERE BØRN I ANDRE RETNINGER Hvad vi laver nu ligner et tårn, men ikke rigtig en fraktal. Vi skal have det til at forgrene sig. Det gør vi ved at oprette flere børn per forælder. Det er nemt at bare oprette en anden genstand, men den skal også vokse i en anden retning. Derfor tilføjer vi en retnings parameter til vores Initialize metode og benytter den til at placere det andet barn til højre i stedet for op. 39
40 FLERE BØRN I ANDRE RETNINGER Erstat linje 20 med linje og føj det ny til linje 26 og 34 (28 og 36 hvis du har sat de første linjer ind) 40
41 41
42 LAD OS SÆNKE TEMPOET SÅ VI KAN SE FRAKTALEN GRO Da alle figurerne er skabt inden for et par frames går det for hurtigt til at vi kan se det vokse. Lad os bremse denne proces ned, så vi kan se det ske. Vi kan gøre dette ved at lade en coroutine skabe børnene. Tænk på coroutines som metoder, hvor du kan indsætte pause udsagn. Mens metodeaktiveringen er sat på pause fortsætter resten af programmet. Selvom dette synspunkt meget forenklet, er det hvad vi har brug for at gøre brug af lige nu. Vi flytter derfor de to linjer, der skaber børn, ind i en ny metode, CreateChildren. Denne metode er nødt til at have IEnumerator som en return type, hvilket stammer fra System.Collections namespace. Det er derfor Unity inkluderer det I deres standard script template og vi har bibeholdt det. I stedet for bare at kalde denne metode i Start, er vi nødt til at kalde det som et argument for Unitys StartCoroutine metode. Derefter føjes et pause direktiv inden vi opretter hvert barn. Vi gør dette ved at skabe et nyt WaitForSeconds objekt i et halvt sekund eller deromkring, hvorefter det gives tilbage til Unity. 42
43 LAD OS SÆNKE TEMPOET SÅ VI KAN SE FRAKTALEN GRO Erstat linje 18 og frem med den ny kode 43
44 44
45 45
46 GENNEMGANG AF SCRIPTET INDTIL VIDERE Hvad er en enumerator? Optælling (enumeration) er begrebet når man går gennem en samling (collection) ét element ad gangen, ligesom looping igennem alle elementer i et array. En optæller (enumerator) - eller iteratoren - er et objekt, der giver en grænseflade til denne funktion. System.Collections.IEnumerator beskriver en sådan grænseflade. Coroutines benytte dette, hvilket også er grunden til Unity har System.Collections i deres standard script skabelon, og derfor vi har den med. Hvad gør return? Du bruger return nøgleordet til at indikere, at en metode er færdig og hvad dens resultat er. Hvad du sender tilbage, skal passe til metodens type. Hvis det er en void metode skal man blot returnere noget. Det er ikke nødvendigt at have en returnsætning i slutningen af en void eller en special constructor metode, for alle andre metoder er det påkrævet. Det er muligt at have flere return-sætninger inde i en metode. I så fald er der flere mulige udgangspunkter. Man bruger typisk if statements til at afgøre, hvilken return der bliver brugt. 46
47 GENNEMGANG AF SCRIPTET INDTIL VIDERE Hvad gør yield? Et yield statement bruges af iterators. For at gøre enumeration mulig er man nødt til at holde styr på ens fremskridt. Dette indebærer noget standardtekst (boilerplate) kode, der stort set altid er den samme. Det vi gerne vil er reelt bare at kunne skrive return firstitem; return seconditem; indtil vi er færdige. Dette tillader yield statementet. Når man benytter yield bliver et enumerator objekt skabt bag kulissen. Derfor har vores CreateChildren metode IEnumerator som dens return type. Man kan også yield e en anden iterator. I så fald vil denne anden iterator blive behandlet fuldstændigt, så du kan kombinere dem på kreative måder. Hvordan virker coroutines? Når man opretter en coroutine i Unity laver man reelt en iterator. Når man sender den til StartCoroutine metoden bliver den opbevaret og bliver bedt om sin næste punkt hver frame, indtil den er færdig. Yield statements producerer elementerne. Statements i mellem - de ting, man ønsker skal ske - er bivirkninger af iteratoren der gør sit arbejde. Du kan give yield særlige ting som WaitForSeconds for at have mere kontrol over, hvornår din egen kode fortsætter, men den overordnede tilgang er blot en iterator. 47
48 48
49 LAD OS FØJE ET BARN TIL DEN ANDEN SIDE OGSÅ Føj linje til efter linje 29 49
50 50
51 BØRNENES RETNING RETTES TIL Det er et problem at børnene har samme retning som deres forældre. Det betyder, at et venstre barn, hvis forælder selv er et højre barn, vil befinde sig inde i sin bedsteforælder og vice versa. For at løse dette, vi nødt til at rotere børnene, så deres opadgående retning vil pege væk fra deres forældre. Dette løses ved at tilføje en orientering parameter til Initialize. Det er en quaternion der bruges til at indstille den lokale rotation af det nye barn. Det opadgående barn behøver ingen rotation, det højre barn har brug for at rotere 90 grader med uret, og venstre barn har brug for at rotere i den modsatte retning. 51
52 BØRNENES RETNING RETTES TIL Føj rettelserne til linje og linje 37 og føj linje 46 til 52
53 53
54 OPTIMERING AF KODEN GENNEM ARRAYS Koden er blevet lidt uhåndterlig. Lad os generalisere ved at flytte data retning og orientering til statiske arrays. Derved kan vi reducere CreateChildren til et kort loop og bruge barnet indeks som parameter for Initialize. 54
55 OPTIMERING AF KODEN GENNEM ARRAYS Erstat linje med linjerne 29-41, linje 37 (nu 45 efter ovenstående føjet til) rettes til og linje (nu 53-54) ændres 55
56 56
57 GENNEMGANG AF SCRIPTET INDTIL VIDERE Hvordan virker arrays? Arrays er objekter på en fast længde, som indeholder en lineær sekvens af variabler. Når man erklærer en variabel, angiver man ved at sætte kantede parenteser bag dens type at man ønsker et array af denne type. Så int myvariable; giver et heltal medens int [] myvariable; giver et array af heltal. Adgang til en af posterne inde i en array fås ved at angive dens array indeks - ikke dets position - i firkantet parentes bag variablen. Ved myvariable [0] får du den første post i arrayet, ved myvariable [1] får du den anden, og så videre. Det at lave et array og tildele det til variablen gøres med myvariable = new int [10]; Her laves der et nyt array med plads til ti poster. Alternativt kan du oprette det implicit ved angive dets oprindelige værdier mellem krøllede parenteser, hvilket myvariable = {1, 2, 3}; gør. 57
58 GENNEMGANG AF SCRIPTET INDTIL VIDERE Hvordan virker et for loop? En for-løkke er en kompakt måde at skrive en løkke, der gentager noget. for(int i = 0; i < 10; i++) { DoStuff(i); } I dette tilfælde bruger vi et heltal ved navn i som iteratoren. Den første del erklærer iterator heltal, den anden del kontrollerer løkkens tilstand, og den tredje del inkrementerer iteratoren. Du kan bruge en while-løkke til at få det nøjagtigt samme resultat, men det grupperer ikke iterator koden så pænt. Således er koden herefter det same som linjen ovenfor. int i = 0; while(i < 10) { DoStuff(i); i++; } i++ er en forkortelse for i+=1, som er en forkortelse for i = i + 1. Lad os nu indføre to børn med ved simpelt at tilføje deres data til arrays. En fremadrettet, den anden går baglæns. 58
59 TO BØRN MERE GENNEM ARRAYS Sæt linje ind efter linje 26 og linje efter linje 34 (32 uden de andre ny linjer) 59
60 60
61 61
62 EKSPLOSIV VÆKST Hvor mange kuber laver vi reelt? Da vi opretter fem børn per forælder vil det samlede antal kuber afhænge af den maksimale dybde. En maksimal dybde på nul frembringer kun en terning, den oprindelige rod. En maksimal dybde på en frembringer fem yderligere børn, for i alt seks kuber. Da det er en fraktal vil dette mønster gentages, og vi kan skrive det som funktionen f (0) = 1, f (n) = 5 f (n - 1) + 1. Ovenstående funktion frembringer sekvensen 1, 6, 31, 156, 781, 3906, 19531, , og så videre. Du vil se disse tal vise sig som mængden af draw opkald i game view statistics i Unity. Hvis du har dynamic batching aktiveret, vil det være summen af Draw opkald og Saved by batching. Pas på en en for høj maksimal dybe, da en for høj vil resultere i en elendig framerate. Udover mængde er varighed er også et problem. Lige nu holder vi pause et halvt sekund, før der oprettes et nyt barn. Dette frembringer synkroniserede byger af vækst i et par sekunder. Vi kan distribuere væksten mere jævnt ved randomisering af forsinkelserne. Dette resulterer også i et mere uforudsigeligt og organisk mønster. 62
63 ERSTAT DEN FASTE FORSINKELSE MED ET TILFÆLDIGT INTERVAL MELLEM 0,1 OG 0,5 OG ØG DEN MAKSIMALE DYBDE TIL 5 Erstat indholdet i parentesen på linje 41 63
64 64
65 GENNEMGANG AF SCRIPTET INDTIL VIDERE Hvordan virker random.range? Random er en hjælpeprogram klasse, som indeholder ting til at skabe tilfældige værdier. Dens Range metode kan bruges til at generere en tilfældig værdi inden for en rækkevidde. Der er to versioner af Range metoden. Man kan kalde den med to floats, i hvilket tilfælde den returnerer en float mellem minimum og maksimum værdi, begge inklusive. Alternativt kan man kalde range med to heltal, i hvilket tilfælde det returnerer et heltal mellem den mindste, inklusive, og maksimum, eksklusiv. Det typiske eksempel på brug af denne version er at vælge et indeks tilfældigt, somearray[random.range(0, somearray.length)]. 65
66 66
67 LAD OS FØJE FARVE TIL Føj koden på linje 18 til 67
68 68
69 LAD OS FØJE FARVE TIL Vi føjer farve til ved at interpolere fra hvid ved roden til gul på de mindste børn. Den statiske Color.Lerp metode er en praktisk måde at gøre dette på. Interpolatoren går fra nul til én, som vi gør ved at dividere vores aktuelle dybde med den maksimale dybde. Da vi ikke ønsker en heltal division konverterer vi dybde til en float først. Hvad gør lerp? Lerp er en forkortelse for lineær interpolation. Dens typiske signatur er Lerp (a, b, t) og den beregner a + (b - a) * t, med t fastspændt til 0-1 intervallet. Flere versioner findes med forskellige former, herunder float, vektorer og farver. 69
70 LAD OS OPTIMERE LIDT Lad os nøjes med at oprette ét materiale kopi per dybde i stedet for per terning. Vi tilføjer et nyt aray felt til at holde materialerne. Derefter kontrollerer vi om en matrix findes i Start, og hvis ikke kaldes en ny InitializeMaterials metode. I denne metode vil vi eksplicit kopiere vores materiale og ændre dens farve per dybde. I stedet for at videresende materiale henvisning fra forældre til barn, videresendes materiale arrray henvisningen i stedet. Hvis vi ikke gør det vil hvert barn blive tvunget til at skabe sit eget materialer array og vi ville ikke have løst problemet. 70
71 LAD OS OPTIMERE LIDT Føj koden linje og til, ret slutningen af linje 31 og fjern linje
72 72
73 GENNEMGANG AF SCRIPTET INDTIL VIDERE Hvad er null? Standardværdien af en variabel, der er ikke en simpel værdi, er null. Det betyder, at den variable ikke refererer noget. Forsøger at påberåbe sig eller få adgang til alt fra en variabel, der er null resulterer i en fejl. Du kan teste for denne værdi for at sikre, at det ikke sker. Du kan også indstille en sådan variabel til null selv, hvis du ikke længere har brug for, hvad det var refererer. Bemærk, at objekter ikke automatisk ophøre med at eksistere, når du indstiller en henvisning til dem til null. Kun når der er ingen tilbage med en henvisning til dem, vil de blive kandidater til fjernelse af affaldsindsamling. 73
74 GENNEMGANG AF SCRIPTET INDTIL VIDERE Hvorfor er materials ikke static? Vi gør ikke materiale array et statisk, fordi det afhænger af den maksimale dybde, som kan være forskellig fra fraktal til fraktal. På den måde sikrer vi at der kan være flere fraktaler på samme tid og selvfølgelig kan de have forskellige maksimale dybder. Lad os ændre den sidste farve til magenta bageftervi retter også interpolatoren, så vi stadig kan se den fulde overgang til gul. Vi sørger også lige for at det resulterer i en lidt pænere transition. 74
75 VI ÆNDRER FARVEN TIL MAGENTA Føj koden linje 19-20, ret slutningen af linje 22 (sæt 22 og 23 sammen og ret) og føj linje 24 til 75
76 76
77 FLERE FARVER Vi tilføjer en anden farve progression, fra hvid til cyan med røde spidser. Vi bruger et enkelt todimensional array til at holde dem begge, og vælger derefter et tilfældigt, når vi har brug for et materiale På den måde vil vores fraktal se anderledes ud hver gang går vi afspilningstilstand. Hvordan virker to-dimensionelle arrays? Man kan tilføje en anden dimension til et array ved at indsætte et komma inde i dets parentes. Man er derefter også nødt til at give to indekser, når man vil have adgang til et af array-elementerne. Denne fremgangsmåde omfatter også højere dimensioner. 77
78 FLERE FARVER Føj, til [] i linje 14, føj, 2 til linje 17, ret linje og føj ændringerne til slutningen af linje 36 78
79 79
80 80
81 FRAKTAL Koden indtil videre ryddet en smule op 81
82 82
83 83
84 84
85 FORSKELLIGE MESHES FOR MERE VARIATION Føj ændringerne på linje 22, linje 49 og linje 66 85
86 86
87 87
88 88
89 89
90 MERE IRREGULÆR OG ORGANISK Selvom vores fraktal virker nu ser den ikke specielt organisk ud, da alle arme er lige lange. Lad os gøre noget ved det! Til det formål introducerer vi en ny public spawnprobability variabel. Vi sender den med rundt og lader den tilfældigt bestemme om der skal dannes et barn eller om det skal hoppes over. En sandsynlighed på 0 betyder at der ikke vil dannes nogle børn overhovedet medens en på 1 betyder at alle børn vil dannes. Den statiske Random.value skaber en værdi mellem nul og et. Den sammenlignes med spawnprobability lader os bestemme om der skal dannes et nyt barn eller ej. 90
91 MERE IRREGULÆR OG ORGANISK Føj ændringerne på linje 26, linje 60 og linje 72 91
92 92
93 93
94 94
95 ROTERING AF FRAKTALEN Indtil videre er vores fraktal ubevægelig, lad os gøre den mere interessant ved at lade den bevæge sig. Vi gør dette ved at tilføje en simpel update metode der roterer y-aksen med en hastighed på 3o grader i sekundet. 95
96 ROTERING AF FRAKTALEN Føj koden på linje til 96
97 97
98 98
99 ROTERING AF FRAKTALEN Nu roterer fraktalen, men med et fast tempo hvor alt andet er tilfældigt genereret. Det kan vi ikke have, men vi skal også have en maksimum hastighed så man kan nå at se rotationerne. Bemærk, at vi er nødt til at initialisere vores rotationshastighed i Start - ikke i Initialize - fordi rod elementet også skal rotere. 99
100 ROTERING AF FRAKTALEN Føj koden linje på 45-47, linje 50 og linje 78 til og ret linje
101 101
102 102
103 103
104 LAD OS SLUTTE AF MED EN SMULE MERE KAOS Vi kan gøre fraktalen endnu mere skæv på mange måder, men lad os slutte af med at skubbe dens elementer en smule med en twist rotation. I kan gøre meget, meget mere ved at pille ved de forskellige parametre! Prøv jer frem! 104
105 ROTERING AF FRAKTALEN Føj koden linje på 48, linje 53 og linje 82 til 105
106 106
107 107
108 TAK FORDI I FULGTE MED! Lad os lave noget andet sammen en anden gang 108
UNITY OG KODE. Simpelt FPS
UNITY OG KODE Simpelt FPS LAV ET NYT UNITY 3D PROJEKT IMPORTER PARTICLESYSTEMS PAKKEN STANDARD INDSTILLINGER IMPORTER CHARACTERS PAKKEN STANDARD INDSTILLINGER GEM SCENEN SOM SCENE_MAIN FØJ ET PLANE TIL
Læs mereAlgoritmeskabeloner: 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 mereLektion 6. Grundlæggende programmering i VR
Lektion 6 Grundlæggende programmering i VR Plan for i dag Simpelt FPS Triggerzones og animationer C# og objekt orienteret programmering Interfaces Generics Google Cardboard Video om VRs fremtid App til
Læs mereAfstande, skæringer og vinkler i rummet
Afstande, skæringer og vinkler i rummet Frank Villa 2. maj 202 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold
Læs mereAfstande, skæringer og vinkler i rummet
Afstande, skæringer og vinkler i rummet Frank Nasser 9. april 20 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her.
Læs mereclass Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1.
Programmering 1999 Forelæsning 4, fredag 10. september 1999 Klasser og objekter Felter, konstruktorer, this Eksempler på klasser: Time, Appointment Eksempler på metoder i Time og Appointment Klassefelter:
Læs mereKom 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 mereFable 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π er irrationel Frank Nasser 10. december 2011
π er irrationel Frank Nasser 10. december 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion
Læs mereUgeseddel 4 1. marts - 8. marts
Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,
Læs mereForelæsning Uge 4 Torsdag
Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (i mandags) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?
Læs mereKapitel 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 mereMircobit 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 mereHvad er Objekter - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som
Læs mereGrundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering
Skriftlig eksamen i Grundlæggende Programmering ITU, 20. januar 2000 Alle hjælpemidler tilladt, dog ikke datamat. Eksamen er skriftlig, fire timer, og bedømmes efter 13-skalaen. Opgavesættet består af
Læs mereProgrammering 1999 KVL Side 5-4. Klassen Time: metoder. Metoder i objektet giver mulighed for at ændre tilstanden, eller kigge på tilstanden.
Programmering 1999 Forelæsning 5, tirsdag 14. september 1999 Oversigt Mere om klasser og objekter Klassefelter: static Konstante felter: final Indkapsling og synlighed: private og public Overlæsning af
Læs mereSortering. 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 mereHukommelsesspil. Introduktion. Scratch
Scratch 2 Hukommelsesspil All Code Clubs must be registered. By registering your club we can measure our impact, and we can continue to provide free resources that help children learn to code. You can
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 11 sider Skriftlig eksamen i Datalogi Modul 1 Sommer 2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 10% Opgave 2 10%
Læs mereFang Prikkerne. Introduktion. Scratch
Scratch 2 Fang Prikkerne All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion
Læs mereSortering 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 mereSortering. 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 mereLektion 3. Grundlæggende programmering i VR
Lektion 3 Grundlæggende programmering i VR Plan for i dag UML Usecase diagrammer Aktivitets diagrammer Klasse diagrammer Udforskning af forskelligt VR og andre måder at udvide virkeligheden på Cardboard
Læs mereDRONNINGER (QUEENS) Opgave 1
DRONNINGER (QUEENS) I denne opgave vil vi beskæftige os med det såkaldte 8-dronningeproblem, hvor man skal placerede 8 dronninger på et 8 x 8 skakbræt, således at ingen af dronningerne kan slå hinanden.
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mereMETODER ARV KLASSER. Grundlæggende programmering Lektion 5
METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen
Læs mereFable 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 mereAbstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Læs mereDM507 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 mereSortering 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 mereLektion 4. Grundlæggende programmering i VR
Lektion 4 Grundlæggende programmering i VR Plan for i dag Simpelt FPS C# og objekt orienteret programmering Metoder Loops / løkker Random Vi koder 3D uden modeller Simpelt FPS Træk kuglen fra hierarkiet
Læs mereFunktionalligninger. Anders Schack-Nielsen. 25. februar 2007
Funktionalligninger Anders Schack-Nielsen 5. februar 007 Disse noter er en introduktion til funktionalligninger. En funktionalligning er en ligning (eller et ligningssystem) hvor den ubekendte er en funktion.
Læs mereUnity Guide 1 CONTENTS
Unity Guide 1 CONTENTS Unity interface... 2 Components... 4 Materials... 7 Scripts opbygning... 8 Terrain... 8 Animations... 9 Particle system... 11 Audio... 11 Sprites... 12 GUI... 14 UNITY INTERFACE
Læs mereSWC eksamens-spørgsmål. Oversigt
SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition
Læs mereForelæsning Uge 4 Torsdag
Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?
Læs mereKlasser og objekter. (Afsnit i manualen)
Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser
Læs mereImport af rekursivt (parent-child) hierarki i Palo
Import af rekursivt (parent-child) hierarki i Palo Dette dokument beskriver hvordan et simpelt rekursivt (parent-child) hierarki kan importeres ind i Palo på forskellige måder via SQL og samtidig bibeholde
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mere5. OPSÆTNING DOKUMENTSKABELONER 5.1 TRIN
5. OPSÆTNING DOKUMENTSKABELONER Under fanen Dok. skabeloner kan du arbejde med de skabeloner som du har i systemet, eller du kan oprette nye. I denne vejledning kigger vi på hvordan du kan tilrette selve
Læs mereProgrammering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen
Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen
Læs mereMichael 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 mereGrå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 mereDM507 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 mereLø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 mereDaniel Kaasing 2012.3 Roskilde Tekniske Gymnasium 13-05-2015. Programmeringsjournal. Lavet af Daniel Kaasing. Lærer: Karl G Bjarnason
Programmeringsjournal Lavet af Daniel Kaasing Lærer: Karl G Bjarnason 1 "Jeg bekræfter herved med min underskrift, at opgavebesvarelsen er udarbejdet af mig. Jeg har ikke anvendt tidligere bedømt arbejde
Læs mereVinkelrette linjer. Frank Villa. 4. november 2014
Vinkelrette linjer Frank Villa 4. november 2014 Dette dokument er en del af MatBog.dk 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Se yderligere betingelser for brug her. Indhold 1 Introduktion
Læs mereMircobit 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 mereDit eventyr med robotter Der er dig, der bygger
Dit eventyr med robotter Der er dig, der bygger Indhold Introduktion... 3 Edison og LEGO-kompatibilitet... 4 Eventyr 1 EdGravemaskine... 5 Eventyr 2 EdPrinteren... 17 Side 2 Introduktion EdBog3 Det er
Læs mereMatricer og lineære ligningssystemer
Matricer og lineære ligningssystemer Grete Ridder Ebbesen Virum Gymnasium Indhold 1 Matricer 11 Grundlæggende begreber 1 Regning med matricer 3 13 Kvadratiske matricer og determinant 9 14 Invers matrix
Læs mereDANMARKS TEKNISKE UNIVERSITET
DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler
Læs mereDM507 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 merefortsætte høj retning mellem mindre over større
cirka (ca) omtrent overslag fortsætte stoppe gentage gentage det samme igen mønster glat ru kantet høj lav bakke lav høj regel formel lov retning højre nedad finde rundt rod orden nøjagtig præcis cirka
Læs mereMircobit 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 mereProgrammering 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 mereNyheder i MagiCAD 2010.5 til AutoCAD Generelle nyheder VIGTIGT!
Nyheder i MagiCAD 2010.5 til AutoCAD Den nye version af MagiCAD til AutoCAD 2011 er frigivet. Kunder med subskription aftale har allerede fået en mail med oplysninger om hvordan den nye version kan downloades.
Læs mereHøvdingebold. Introduktion. Scratch
Scratch 2 Høvdingebold All Code Clubs must be registered. By registering your club we can measure our impact, and we can continue to provide free resources that help children learn to code. You can register
Læs mereDokumentation 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 mereVektorfunktioner. (Parameterkurver) x-klasserne Gammel Hellerup Gymnasium
Vektorfunktioner (Parameterkurver) x-klasserne Gammel Hellerup Gymnasium Indholdsfortegnelse VEKTORFUNKTIONER... Centrale begreber... Cirkler... 5 Epicykler... 7 Snurretoppen... 9 Ellipser... 1 Parabler...
Læs mereNavn. Efternavn. Øvelsens formål: Forstå hvordan positive og negative magnetiske poler kan demonstrere skubbekræfter og trækkræfter.
Magnetiske poler Øvelsens formål: Forstå hvordan positive og negative magnetiske poler kan demonstrere skubbekræfter og trækkræfter. 1 1. Angiv fem genstande, som en magnet tiltrækker. 2. Hvad kalder man
Læs mereUdarbejdet af CFU Absalon
Chatbots i Scratch Introduktion: En chatbot er et lille program, der kan chatte. De bruges mange steder på internettet, enten for at kunne hjælpe i nogle bestemte situationer eller for at underholde. De
Læs mereArbejde med 3D track motion
Arbejde med 3D track motion Gary Rebholz I sidste måneds Tech Tip artikel gennemgik jeg det grundlæggende i track motion. Selv om vi ikke gennemgår alle værktøjer i Track Motion dialog box vil du alligevel
Læs merei tredje brøkstreg efter lukket tiendedele primtal time
ægte 1 i tredje 3 i anden rumfang år 12 måle kalender lagt sammen resultat streg adskille led adskilt udtrk minus (-) overslag afrunde præcis skøn efter bagved foran placering kvart fjerdedel lagkage rationale
Læs mereInvarianter. 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 mereOprids over grundforløbet i matematik
Oprids over grundforløbet i matematik Dette oprids er tænkt som en meget kort gennemgang af de vigtigste hovedpointer vi har gennemgået i grundforløbet i matematik. Det er en kombination af at repetere
Læs mereMatlab script - placering af kran
Matlab script - placering af kran 1 Til at beregne den ideelle placering af kranen hos MSK, er der gjort brug af et matlab script. Igennem dette kapitel vil opbygningen af dette script blive gennemgået.
Læs mereLineære differentialligningers karakter og lineære 1. ordens differentialligninger
enote 11 1 enote 11 Lineære differentialligningers karakter og lineære 1. ordens differentialligninger I denne note introduceres lineære differentialligninger, som er en speciel (og bekvem) form for differentialligninger.
Læs mereQuick startvejledning KUBO KODNING+
Quick startvejledning KUBO KODNING+ KUBO er verdens første undervisningsrobot baseret på puslespil, som er designet til at ændre elever fra passive forbrugere af teknologi til myndige skabere. Ved at simplificere
Læs mereGennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP()
Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP() John Andersen, Læreruddannelsen i Aarhus, VIA Et kast med 10 terninger gav følgende udfald Fig. 1 Result of rolling 10 dices
Læs mereFraktaler. Mandelbrots Mængde. Foredragsnoter. Af Jonas Lindstrøm Jensen. Institut For Matematiske Fag Århus Universitet
Fraktaler Mandelbrots Mængde Foredragsnoter Af Jonas Lindstrøm Jensen Institut For Matematiske Fag Århus Universitet Indhold Indhold 1 1 Komplekse tal 3 1.1 Definition.......................................
Læs mere3. Om skalamønstrene og den indfoldede orden
Dette er den tredje af fem artikler under den fælles overskrift Studier på grundlag af programmet SKALAGENERATOREN (forfatter: Jørgen Erichsen) 3. Om skalamønstrene og den indfoldede orden Lad os begynde
Læs mere28 Algoritmedesign. Noter. PS1 -- Algoritmedesign
28 Algoritmedesign. Algoritmeskabelon for Del og Hersk. Eksempler på Del og Hersk algoritmer. Binær søgning i et ordnet array. Sortering ved fletning og Quicksort. Maksimal delsums problem. Tætteste par
Læs mereLøsning af simple Ligninger
Løsning af simple Ligninger Frank Nasser 19. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk:
Læs mereArbejde med Regioner Lister, Playlists, og Cutlists i Sound Forge Pro
Arbejde med Regioner Lister, Playlists, og Cutlists i Sound Forge Pro Gary Rebholz Du har sikkert allerede ved, at Sound Forge Pro software kan bruges til en imponerende række af audio opgaver. Alt fra
Læs mereGrå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 mereVejledning til opbygning af hjemmesider
Side 1 af 9 Vejledning til opbygning af hjemmesider Hvis du er inde på din klubs hjemmeside, fx på forsiden, kan du nu gå i gang med at redigere. For at få redigeringsværktøjet frem, skal du klikke på
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2
DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld
Læs mereForelæsning Uge 4 Mandag
Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder
Læs mereSpilstrategier. 1 Vindermængde og tabermængde
Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende type: Spil der spilles af to spillere A og B som skiftes til at trække, A starter, og hvis man ikke kan trække har man tabt. Der
Læs mereUniversity 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 merePython 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 mereMartin 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 mereProgrammering for begyndere Lektion 2. Opsamling mm
Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger
Læs mereIntroduktion 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 mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Figur: Terminologi: n = V, m = E (eller V og E (mis)bruges som V og E ).
Læs mereFunktionsterminologi
Funktionsterminologi Frank Nasser 12. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette
Læs mereKlasse 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 merei tredje sum overslag rationale tal tiendedele primtal kvotient
ægte 1 i tredje 3 i anden rumfang år 12 måle kalender hældnings a hældningskoefficient lineær funktion lagt n resultat streg adskille led adskilt udtrk minus (-) overslag afrunde præcis skøn formel andengradsligning
Læs mereFunktionsterminologi
Funktionsterminologi Frank Villa 17. januar 2014 Dette dokument er en del af MatBog.dk 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Se yderligere betingelser for brug her. Indhold 1 Introduktion
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Vinter 1998/99 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 16% Opgave 2 12% Opgave 3 10% Opgave
Læs mereMaple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje.
Maple Dette kapitel giver en kort introduktion til hvordan Maple 12 kan benyttes til at løse mange af de opgaver, som man bliver mødt med i matematiktimerne på HHX. Skærmbilledet Vi starter med at se lidt
Læs mereOversæ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 mereEgenskaber ved Krydsproduktet
Egenskaber ved Krydsproduktet Frank Nasser 23. december 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold
Læs mereSortering. 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 merePædagogisk vejledning til. Materialesæt. Sphero. http://via.mitcfu.dk/99872760
Pædagogisk vejledning til Materialesæt Sphero http://via.mitcfu.dk/99872760 Pædagogisk vejledning til materialesættet Sphero Materialesættet kan lånes hos VIA Center for Undervisningsmidler og evt. hos
Læs mereIndledning. 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 mere18 Multivejstræer og B-træer.
18 Multivejstræer og B-træer. Multivejs søgetræer. Søgning i multivejssøgetræer. Pragmatisk lagring af data i multivejstræer. B-træer. Indsættelse i B-træer. Eksempel på indsættelse i B-træ. Facts om B-træer.
Læs mereGrå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