Enigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M

Størrelse: px
Starte visningen fra side:

Download "Enigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M"

Transkript

1 Enigma Et programmeringssprog Forfatter: Niels Serup X. Y Vejleder: A B C Fag: Programmering Uddannelsessted: N M 25. maj 2010

2 Indholdsfortegnelse Indledning 3 Sproget 3 Syntax Typer Funktionslogik Mindre detaljer Kommentarer If og while Interpreteren 8 Programstruktur Programstart Variabler Indbyggede metoder Tal Logikken Programtests Processen Brugervejledning Forbedringer Perspektivering 12 Konklusion 13 Bilag 14 Tidsplan Programmering 1 af 14 INDHOLDSFORTEGNELSE

3 Programinformation Litteratur 14 Programmering 2 af 14 INDHOLDSFORTEGNELSE

4 Indledning Når man laver et nyt program, der skal kunne køre på en computer, bruger man i langt de fleste tilfælde et eller flere programmeringssprog. Programmeringssprog tillader, at ens kode kan være mere abstrakt i forhold til ren maskinkode og assembly. I løbet af de sidste cirka 25 år er der kommet mange nye programmeringsprog, hver med sine fordele og ulemper. Størstedelen af de programmeringssprog, der bliver brugt i dag C, C++, Java, Python, Ruby, PHP etc. 1 minder rent syntaxmæssigt en del om hinanden, og selv om Python og Ruby har tilføjet anderledes måder at gøre visse ting på, virker de mest udbredte sprog stadigvæk ret ens. Det betyder selvfølgelig, at det er nemmere at lære nye sprog, men det er også lidt kedeligt. Området trænger til lidt fornyelse. Mit problem er altså, at der mangler adspredelse indenfor programmeringssprogssyntax. Man kan tænke sig frem til flere løsninger. En nem løsning ville være at lave et program, der kunne hjælpe brugeren af programmet til at finde nye, esoteriske programmeringssprog ved brug af internettet og indtastede stikord. En anden løsning ville være at lave et program, der kunne generere semitilfældige syntaxvariationer. En tredje løsning ville være at lave et nyt programmeringssprog. Jeg har valgt at lave et nyt programmeringssprog fra bunden og implementere en parser for det i Java. Dette er muligt indenfor projektets tidsramme, idet jeg begrænser mig til at lave et simpelt sprog og altså intet i nærheden af fx Python. Jeg kalder dette sprog for... Sproget En enigma er en svær gåde. Det er ikke. Hvis sproget var meget mere simpelt end det er nu, ville man ikke kunne bruge det til noget. Dette er dog ikke tilfældet, og det er fuldt ud muligt at beskrive velfungerende programmer med dets ellers begrænsede syntax. Syntax Syntaxen i er lidt anderledes end normen indenfor programmeringssprog dikterer. Mens de fleste sprog bruger typen variabelnavn = værdi; til at gemme værdier i en variabel, og funktionsnavn(variabler); 1 Langpop [2010] Programmering 3 af 14 Indledning

5 til at køre en funktion, vender det om. I gemmer man værdier ved at skrive værdi = variabelnavn;...og man kører en funktion ved at skrive variabler! funktion; Dette er det mest grundlæggende i, og egentlig er der ikke meget mere end det. 2 andre operatører, og *, findes også, men de er mindre vigtige og eksisterer kun for at gøre visse ting nemmere. Strengt taget er de ikke nødvendige. I separares variabler med mellemrum. Hvis man vil sende 3 argumenter til en funktion, er det altså efter denne syntax: var1 var2 var3! kode; Og hvis man vil gemme 5 værdier i en listevariabel, foregår det sådan her: var1 var2 var3 var4 var5 = liste; Dette kan bruges som genveje. De to følgende eksempler resulterer i det samme: #Den lange var1 var2 var3! kode1; var1 var2 var3! kode2; var1 var2 var3! kode3; #Den korte var1 var2 var3 = liste; liste! kode1; liste! kode2; liste! kode3; I visse tilfælde kan! -operatøren godt have lidt mangler, hvilket resulterer i lang kode: a! b = c; d c! e = c; Dette løser -operatøren. Den agerer som en samler, der linker to statements sammen. Næste kodesnippet gør det samme som den før: a! b d temp! e = c; Programmering 4 af 14 Syntax

6 Her betyder temp den værdi, som b returnerer og som før blev gemt i c som et mellemtrin. Det er ikke nødvendigt med whitespace mellem variabler og operatører, og x! y er altså det samme som x!y. Den fjerde og sidste operatør, * fungerer ligesom =, men mens = fungerer lokalt, virker * globalt. Mere om det senere. Typer Der er 8 typer variabler i. Modsat almindelige programmeringssprog er der ingen simple typer såsom int, char og float. Alt er objekter. De 8 typer er: CODE BUILTINCODE STRING NUMBER BOOLEAN LIST FILE NONE CODE og BUILTINCODE kan modtage og returnere data, men CODE kommer fra koden af det Enigmaprogram, der kører, mens BUILTINCODE kører direkte fra interpreteren. De inbygedde funktioner er: str, num, list, bool, code, repr, type, len, clone, slice, loop, open, close, read, write, greater, lesser, equal, and, or, not, act, system, add, subtract, multiply, divide, mod, pow, log, random, abs, round, floor, ceil, sin, cos, tan, asin, acos, atan, sinh, cosh, tanh Et CODE-objekt betegnes sådan: {...kode...} Når man kører en Enigmafil, kører man faktisk bare et CODE-objekt. STRING dækker over strenge af tegn. Det betegnes sådan: "tekst..." Programmering 5 af 14 Typer

7 NUMBER dækker over tal. Et tal kan være så langt, som ens computers hukommelse tillader. Internt er det ikke en simpel double, men en kompleks datastruktur. Tal skrives som tal... BOOLEAN dækker over true og false. Den bliver brugt meget i. LIST er en speciel type variabel i. Man kan ikke eksplicit lave en liste den kommer af sig selv, når det er nødvendigt. Egentlig er LIST hovedsageligt brugt til internt at holde styr på variabler, men man kan sagtens interagere med lister. FILE dækker over filer. startes altid med 3 filer: stdout, stderr og stdin. En fil kan laves vha. den indbyggede funktion open, der tager et filnavn som det første argument. Sidst og med mindst værdi er NONE. Den eksisterer som et abstrakt svar på ingeting. Nogle indbyggede funktioner returnerer denne værdi. Den kan skrives direkte i kode som none. har en række indbyggede konstanter af forskellige typer. De er: args, return, temp, stdin, stderr, stdout, zero, true, cwd, cpd, fnm args indeholder argumenter til en funktion når den bliver kaldt, return læses af når noget kode er færdigt, zero er en fil der kan skrives til uden der sker noget, cwd er navnet på den sti, som køres fra, cpd er navnet på den sti, som ens program ligger i, og fnm er stien samt filnavnet på programmet. Resten er selvforklarende. Funktionslogik En vigtig del af er dens funktionsopbygning. For det første er der fuld support for funktioner i funktioner (i funktioner i funktioner etc.). Der er ikke nogen grænser hvad det angår. Det er også vigtigt at funktioner kan tage argumenter, og i kan funktioner tage alt fra 0 til uendeligt argumenter ikke at funktionerne er tvunget til at læse argumenterne. En central del af funktioner kodestykker er at der skal være et slags hierarki. Hvis man har to funktioner, f1 og f2, og f2 er inden i f1, så skal f2 have adgang til variablerne i f1, men f1 skal ikke have adgang til variablerne i f2. Det sidste forhindres også af at alle variabler i en funktions hierarki slettes når funktionen slutter. Nogle gange kan det dog være et problem, at en funktion ikke gemmer variabler for eftertiden. Ved hjælp af den førnævnte operatør * kan man ændre på denne opførsel. Den følgende kode forklarer dette: #x forsvinder {37 = x;} = kode;!kode; #x bliver {37 * x;} = kode;!kode; Programmering 6 af 14 Funktionslogik

8 Som genvej kan man også bare putte en * foran sin kode (som *37 = x;). Dette har samme effekt, men det gælder alle steder i koden. Det kan være lidt besværligt at skulle trække variabler ud fra args i begyndelsen af et nyt kodestykke, og derfor er der defineret en genvej der ser sådan ud: /navn1,navn2/kode... Her er navn1 den først sendte variabel til funktionen (eller none hvis der ikke er nogen) og navn2 den anden (eller none hvis der ikke er nogen. Ved at bruge /.../ -genvejen kan man spare flere linjer kode. De indbyggede funktioner fungerer internt anderledes end brugerdefinerede kodestykker, men umiddelbart kan det godt føles som om de opfører sig ens. Og det er kun godt. Mindre detaljer Kommentarer Kommentarer skrives ved brug af syntaxen: #kommentar If og while I normale programmeringssprog har især if og while en hel syntaxdel for dem selv. I de bare funktioner. er C-like kode: if (x == 2) { kode(); } while (y == 3) { kode(); } Enigmakode: x 2! equal temp kode! act; {y 3! equal = r; r kode! act; r = return;}! loop; Programmering 7 af 14 Mindre detaljer

9 Interpreteren Når man kører et Enigmaprogram skal det ikke kunne ses hvilket sprog interpreteren er skrevet i. Dette er fordi Enigma skal kunne implementeres i flere sprog. Man kan også implementere Enigma i Enigma for den sags skyld. Da den indtil videre eneste Enigmainterpreter er skrevet i Java, er det den kode der skal gennemgås nu. Programstruktur Da Java er et meget objektorienteret sprog, er interpreteren delt op i objekter. Der er 7 klasser: EnigmaMain EnigmaLogic EnigmaBuiltinMethods EnigmaVariable EnigmaVariableDict EnigmaVariableDictList EnigmaVariableType Når køres, loades EnigmaMain, som så starter EnigmaLogic, som så kører ens program. Programstart EnigmaMain består af en statisk main-klasse, der udfører forskellige handlinger baseret på de argumenter man sender til programmet. Den følger GNU-standarderne med hensyn til command line interfaces 2. I sin simpleste form kan det køres ved bare at skrive: java enigma.enigmamain sti/til/program.ngm argument1 argumnent2... argumentn EnigmaLogic og kører derefter program- Hvis der er specificeret et program, loader met. Variabler I -implementationen bruges der en speciel klasse til at holde styr på værdier: Enigma- Variable. EnigmaVariable består af et enum EnigmaVariableType og en værdi Object. 2 GNU [2010] Programmering 8 af 14 Interpreteren

10 Disse variabler gemmes i HashMaps (EnigmaVariableDict), så de kan blive associeret med en tekststreng. Disse HashMaps gemmes så i ArrayLists (EnigmaVariableDictList), så der kan komme et hierarki. Indbyggede metoder Typen BUILTINCODE dækker i Java-implementationen over de metoder i EnigmaBuiltinMethods, som er skrevet i Java, men som kan køres fra en -fil. Dette kræver at en streng er linket til funktionen. Umiddelbart er dette ikke muligt i Java, da pointers altid er implicitte. Man kan ikke selv lave en reference til en metode, og derfor må man bede Java om at gøre det for en via dets Reflection API 3. Når EnigmaLogic startes, kreeres alle referencer til de indbyggede funktioner via en simpel løkke. Alle indbyggede funktioner tager imod en ArrayList som eneste argument. Dette er for at gøre det nemmere at have med at gøre. Kommentarerne ved de indbyggede funktioner følger Javadoc-konventionen 4. Tal I stedet for at bruge longs og doubles bruger Javas egen BigDecimal, der ikke er begrænset i størrelse af andet end brugerens computer. Dette sikrer at der ikke sker overflow errors og at der ikke opstår underlige afrundinger 5. Logikken Selve hjertet af -implementationen ligger i EnigmaLogic. I EnigmaLogic ligger nemlig metoden parsecode, som forstår -kode. Denne funktion skal tage højde for en del, idet -kode, simpel som den er, trods alt stadig har et syntax. parsecode får bl.a. en kodestreng som argument, og den kodestreng læser den så tegn for tegn, om end den nogle gange læser det samme tegn to gange og nogle gange springer et tegn over. Denne funktion kan forklares ved hjælp af det følgende stykke pseudekode (meget forsimplet): kode = String dict = EnigmaV ariabledict vars = EnigmaV ariabledictlist position = 0 vartype = 0 3 Sun [2010b] 4 Se 5 Sun [2010a] Programmering 9 af 14 Programstruktur

11 actiontype = 0 while position < code.length() do if vartype = 0 then if kode[position] er et ligegyldigt tegn then position = position + 1 else if kode[position] er et vigtigt tegn then if actiontype = = actiontype = * then Sæt værdien fra det tidligere variabelsæt til det nuværende. Gem de nye værdier i de specificerede variabler. else if actiontype =! then Send data til kode (indbygget eller ej). end if if kode[position] medfører en handling der udvider ens statement then Lav en ny liste til nye variabler. end if if kode[position] = = then actiontype = = else if kode[position] = * then actiontype = * else if kode[position] =! then actiontype =! else if kode[position] = ; kode[position] = then Reset diverse variabler, så der er plads til at begynde forfra. end if position = position + 1 else if kode[position] = { then vartype = 1 else if kode[position] = then vartype = 2 else vartype = 3 end if end if else if vartype = 1 then Parse kodestreng og gem else if vartype = 2 then Parse tekststreng og gem else if vartype = 3 then if streng minder om tal then Gem som tal else Få fat i den variabel, som strengen linker til, og gem. end if end if end while return dict["return"] Programmering 10 af 14 Programstruktur

12 Programtests er lidt komplekst at implementere, og det kan derfor være en god ide at teste det lidt, så man får udryddet de største bugs. Den bedste måde at teste en interpreter på er selvfølgelig ved at køre -programmer. Et eksempel er dette lille program, der udregner fakultetstal: {/num/ 1 = res; {/n,r/ r n! multiply; n 1! subtract; n 1! greater = return; } = facfunc; facfunc num res! loop; res = return; } = factorial; 5! factorial stdout "5! =" temp! write; Dette og mange andre viste hvad der virkede og hvad der ikke virkede. Faktisk hjalp det. Nogle gange var der fejl i noget, og så kunne man fikse det. Processen Før jeg overhovedet begyndte at programmere, skrev jeg en masse testprogrammer, som jeg kørte i mit hovede. Jeg overvejede hvordan syntaxen skulle være og hvilke funktioner der skulle være bygget ind i interpreteren. Først var der kun = og!, og det varede en del tid før og * kom til. Selve grundideen fik jeg dog hurtigt styr på, og efter nogle ugers grublen begyndte jeg så at lave programmet. I programbygningsfasen havde jeg først ikke særlig meget overblik. Tanker som skal jeg lægge dette i en klasse for sig selv? og hvordan skal jeg tjekke om det her passer fløj gennem mit hovede. Men efter et par dage begyndte koden helt automatisk at få en logisk opdeling, og resten var relativt nemt, selv om det tog noget tid at implementere alle de indbyggede funktioner. Jeg brugte Emacs til at redigere mine filer. Programmering 11 af 14 Programtests

13 Her ses et screenshot af Emacs in action. Brugervejledning Det er nemt at bruge. Men det vil måske afskrække nogle at der ikke er noget grafisk. Dette betyder, at folk må lære om kommandolinjen. Forbedringer Som -interpreteren er lige nu, går det ret langsomt med at parse -programmer. Det burde være relativt nemt at forbedre på dette punkt. Det er samtidig heller ikke helt umuligt at der er nogle få bugs. De skal selvfølgelig sprøjtes. Perspektivering En fordel ved er at det har potentiale til at ændre på hvordan folk opfatter programmeringssprog. Hvis en person ser et stykke -kode, vil den person måske blive inspireret til at skrive sit eget programmeringssprog. Egentlig kan det også have endnu bredere positive konsekvenser, idet den person måske ligefrem sætter sig ned for at lave et rigtigt menneskesprog efter at være blevet inspireret af. Mens bare er et programmeringssprog, så kan hele tanken om at lave noget anderledes spores til også at findes i mange andre områder. Programmering 12 af 14 Brugervejledning

14 Konklusion Jeg kan konkludere, at kan skabe adspredelse inden for programmeringssprogssyntax. Det viste sig at være muligt at lave et simpelt sprog, og det har vist mig at programmering tillader en del. At lave et sprog var sandsynligvis den bedste og mest ligetil løsning. Programmering 13 af 14 Konklusion

15 Bilag Tidsplan Når man kun er en person, er det nemmere at planlægge ens tid. Gennem hele projektet har jeg generelt fulgt den meget overordnede plan om, at jeg først lavede programmet, så testede det, så skrev rapporten og derefter formulerede synopsen. Mere præcis er min tidsplan ikke. Programinformation Enigma 0.1 Copyright (C) 2010 Niels Serup License GPLv3+: GNU GPL version 3 or later < This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Litteratur GNU. GNU Coding Standards. Command_002dLine-Interfaces, April Langpop. Programming Language Popularity. April Sun. BigDecimal (Java Platform SE 7). math/bigdecimal.html, Maj 2010a. Sun. Trail: The Reflection API. index.html, April 2010b. Programmering 14 af 14 Bilag

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

Programmering. 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 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 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

Programmering for begyndere Lektion 2. Opsamling mm

Programmering 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 mere

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

//Udskriver System.out.println(Hej  + ditfornavn +   + ditefternavn + .); System.out.println(Du er  + dinalder +  aar gammel! Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for

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

Lær Python - Dag 4, modul 2 Objektorienteret programmering

Lær Python - Dag 4, modul 2 Objektorienteret programmering Lær Python - Dag 4, modul 2 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Metoder Metoder Indtil videre har vi kun brugt objekter til at gemme værdier.

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

Greenfoot En kort introduktion til Programmering og Objekt-Orientering

Greenfoot En kort introduktion til Programmering og Objekt-Orientering Greenfoot En kort introduktion til Programmering og Objekt-Orientering Greenfoot er et computer-program, som kan benyttes til at skrive andre computer-programmer, i et programmeringssprog kaldet Java.

Læs mere

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

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4 DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens

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

Denne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-)

Denne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-) Denne guide er oprindeligt udgivet på Eksperten.dk Batch genopfriskning Denne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-) Skrevet den 03.

Læs mere

Eksempel: Skat i år 2000

Eksempel: Skat i år 2000 Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)

Læs mere

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output...

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... Indhold Maskinstruktur... 3 Kapitel 1. Assemblersprog...3 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... 9 Kapitel 2. Maskinkode... 13 2.1 Den fysiske maskine... 13 2.2 Assemblerens

Læs mere

Abstrakte datatyper C#-version

Abstrakte 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 mere

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste Denne guide er oprindeligt udgivet på Eksperten.dk Indkøbsvogn i PHP I denne artikel vil jeg prøve at lave en indkøbskurv som let kan udvides, og som ikke er svær at forstå. Det er bedst med viden om OOP(klasser),

Læs mere

Start på Arduino og programmering

Start på Arduino og programmering Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget

Læs mere

Forelæsning Uge 4 Mandag

Forelæ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 mere

Kapitel 3 Betinget logik i C#

Kapitel 3 Betinget logik i C# Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret

Læs mere

KDE su-håndbogen. Geert Jansen Oversætter: Erik Kjær Pedersen

KDE su-håndbogen. Geert Jansen Oversætter: Erik Kjær Pedersen Geert Jansen Oversætter: Erik Kjær Pedersen 2 Indhold 1 Indledning 5 2 Brug af KDE su 6 3 Indre ting 8 3.1 X-godkendelse........................................ 8 3.2 Grænseflade til su......................................

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

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

vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl:

vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl: Fejlhåndtering Selv de bedste programmører laver af og til fejl! Dette kommer sikkert som en overraskelse for de fleste, bortset fra de, der har arbejdet med et hvilket som helst større program. Fejl kan

Læs mere

Hvorfor skal vi bruge objekt orienteret databaser?

Hvorfor skal vi bruge objekt orienteret databaser? OODBMS Vs. RDBMS 1 Indholdsfortegnelse Hvorfor skal vi bruge objekt orienteret databaser?... 3 OODBMS i erhvervslivet... 4 Bagsiden af medaljen... 5 OODBMS i praksis... 6 Konklusion... 8 2 Hvorfor skal

Læs mere

Programmering I Java/C#

Programmering I Java/C# Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren

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

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

Spil Master Mind. Indledning.

Spil Master Mind. Indledning. side 1 af 16 Indledning. Spillet som denne rapport beskriver, indgår i et større program, der er lavet som projekt i valgfaget programmering C på HTX i perioden 9/11-98 til 12/1-99. Spillet skal give de

Læs mere

Java Klasse nedarvninger

Java Klasse nedarvninger Denne guide er oprindeligt udgivet på Eksperten.dk Java Klasse nedarvninger Et let lille overblik i hvordan klasse nedarvning virker i java Skrevet den 07. dec 2011 af mochners I kategorien Programmering

Læs mere

Introduktion til ActionScript, fortsat

Introduktion til ActionScript, fortsat Introduktion til ActionScript, fortsat Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Martin Elsman Department of Computer Science University of Copenhagen DIKU September 27, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 September

Læs mere

#AlleKanKode. Lektion 2 - Konstanter og Variabler

#AlleKanKode. Lektion 2 - Konstanter og Variabler #AlleKanKode Lektion 2 - Konstanter og Variabler Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger

Læs mere

Programmering i C. Lektion september 2009

Programmering i C. Lektion september 2009 Programmering i C Lektion 1 8. september 2009 Målgruppe Motivation Indhold Form Materiale 2 / 47 Kursusintroduktion 1 Målgruppe 2 Motivation 3 Indhold 4 Form 5 Materiale Målgruppe Motivation Indhold Form

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således

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

Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner

Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner Forelæsning 4.1 Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner finden findalle Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Afleveringsopgave

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

Introduktion Indtastning Funktioner Scripts Optimering. Matlab

Introduktion Indtastning Funktioner Scripts Optimering. Matlab - robert@math.aau.dk http://www.math.aau.dk/ robert/teaching/2010/matlab 9. august 2010 1/39 Disposition 1. Lidt om. 2. Basiskursus. 3. Opgaver. 4. Mere til basiskursus. 5. Opgaver. 2/39 MATLAB = MATrix

Læs mere

MS Visual Studio Basic 2010. En kort vejledning

MS Visual Studio Basic 2010. En kort vejledning Du kan hente programmet gratis her: MS Visual Studio Basic 2010 Express http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express Tryk på Install Now og følg vejledningen. Indholdsfortegnelse

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 til C programmering

Introduktion til C programmering Introduktion til C programmering Rasmus Erik Voel Jensen Uge 17 voel@math.ku.dk Dagens forelæsning Formalia Indledende programmering, main, include, printf, variable, scanf, if-else, statements, eksempler

Læs mere

At klippe en streng over på det mest hensigtsmæssige sted

At klippe en streng over på det mest hensigtsmæssige sted Denne guide er oprindeligt udgivet på Eksperten.dk At klippe en streng over på det mest hensigtsmæssige sted Formålet med denne artikel er at kaste lidt lys over, hvordan man klipper en streng over på

Læs mere

Guide til CraftBot2-3D printere

Guide til CraftBot2-3D printere AARHUS SCHOOL OF ENGINEERING Guide til CraftBot2-3D printere Udarbejdet af: Jens Mejdahl j.mejdahl@post.au.dk Side 1 af 12 Gem din model Når dit emne er tegnet færdig i CAD-programmet (fx SolidWorks) skal

Læs mere

Exceptions i Delphi. Try except

Exceptions i Delphi. Try except Exceptions i Delphi Exceptions er en teknik til at fange fejl under programafviklingen. Ikke programmeringsfejl, men fejl der opstår i forskellige situationer, f.eks. en fil der mangler en fil der er skrivebeskyttet,

Læs mere

Kursusarbejde 3 Grundlæggende Programmering

Kursusarbejde 3 Grundlæggende Programmering Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................

Læs mere

Arduino Programmering

Arduino Programmering Microcontroller, Arduino I teknologi skal vi lære at lave programmer til uc for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal vi have set mulighederne, og forstået

Læs mere

DM507 Algoritmer og datastrukturer

DM507 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 mere

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6 Side 1 af 6 Indholdsfortegnelse INDHOLDSFORTEGNELSE 1 INTRO 3 STARTEN AF SPECIALISERINGEN 3 ANKOMST TIL SKOTLAND 4 DATABASER 5 NETVÆRK 5 INTERAKTION 5 AFSLUTNING AF SPECIALISERINGEN 5 KONKLUSION 6 Side

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

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 Læringsprogram Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 R o s k i l d e T e k n i s k e G y m n a s i u m Indholdsfortegnelse FORMÅL...

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

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

Crash Course i Programmering. HumTek, RUC

Crash Course i Programmering. HumTek, RUC Crash Course i Programmering HumTek, RUC Kursus mål At give en basal introduktion til programmering i sproget Processing At give et overblik over sprogets potentiale At have det sjovt :-) Kursus form Meget

Læs mere

Programmering i C Videre med C (2 af 4) 19. marts 2007

Programmering i C Videre med C (2 af 4) 19. marts 2007 Programmering i C Videre med C (2 af 4) 19. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan i dag Brush-up fra sidst Videre med C Kontrolløkker (while, for, ) Conditional Execution (if, if/else) Funktioner

Læs mere

Udvikling af DOTNET applikationer til MicroStation i C#

Udvikling af DOTNET applikationer til MicroStation i C# Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt

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

PHP Snippets. De små korte. Skrevet af Daniel Pedersen

PHP Snippets. De små korte. Skrevet af Daniel Pedersen PHP Snippets De små korte Skrevet af Daniel Pedersen Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk

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

Spil Rapport. Spil lavet i GameMaker. Kevin, Mads og Thor 03-02-2011

Spil Rapport. Spil lavet i GameMaker. Kevin, Mads og Thor 03-02-2011 Spil Rapport Spil lavet i GameMaker Kevin, Mads og Thor 03-02-2011 Indholdsfortegnelse Indledning... 2 HCI... 2 Planlægning / Elementær systemudvikling... 2 Kravspecifikationer... 4 Spil beskrivelse...

Læs mere

JavaScript. nedarvning.

JavaScript. nedarvning. JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man

Læs mere

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse. Mysqli Webintegrator Når vi arbejder med server-side scripting ( i vort tilfælde PHP), har vi ofte behov for at kunne tilgå data, som vi opbevarer i en database. Det kan f.eks. dreje sig om nyhederne i

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

class Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1.

class 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 mere

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal

Læs mere

Hvad er Objekter - Programmering

Hvad 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 mere

Interaktionsudvikling

Interaktionsudvikling Projektopgave 3: Interaktionsudvikling CPH business, klasse: MulA2013 Projektansvarlige undervisere Thomas Hartmann MereteGeldermann lützen: Projekt produkt url: www.amalieardahl.dk/projekt3/index.html

Læs mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

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

I Windows fil struktur er der følgende ting Drev, Mapper, Filer og Genveje.

I Windows fil struktur er der følgende ting Drev, Mapper, Filer og Genveje. Windows Fil Struktur I Windows fil struktur er der følgende ting Drev, Mapper, Filer og Genveje. Hvad er et drev Et drev, er en afgrænsning af fil strukturen. Når du går ind på et drev vil du stå i roden

Læs mere

Koden i denne guide vil kun virke i Flash MX 2003 og MX ikke ældre versioner!

Koden i denne guide vil kun virke i Flash MX 2003 og MX ikke ældre versioner! Denne guide er oprindeligt udgivet på Eksperten.dk Slideshow - Guide Denne guide gennemgår grundigt og forklarende hvordan man i Flash laver et slideshow med simpel fade-effekt med billeder hentet dynamisk.

Læs mere

Fang Prikkerne. Introduktion. Scratch

Fang 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 mere

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007 JSP, Tomcat Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 10.october 2007 Hvad er JSP(Java Server Pages): Det er en teknik som er bygget ovenover Servlets teknikken, men fidusen er at det skal

Læs mere

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00 Page 1/12 Aarhus Universitet, Science and Technology, Computer Science Exam Wednesday 27 June 2018, 9:00-11:00 Allowed aid: None The exam questions are answered on the problem statement that is handed

Læs mere

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger

Læs mere

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel: Denne guide er oprindeligt udgivet på Eksperten.dk SQL og ASP En artikel omkring simpel SQL og hvordan disse opbygges, udformes og udføres, sådan at man kan få et brugbart resultat i ASP. Dette ligefra

Læs mere

DANMARKS TEKNISKE UNIVERSITET

DANMARKS 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 mere

Forelæsning Uge 3 Torsdag

Forelæsning Uge 3 Torsdag Forelæsning Uge 3 Torsdag Billedredigering (bl.a. brug af for-løkker) Gråtonebilleder (som er lidt simplere end farvebilleder) Arrays Kan "opbevare" et antal objekter (som ArrayList) Fast (på forhånd kendt)

Læs mere

HTX, RTG. Rumlige Figurer. Matematik og programmering

HTX, RTG. Rumlige Figurer. Matematik og programmering HTX, RTG Rumlige Figurer Matematik og programmering Vejledere: Jørn Christian Bendtsen og Karl G. Bjarnason Morten Bo Kofoed Nielsen & Michael Jokil 10-10-2011 In this assignment we have been working with

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug

Læs mere

Fra programmering til mikroprocessor

Fra programmering til mikroprocessor Programmering for begyndere Brug af Arduino Fra programmering til mikroprocessor EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Programmerings kursus Sidste gang (Introduktion)

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

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012 Server side Programming Wedesign Forelæsning #8 Recap PHP 1. Development Concept Design Coding Testing 2. Social Media Sharing, Images, Videos, Location etc Integrates with your websites 3. Widgets extend

Læs mere

Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON

Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON Data load og udtræk 2. iteration: implmentation (test af backend) 1 PHP mysql Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON 2 Data udtræk PHP mysql: Processen 1. Forbind til MySQL server

Læs mere

Guide: Facebook API. Facebook API til dit data-hjerte

Guide: Facebook API. Facebook API til dit data-hjerte Guide: Facebook API Ønsker du nogle gange, at du kunne få et smugkig i konkurrentens Facebook Insights? Bare lige for at tjekke, hvad de gør godt. Måske kan du endda lære lidt af dem, som inspiration til

Læs mere

Automatisering Af Hverdagen

Automatisering Af Hverdagen Automatisering Af Hverdagen Programmering - Eksamensopgave 10-05-2011 Roskilde Tekniske Gymnasium (Kl. 3,3m) Mads Christiansen & Tobias Hjelholt Svendsen 2 Automatisering Af Hverdagen Indhold Introduktion:...

Læs mere

Moduler i Standard ML

Moduler i Standard ML Moduler i Standard ML Hans Hüttel December 2001 I løbet af datalogikurset har vi haft glæde af en hel række forskellige standardmoduler som f.eks. Math, Int, Real og String. Disse moduler kan, har vi set,

Læs mere

Computerspil rapport. Kommunikation og IT. HTX Roskilde klasse 1.4. Casper, Mathias Nakayama, Anders, Lasse og Mads BC. Lærer - Karl Bjarnason

Computerspil rapport. Kommunikation og IT. HTX Roskilde klasse 1.4. Casper, Mathias Nakayama, Anders, Lasse og Mads BC. Lærer - Karl Bjarnason Computerspil rapport Kommunikation og IT HTX Roskilde klasse 1.4 Casper, Mathias Nakayama, Anders, Lasse og Mads BC Lærer - Karl Bjarnason Indledning Vi har lavet et computerspil i Python som er et quiz-spil

Læs mere

Programmering i C. Lektion 4. 5. december 2008

Programmering i C. Lektion 4. 5. december 2008 Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )

Læs mere

PUT og INPUT funktionerne

PUT og INPUT funktionerne PUT og INPUT funktionerne Af: Peter Kellberg Danmarks Statistik Sejrøgade 11 DK-2100 København Ø pke@dst.dk PUT og INPUT-funktionerne Denne artikel er foranlediget af en henvendelse til vores interne SAS

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

Det er muligt at chekce følgende opg. i CodeJudge: og

Det er muligt at chekce følgende opg. i CodeJudge: og Det er muligt at chekce følgende opg. i CodeJudge:.1.7 og.1.14 Exercise 1: Skriv en forløkke, som producerer følgende output: 1 4 9 16 5 36 Bonusopgave: Modificer dit program, så det ikke benytter multiplikation.

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

SWC eksamens-spørgsmål. Oversigt

SWC 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 mere

Forelæsning Uge 5 Mandag

Forelæsning Uge 5 Mandag Forelæsning Uge 5 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Brug af klassen Collections og interfacet Comparable BlueJ s Debugger Nyttig til at inspicere

Læs mere

Kontrol-strukturer i PHP

Kontrol-strukturer i PHP Denne guide er oprindeligt udgivet på Eksperten.dk Kontrol-strukturer i PHP Denne artikel gennemgår kontrolstrukturer i PHP. 'if', 'switch', 'while' og 'for' bliver gennemgået. Den forudsætter lidt grundlæggende

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

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

Revo Uninstaller Pro 3.1.2 en guide. Hanne B. Stegemüller 17. juni 2015

Revo Uninstaller Pro 3.1.2 en guide. Hanne B. Stegemüller 17. juni 2015 Revo Uninstaller Pro 3.1.2 en guide Hanne B. Stegemüller 17. juni 2015 2 Hvad gør Revo Uninstaller? Programmet, der fås både i en gratis udgave og en købeudgave, kan afinstallere alle dine forskellige

Læs mere