Introduktion til programmering. Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14.
|
|
- Cecilie Markussen
- 6 år siden
- Visninger:
Transkript
1 Introduktion til programmering Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14.
2 Sidste gang Algoritmer Definition Opbygning Pseudokode Rekursion Analyse Datastrukturer Kompleksitet Eksempel: Søgning Userdefined ADT Enkeltkædede lister, dobbeltkædede lister Stakke, køer Træer Tolkning af ADT
3 Plan Lidt mere om tolkninger Programmeringssprogenes historie Programmeringsparadigmer Funktionel programmering i Python Scope: referencekonteksten Obligatorisk opgave
4 Tolkninger
5 Tolkning af abstrakte datastrukturer jvnf. uge 43 Repræsentation Lister Stakke Køer Træer Rekursion Objekt Associationer Mål og midler Prioritering og afbrud Køer i supermarkedet Trafikpropper Helheder og dele Overordnet og underordnet Mål og midler Helhed og del
6 Organisationer som maskiner Bureaukratiske organisationer Træer Kommunikationen følger grenene på træerne Køer (Dora). Galt valg af tolkning Leder Mellemleder ordre rapport Mellemleder Arbejder rapport ordre Arbejder
7 Organisationer som flux Kommunikation skaber ny kommunikation. Organisationen og dens grænser omog genskabes ved kommunikation Connected, directed graph with loops
8 Kommunikationsstøtte Holde styr på faser og forpligtelser Winograd & Flores: understanding computers and cognition, genforhandle annulere erklære anmode love udføre påstå erklære acceptere Ordre indvende annulere Ordrebekræftelse Følgeseddel afvise Kvittering faktura annulere
9 Programmeringssprogenes historie
10 Generel udviklingstendens Repræsentation af maskinelle processer repræsentation af processer i problemområdet Portabilitet Væk fra maskinafhængighed Abstraktion, aggregering og indkapsling Menneske tilpasser sig maskine maskine tilpasser sig menneske
11 Naturlige og formelle sprog Naturlige sprog Udvikler sig gradvist Distribueret udvikling Interpretanten til forhandling Formelle sprog Udvikler sig i spring Python 2.3 Python 2.4 Centraliseret udvikling Interpretanten ikke til forhandling Fælles træk SYNTAX ERROR Syntaks, semantik, pragmatik Udvikling afspejler praktiske udtryksbehov
12 Programmeringssprogenes historie Starten af 50 erne: A-0 (Grace Hopper) 1957: FORTRAN, FORmula TRANslator Designmål: hastighed 1957: LISP LISt Processing AI området 1958: ALGOL, ALGOrithmic Language Peter Naur Notation som matematik, algoritmebeskrivelse, maskinuafhængigt 1960: COBOL, COmmon Business Oriented Language
13 Python def ninetynine(): for i in range(99,1,-1): print i,'bottles of beer on the wall, ',i,'bottles of beer' print 'take one down, pass it around, ',i-1,'bottles of beer on the wall >>> from whiskey import * >>> ninetynine() 99 bottles of beer on the wall, 99 bottles of beer take one down, pass it around, 98 bottles of beer on the wall bottles of beer on the wall, 2 bottles of beer take one down, pass it around, 1 bottles of beer on the wall
14 Fortran FORTRAN Mange heritage-systemer er skrevet i FORTRAN Årtusindskiftet: FORTRAN-programmører blev rige program ninetynine implicit none integer i do i=99,1,-1 enddo end print*, i,'bottles of beer on the wall, ',i,'bottles of beer' print*, 'take one down, pass it around, ',i-1,. 'bottles of beer on the wall'
15 COBOL * * * PROCESS. IF BOTTLES = 0 THEN COMPUTE E-O-F = 1 ELSE PERFORM WRITE-ROUTINE END-IF. TERMINATION. CLOSE OUTPUT-FILE. WRITE-ROUTINE. MOVE BOTTLES TO NUMBER-OF-BEERS-1, NUMBER-OF-BEERS-2. COMPUTE BOTTLES = BOTTLES - 1. WRITE BEERS-OUT FROM LINE1. MOVE BOTTLES TO NUMBER-OF-BEERS-3. WRITE BEERS-OUT FROM LINE2.
16 ALGOL ( PROC width = (INT x) INT: (x>9 2 1) ; FOR i FROM 99 BY -1 TO 1 ) DO printf ( ( $ 2l n(width(i))d, x "bottle" b("","s") x "of beer on the wall,", x n(width(i))d, x "bottle" b("","s") x "of beer.", l "Take one down, pass it around,", x n(width(i-1))d, x "bottle" b("","s") x "of beer." $, i, i=1, i, i=1, i-1, i=2 ) ) OD
17 LISP (Lots of Irritating Superflous Paranteses) (labels ((foo (x) (and (<= 0 x) (cons x (foo (1- x)))))) (format t (format nil ) (foo 99))) "~~{~~&~~@(~~%~~R ~A ~A!~~)~~:*~~&~~@(~~R ~0@*~A!~~)~~&~~@(~2@*~A!~~)~~&~~@(~~[~A~~:;~~: *~~R~~:*~~] ~0@*~A!~~)~~}" "bottles of beer" "on the wall" "take one down, pass it around" "no more"
18 Mere historie 1967: Simula-67, ALGOL med klasser Første objektorienterede sprog Kristen Nygaard, Norsk regnecentral 1971: Smalltalk Integreret sprog og miljø 1973: PROLOG, PROgraming in LOGic 1981: C++, C med klasser Første kommercielt succesfulde OO sprog 1985: Objective C, Smalltalk + C 1986: Hypertalk: første udbredte skriptsprog Bill Atkinson Stilsættende (Directors Lingo, Flash) 1996: Java 1990 erne: Perl, Python, : scriptsprog
19 SQUEAK Programmering er sjovt og for alle Smalltalk, Alan Kay
20 Programmeringsparadigmer
21 Programmeringsparadigmer Imperative / procedurelle Python, C, FORTRAN, ALGOL Objektorienterede python, C++, smalltalk, java Funktionelle lisp, ML Deklarative / logiske prolog
22 Programmeringsparadigmer Et paradigme udtrykker et syn på problemområdet Interpretant paradigmets syn på verden Repræsentation program Objekt problemområde
23 ITs påvirkning af vores tænkemåde Når vi konsumerer et medieprodukt er vi nødt til at acceptere interpretanten præmissen - under konsumprocessen Den er en forudsætning for konsum Vi kan ikke se en amerikansk mainstream film med fornøjelse uden i en halvanden time at acceptere den amerikanske fortolkning af verden Og vi kan ikke bruge et IT-system uden i brugsperioden at acceptere dets syn på verden
24 Imperative Interpretant: Verden består af aktive processer og passive ting Tingene flyder mellem processerne og skifter tilstand Programmering Ontologi Udform en algoritme der omdanner ting En algoritme er en sekvens af tilstandsændringer Subjekt Objekt Temporalt struktureret Tekstgenre: narrativ
25 Objektorienterede Interpretant: Verden består af aktive objekter samt af kommunikation mellem disse objekter Objekterne har metoder tilknyttet >>> x = ['a','b','c'] >>> x.extend([1,2,3]) Programmering: lav en struktur af objekter hvis vekselvirkning resulterer i det ønskede resultat Simuler problemområdet Ontologi Note Subjekt/Objekt Subjekt/Objekt Indeholder normalt en procedural komponent (C++, Python) Understøtter indkapsling og genbrug Tekstgenre: deskriptiv.
26 Funktionelle Interpretant Verden består af afhængigheder Inspireret af matematikken Programmering Ontologi Lav et hierarki af funktioner der kalder andre funktioner Funktion(funktion(funktion(data))) Input-output, a-temporal Python har et funktionelt subset (apply, map, reduce, listcomprehension)
27 Deklarative Interpretant Verden består af sande eller falske sætninger samt af logiske slutningsprocesser Ontologi Logisk positivisme Logisk, a-tamporal Tekstgenre: argumentativ
28 Prolog 1: påstande far(peter,jeppe). far(peter,lotte). mor(else,jeppe). mor(else,lotte). far(jeppe,estrid). mor(lotte,erik). mor(lotte,ida). han(peter). han(jeppe). han(erik). hun(else). hun(estrid). hun(ida). hun(lotte).
29 Prologg 2: slutningsregler farfar(aeldre,yngre) :- far(aeldre,mellem),far(mellem,yngre). farmor(aeldre,yngre) :- mor(aeldre,mellem),far(mellem,yngre). morfar(aeldre,yngre) :- far(aeldre,mellem),mor(mellem,yngre). mormor(aeldre,yngre) :- mor(aeldre,mellem),mor(mellem,yngre). soen(yngre,aeldre) :- han(yngre),far(aeldre,yngre). soen(yngre,aeldre) :- han(yngre),mor(aeldre,yngre). datter(yngre,aeldre) :- hun(yngre),far(aeldre,yngre). datter(yngre,aeldre) :- hun(yngre),mor(aeldre,yngre).
30 Prolog 3: slutningsregler bedstemor(aeldre,yngre) :- mormor(aeldre,yngre). bedstemor(aeldre,yngre) :- farmor(aeldre,yngre). bedstefar(aeldre,yngre) :- morfar(aeldre,yngre). bedstefar(aeldre,yngre) :- farfar(aeldre,yngre). barnebarn(yngre,aeldre) :- bedstemor(aeldre,yngre). barnebarn(yngre,aeldre) :- bedstefar(aeldre,yngre). soennesoen(yngre,aeldre) :- soen(yngre,mellem), soen(mellem,aeldre). datterdatter(yngre,aeldre) :- datter(yngre,mellem), datter(mellem,aeldre). soeskende(a,b) :- far(x,a), far(x,b), not(a = B). soeskende(a,b) :- mor(x,a), mor(x,b), not(a = B).
31 Prolog 4: forespørgsler 1?- barnebarn(x,peter). X = erik ; X = ida ; X = estrid ; No 2?- farfar(peter,x). X = estrid ; No 3?- morfar(peter,x). X = erik ; X = ida ; No 4?- soeskende(erik,x). X = ida ;
32 Python Objektorienteret Proceduralt Men med elementer af funktionel programmering. Kommer nu
33 Funktionelle træk i Python Lambda: anonyme funktioner Et udtryk, ikke en række sætninger Kan stå steder hvor def ikke kan bruges, f.eks. inline i dictonaries og lister Implementering af kommandointerface kommando = 7 { 'plus':(lambda x, y: x+y), 'minus': (lambda x, y: x-y), gange': (lambda x,y: x*y)} >>> kommando['plus'](3,4) >>> kommando[ gange'](30,50) 1500 >>>
34 En lommeregner def Lommeregner(): kommando = {'plus':(lambda x, y: x+y),\ 'minus': (lambda x, y: x-y),\ 'gange': (lambda x,y: x*y)} inp = raw_input('tast et udtryk: ') inp = inp.split() if inp[0] == 'slut': return 'slut' else: x = int(inp[0]) op = inp[1] y = int(inp[2]) return kommando[op](x,y) while True: resultat = Lommeregner() if resultat == 'slut': break else: print resultat >>> Lommeregner() tast et udtryk: 4 plus 78 82
35 Output tast et udtryk: 2 plus 5 7 tast et udtryk: 5 minus tast et udtryk: slut >>>
36 Apply Matcher en funktion med argumenter i form af en tupel >>> def plus(x,y): return x+y >>> apply(plus,(3,4)) 7
37 Map map( funktion, sekvens ) [] Map: anvender en funktion på hvert medlem af en sekvens og returnerer de enkelte resultater i form af en liste >>> ordliste =('peter','anders','karl') >>> def lavnavne(etnavn): return etnavn.title() >>> map(lavnavne,ordliste) ['Peter', 'Anders', 'Karl'] >>>
38 Reduce reduce(...) reduce(function, sequence[, initial]) -> value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty.
39 Filter filter ( boolsk funktion, sekvens ) [] Anvender en boolsk funktion på hvert medlem af en sekvens og returnerer de medlemmer for hvilken funktionen bliver sand >>> ordliste =('peter','anders','karl','poul','anni') >>> def checknavne(etnavn): return etnavn.startswith('p') >>> filter(checknavne,ordliste) ('peter', 'poul') >>>
40 List comprehensions [udtryk for var in sekvens ] [] Syntaks: [Udtryk for variabel in sekvens if betingelse] Beregner udtryk, hvis betingelse er sand, for en variabel der sættes til at referere til alle medlemmer af sekvensen. >>> [x*2 for x in [1,2,-3,0,-4] if x > 0] [2, 4] Effektivt, kort, men uforståeligt!
41 Et internetfilter på 3 linjer Antagelse: hjemmesiden er hentet ned og ligger som en file hjemmeside.txt Hensigt: at tælle forekomsten af frække ord på hjemmesiden def antalfraekkeord(etdokument,fraekkeord): return len([x for x in reduce \ (lambda x, y: x+y, \ [x.split() for x in etdokument]) if x in fraekkeord]) myfile = open('hjemmeside.txt','r') etdokument = myfile.readlines() fraekkeord = ['manden','en','og'] print antalfraekkeord(etdokument,fraekkeord) 3
42 Scope
43 Scope Scope = samtalekontekst Namespace = interpretant der angiver hvad navne står for In Python: en slags dictionary hvor navne er knyttet til objekter { A :integerobjekt, B : funktionsobjekt, } Namespaces er knyttet til kontekster lige som i naturlige sprog
44 Hvad betyder et navn? Samtalekonteksten og tidsforløbet afgør hvad en repræsentation (et navn) repræsenterer. Det danske samfund: Anders Fogh betegner statsministeren Vi kan bruge Fogh som henvisning til statsministeren: Fogh statsministeren Familiesammenkomst (del af det danske samfund): Hvis intet andet er sagt gælder reglen stadig. Fogh har en del bøvl med sine ministre i øjeblikket Men hvis der kommer en replik Kan I huske Købmand Fogh Ja, ja Fogh har lige solgt sin forretning Så etableres referencen Fogh købmanden
45 I naturlige sprog Referencen afgøres af Egenskaber ved objektet (han/hunkøn, andre egenskaber) Hvornår objektet sidste blev omtalt og hvor vigtigt det er Om der er nævnt andre kvalificerede objekter imellem taletidspunktet og sidste omtale Eksempel Prøv at se den mand derovre Ja, han (manden derovre) er noget nervøs Men se så ham bagved Han (manden bagved) ser mere ud til at have kontrol over tingene.
46 Scope i Python Lokale navne bruges i funktioner De forsvinder når funktionen er kørt færdig Der er 4 samtalekontekster Indbyggede navne (open, range, etc) Modulet (globale): navne der er blevet tilskrevet (A = 9) en reference i modulet eller er blevet erklæret globale Lokale navne i omgivende funktioner Lokale navn i funktionen: navne der er blevet tilskrevet en reference i modulet
47 Fastlæggelse af reference i Python Har navnet fået en værdi i denne funktion Ja: navnet refererer til denne værdi Nej: Har navnet fået en værdi i en indesluttende funktion: def laegentil(x): x = x+1 return x Ja: navnet refererer til denne værdi Nej: har navnet fået en værdi i modulet eller er det blevet erklæret global? Ja: navnets værdi er denne værdi Nej: findes navnet som indbygget navn? Ja: navnet har det indbyggede navns værdi Nej: fejl.
48 Eksempel >>> x = 10 >>> def laegentil(x): x = x+1 return x >>> laegentil(x) 11 >>> x 10 >>> def laegentil(y): global x x = y+1 return x >>> laegentil(x) 11 >>> x 11 lokal Global Global
49 Call by value, call by reference Python: call by reference er default Call by value kræver at parametren eksplicit er en kopi >>> def FjernFoerste(enListe): del enliste[0] return enliste >>> minliste = [1,2,3] >>> from copy import * >>> resultat1 = FjernFoerste(copy(minListe)) >>> resultat1 [2, 3] >>> minliste [1, 2, 3] >>> resultat1 = FjernFoerste(minListe) >>> minliste [2, 3] >>>
50 Aktuelle og formelle parametre Eksemplet igen def FjernFoerste(enListe): del enliste[0] return enliste Nyliste = FjernFoerste(minListe) Ved kaldet sættes de formelle parametre til at repræsentere den værdi de aktuelle parametre repræsenterer Formel parameter = aktuel parameter EnListe = minliste
51 Forskellen Call by value: i Python må man eksplicit kopiere R:minListe R: enliste O: [1,2,3] O: [1,2,3] Call by reference: default i Python R: minliste R: enliste O [1,2,3]
52 Andre måder x = [1,2,3] y = FjernFoerste(enListe = x) def FjernFoerste(*nogleLister): for enliste in noglelister: del enliste[0] >>> x = [1,2,3] >>> y = [4,5,6] >>> FjernFoerste(x,y) >>> x [2, 3] >>> y [5, 6] >>>
53 Oversættelse og kompilering
54 Oversættelse og kompilering Oversættelse fra et sprog til et andet Transformation af program Eks. fra C++ til maskinkode Fra python kildekode til python bytecode Først lexikalsk analyse Så syntaktisk analyse Resultat: parsetræ AST, Abstract Syntax Tree Så kodegenerering ud fra parsetræet
55 Leksikalsk analyse Leksikalsk analyse. Opdeling af kildekode-tekstfilen i en række tokens Tokens er reserverede ord og variable samt funktioner/operatorer Eks = print minvariabel -> ASSIGN, PRINT, VAR Variabelnavne må ikke starte på et tal >>> 1bil = 'Volvo' SyntaxError: invalid syntax >>> enbil = 'volvo'
56 Leksikalsk analyse Nøgleord (if, then, ) >>> if = 'peter' SyntaxError: invalid syntax Reserverede ord If er et reserveret ord Int er ikke et reserveret ord >>> int = 1 >>> int 1 Nu virker int( 10 ) ikke mere!
57 Syntaktisk analyse BNF (EBNF), Backus-Naur-form Samme udtrykskraft som Chomsky s kontekst-frie grammatik S ::= N VP NP ::= N N som VP at S VP ::= VT NP VI N ::= Anders Bent Christina VT ::= så hørte VI ::= løb sov lo
58 Fragment af Python stmt::= simple_stmt compound_stmt simple_stmt::= small_stmt (';'small_stmt)* [';'] NEWLINE small_stmt::= expr_stmt print_stmt del_stmt pass_stmt flow_stmt import_stmt global_stmt exec_stmt assert_stmt print_stmt::= 'print'( [ test (','test)* [','] ] '>>'test [ (','test)+ [','] ] ) del_stmt::= 'del'exprlist pass_stmt::= 'pass' flow_stmt::= break_stmt continue_stmt return_stmt raise_stmt yield_stmt break_stmt::= 'break' continue_stmt::= 'continue' return_stmt::= 'return'[testlist]
59 BNF og syntaksdiagrammer Expr ::= Term [Op Expression] Op ::= + - Syntaxregler er ofte rekursive Expression Term Op Expression Op + -
60 BNF og syntaksdiagrammer S ::= N VP NP ::= N N som VP at S VP ::= VT NP VI N ::= Anders Bent Christina VT ::= så hørte VI ::= løb sov lo NP som VP N at S
61 Parsning Analyse af om tokensekvensen overholder sprogets syntax Assign ::= Var = Expression Expression ::= Var Var + Var Var + Digit Digit + Digit Var ::= a b c... z Digit ::= a = a+4 a = 3+4 b = 3+5 Opbygning af parsetræer (AST)
62 Syntakstræ formelt sprog Assign Var Expression a = Var + Digit a = a+3 a 3
63 Syntakstræ dansk S ::= N VP NP ::= N N som VP at S VP ::= VT NP VI N ::= Anders Bent Christina VT ::= så hørte VI ::= løb sov lo S VP NP N VT N Bent så Anders
64 Syntakstræer Træer Nonterminaler (knuder) Terminaler (blade) Krav om entydighed
65 Syntakstræer Fjern denne flertydighed If (Boolean1): If (Boolean2): Statement1 else: Statement2 Skal statement2 udføres når Boolean1 er falsk eller når Boolean1 er sand og Boolean2 er falsk?
66 Fast og frit format Formatfrie sprog (de fleste) Problemet løses med forskellige former for paranteser If (Boolean1): {If (Boolean2): Statement1} else: Statement2 If (Boolean1): {If (Boolean2): Statement1 else: Statement2 } Sprog med fast format Problemet løses med indentering
67 Python Vistnok fast format. Bruger indentering >>> def syntakstest(navn): if navn[0] == 'peter': if navn[1] == 'andersen': print 'det var peter andersen' else: print 'fornavnet var ikke peter >>> def syntakstest1(navn): if navn[0] == 'peter': if navn[1] == 'andersen': print 'det var peter andersen' else: 'fornavnet var ikke peter'
68 Hvordan parser man Recursive descent compiling Som i opgaven fra denne uge: kun genererer man ikke men genkender og opbygger et syntakstræ Man knytter kode til hver node i syntakstræet Koden beregnes af den kode der er knyttet til børnene af noden samt af bidrag fra noden selv
69 Hvordan parser man? Eksempel: S-ALGOL Ifsætning ::= if CLAUSE do CLAUSE If CLAUSE then CLAUSE else CLAUSE Procedure IfClause Begin End NextSymbol Clause() If WeHave( do ) then Clause() else Begin WeMustHave( then ) Clause() WeMustHave( else ) Clause() End
70 Semantisk analyse Er alle variable synlige? Check scope og namespace Er typen af variablen forenelig med de operationer der skal udføres på den? I stærkt typede sprog: kan gøres nu Utypede sprog som Python: kan først checkes under udførelsen
71 Kode generering Symboltabel Optimering: fra højniveaukode til effektive maskininstruktioner Højniveaukode X y + z W x + z Maskininstruktioner Load y i R1 Load z i R2 Add R2 til R1 (R1 = y + z) Store R1 i x Load x i R1 Load z i R2 Add R2 til R1 Store R1 i w Overflødigt
72 Resten Oversættelse: source objekt Linkning: Objekt load module på disk Load: load module på disk program i RAM Webapplikationer (JAVA) Oversættelse: På serveren: source bytecode Hos klienten: bytecode maskinsprog
73 Opgave xxx
Introduktion til programmering. Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14.
Introduktion til programmering Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14. Plan Programmeringsparadigmer Funktionel programmering i Python Pause Scope: referencekonteksten
Læs mereIntroduktion til programmering. Programmeringssprog Uge 41 Computer Science, kap 6. Learning Python: kap 13, 14.
Introduktion til programmering Programmeringssprog Uge 41 Computer Science, kap 6. Learning Python: kap 13, 14. Opgaver Generelt OK opgaver, OK kommentarer Kun få har husket at kommentere HMTL-koden. Det
Læs mereIntroduktion til programmering. Afslutning
Introduktion til programmering Afslutning Hovedideen Peirce s tegnbegreb Repræsentamen, objekt og interpretant Computerbaserede tegn Interfacetegn: angiver hvad man har gjort, kan gøre, og ikke kan gøre
Læs mereAarhus 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 mereLæ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 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 mereProgrammering 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 mereKlasser 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 mere4 Basal Objekt-orienteret Programmering I.
4 Basal Objekt-orienteret Programmering I. Klasser i forhold til abstrakte datatyper og record-typer. Variable og operationer. Klasse-interfaces. Klasser og typer. Klasse-instantiering og initialisering.
Læs mereÅben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser
3/10/96 Seminaret den 26/10 vil omhandle den sidste fase af analysen og de første skridt i kodegenereringen. Det drejer sig om at finde betydningen af programmet, nu hvor leksikalsk og syntaktisk analyse
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 mereSproget Rascal (v. 2)
Sproget Rascal (v. 2) Til brug i K1 på kurset Oversættere Opdateret 29/11 2004 Abstract Rascal er et simpelt Pascal-lignende imperativt sprog. Dette dokument beskriver uformelt Rascals syntaks og semantik
Læs mereIntroduktion til programmering. Intro
Introduktion til programmering Intro Plan Personer og kompetencer Studieportalen Kususplan Formål Eksamen Computerens historie Computeren som tegnbærer. Maskinarkitektur Python Personer og kompetencer
Læs mereProgrammering i C. Lektion oktober 2008
Programmering i C Lektion 2 20 oktober 2008 Historie Processen At kompilere 2 / 23 Fra sidst 1 Historie 2 Processen 3 At kompilere Historie Processen At kompilere 3 / 23 ALGOL 60 1963 CPL 1966 BCPL 1969
Læs mereSproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract
Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget
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 mereIt og informationssøgning Forelæsning november 2006 Nils Andersen. Regulære udtryk og formelle sprog
It og informationssøgning Forelæsning 11 22. november 2006 Nils Andersen Regulære udtryk og formelle sprog Regulært udtryk Forening, sammenstilling og Kleene-gentagelse Andre notationer og operatorer Modulet
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 mere16 Træer. Noter. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype.
16 Træer. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype. Gennemløb af binære træer. Træer i Eiffel. 229 Definition af et træ.
Læs mereDesign by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design
Læs mereOversættere, ugeopgave 3
Oversættere, ugeopgave 3 Anders jerg Pedersen (andersbp@me.com) 29. november 2009 Opgave 1 Vi konsrer først NFA er for grammatikken fra opgave 3.22 med produktionen tilføjet: Produktion NFA 0 A 1 C D 2
Læs mereRecollections about the Development of Pascal. Niklaus Wirth ACM, 1993
Recollections about the Development of Pascal Niklaus Wirth ACM, 1993 1 Niklaus Wirth, 73 Født i Schweiz, 1934 Ph.D., University of California, Berkeley, 1963 Assistant Professor of CS, Stanford University,
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 mereIntroduktion til programmering. Uge 40 Computer Science, kap (minus kap 8.6).
Introduktion til programmering Uge 40 Computer Science, kap 5 + 8 (minus kap 8.6). Kompendier Købes mellem 12 og 13 i 014 i Wienerbygningen Pris 70 kr. Sidste gang Funktioner som metode til at skrive anvendelsesorienterede
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 mereNetværksalgoritmer 1
Netværksalgoritmer 1 Netværksalgoritmer Netværksalgoritmer er algoritmer, der udføres på et netværk af computere Deres udførelse er distribueret Omfatter algoritmer for, hvorledes routere sender pakker
Læs mereDesign by Contract. Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Design and Programming by Contract Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere
Læs mereIntroduktion til programmering. Uge 38.1 Python 2 Learning Python, kap 8-12.
Introduktion til programmering Uge 38.1 Python 2 Learning Python, kap 8-12. Opsummering Store dele af Python kan forstås gennem følgende simple model: En repræsentation/udtryk står for et objekt/en værdi
Læs mereJa! det beviste vi uge 16+17
Ugens emner Lukketheds- og afgørlighedsegenskaber [5.3-5.5] lukkethed under,,,, * lukkethed under homomorfi og invers homomorfi pumping -lemmaet beslutningsproblemer: membership, emptiness, finiteness
Læs mere3 Algebraisk Specifikation af Abstrakte Datatyper.
3 Algebraisk Specifikation af Abstrakte Datatyper. Specifikation kontra program. Bestanddele af en algebraisk specifikation. Klassificering af funktioner i en ADT. Systematisk definition af ligninger.
Læs mereKlasser. Grundlæggende Programmering med Projekt. Peter Sestoft Tirsdag 2. september 2008. (Tak til Jakob Bardram for nogle slides) Dagens begreber
Klasser Grundlæggende Programmering med Projekt Peter Sestoft Tirsdag 2. september 2008 (Tak til Jakob Bardram for nogle slides) Dagens begreber Felt (field) Metode (method) Parameter (parameter) Sætning,
Læs mereMultiparadigme Programmering
Multi Programmering Repetition: De grundliggende r Systematisk karateristik. Paradigmesupplering. Symmetrisk multi programmering Leda eksempler på logikprogrammering kombineret med imperativ og funktionsorienteret
Læs mereSkriftlig eksamen, Programmer som Data Onsdag 6. januar Spørgsmål 1 (20 %): Regulære udtryk og automater
Skriftlig eksamen, Programmer som Data Onsdag 6. januar 2010 Dette eksamenssæt har 5 sider. Tjek med det samme at du har alle siderne. Eksamens varighed er 4 timer. Der er fire spørgmål. For at få fuldt
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 mereEnigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M
Enigma Et programmeringssprog Forfatter: Niels Serup X. Y Vejleder: A B C Fag: Programmering Uddannelsessted: N M 25. maj 2010 Indholdsfortegnelse Indledning 3 Sproget 3 Syntax.............................................
Læs mereForelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:
Læs mereProgrammering 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 mereProgrammeringscamp. Implementer funktionerne én for én og test hele tiden.
Programmeringscamp De to opgaver træner begge i at lave moduler som tilbyder services der kan bruges af andre, samt i at implementere services efter en abstrakt forskrift. Opgave 1 beder jer om at implementere
Læs mere1 Grundbegreber. Noter. Stilarter i programmering og sprog. Syntaks og semantik. Datatyper. Kontrolstrukturer. Udtryk. Abstraktioner.
1 Grundbegreber. Stilarter i programmering og sprog. Syntaks og semantik. Datatyper. Kontrolstrukturer. Udtryk. Abstraktioner. Parametermekanismer. Blokke og navnebindinger. Scope og scoperegler. 3 Parallelle
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 mereSkriftlig 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 mereKapitel 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 merevil 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 mereProgrammering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale
Programmering i C Lektion 1 16. september 2008 Målgruppe Indhold Form Materiale Kursusintroduktion 1 Målgruppe 2 Indhold 3 Form 4 Materiale 2 / 21 Målgruppe Indhold Form Materiale Folk der har styr på
Læs mere16/04/12 50% 50% Waveform Chart Waveform Graph XY Graph Indicator Graph 33% 17% 88% 13%
Samuel Alberg Thrysøe, PhD, PostDoc, Kontakt info: Email: sat@iha.dk, Tlf: +45 25533552 2 4. 5 Waveform Chart Waveform Graph XY Graph Indicator Graph 4. 33% Waveform Chart Waveform Graph XY Graph Indicator
Læs mereIntroduktion 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 mereSproget Limba. Til brug i G1 og K1. Dat1E 2003
Sproget Limba Til brug i G1 og K1 Dat1E 2003 Abstract Limba er et simpelt imperativt sprog med hoballokerede tupler. Dette dokument beskriver uformelt Limbas syntaks og semantik samt en fortolker for Limba,
Læs mereProgrammering i C. Lektion september 2009
Programmering i C Lektion 2 14. september 2009 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Kommentarer Format - scanf og printf 2 / 27 Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler
Læs mereTest af It-komponent
Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side
Læs mereProgrammering 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 mereDanmarks Tekniske Universitet
Eksamen 02105, F14 side 1 af 14 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 2014. Kursusnavn: Algoritmer og datastrukturer 1 Kursusnummer: 02105 Hjælpemidler: Skriftlige hjælpemidler. Det
Læs mereDatabasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002
Databaser, efterår 2002 Databasesystemer Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk
Læs mereLær Python - Dag 4, modul 1 Objektorienteret programmering
Lær Python - Dag 4, modul 1 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Objektorienteret programmering Hvad er objektorienteret programmering? Vi
Læs mereKlasser og Objekter i Python. Uge 11
Klasser og Objekter i Python Uge 11 Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. Klassens objekter er instanser af klassen. En programudførelse
Læs mereOversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 20. april 2005
Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 20. april 2005 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved
Læs mereIntroduktion til ActionScript
Introduktion til ActionScript 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 på
Læs merePeter Kellberg. Rundt om Danmarks Statistiks makroer. Design, Standardisering, Teknik
Peter Kellberg Rundt om Danmarks Statistiks makroer Design, Standardisering, Teknik SAS Forum 2009 Ét makrobibliotek ca 50 makroer, vi selv har lavet mange andre fx CLAN Autocall makroer en makro er et
Læs mereTypeanalyse af PHP-scripts
Typeanalyse af PHP-scripts Lars Holm Nielsen Regin Gerner Hansen Andreas Erland Jensen Tonny Elgård Larsen Vejleder: Mads Rosendahl 9. juni 2005 Roskilde Universitetscenter Naturvidenskabelig Basisuddannelse
Læs mereProgrammering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Parsing med Højere-Ordens Funktioner Martin Elsman Datalogisk Institut Københavns Universitet DIKU 1. December, 2017 Martin Elsman (DIKU) Programmering og Problemløsning,
Læs mereStart 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 mereDATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004
Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes
Læs mereHTX, 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 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 mereIndholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Makrosikkerhed (Sikkerhedsindstillinger)...13
1 Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Hvad er en makro... 10 Hvad kan du bruge en makro til... 10 Hvad en makro er (Visual Basic for Applications)... 11 Det hele sker
Læs mereIt og informationssøgning Forelæsning oktober 2006 Nils Andersen
It og informationssøgning Forelæsning 6 11. oktober 2006 Nils Andersen Formatstyret udskrivning. Undtagelser. Løkkestyring med break og continue. Tekstfiler. Højereordensfunktioner. Formattekster og %-operatoren
Læs mereSyntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik
Datalogi C, RUC Forelæsning 22. november 2004 Henning Christiansen Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik Dagens program Hvad
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 mereIt og informationssøgning Forelæsning 1 6. september 2006 Nils Andersen. Beregning på computer
It og informationssøgning Forelæsning 1 6. september 2006 Nils Andersen Beregning på computer Begrebet data Universel computer Højere programmeringssprog Python Dialogdrift Fejl (syntaksf., udførelsesf.,
Læs mereDM507 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 mereOBS! Prøveeksamen med syntaks på tirsdag! Kursusgang 8
Kursusgang 8 OBS! Prøveeksamen med syntaks på tirsdag! Kursusgang 8 Matematik Arkæologi Eksempel Semantik Bims (Basic Imperative Statements / Begrænset Imperativt Sprog) Abstrakt syntaks Transitionssystemer
Læs mereJeg 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 mereIntroduktion til prædikatlogik
Introduktion til prædikatlogik Torben Braüner Datalogisk Afdeling Roskilde Universitetscenter 1 Plan Symbolisering af sætninger Syntaks Semantik 2 Udsagnslogik Sætningen er den mindste syntaktiske enhed
Læs mereOrienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk
Philip Bille Orienteret graf (directed graph). Mængde af knuder forbundet parvis med orienterede kanter. Vejnetværk Knude = vejkryds, kant = ensrettet vej. deg + (6) =, deg - (6) = sti fra til 6 8 7 9
Læs mereDM536. Rapport og debug
DM536 Rapport og debug Kilder Vigtig.it (Felix Palludan Hargreaves) http://vigtig.it/dm502/howto_report.pdf http://vigtig.it/blog/teaching/#toc-relevant-tips Peter Schneider-Kamp http://imada.sdu.dk/~petersk/dm536/project2.pdf
Læs mere26 Programbeviser I. Noter. PS1 -- Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler.
26 Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler. Hvad er programverifikation? Bevisregel for 'tom kommando'. Bevisregel for assignment. Bevisregler for selektive
Læs mereObligatorisk projekt 3.
Obligatorisk projekt 3. Administration af Regionale Køre-Planer Fag: Projektet omhandler emner fra fagene Softwarearkitektur og Distribuerede Programmer, samt SystemUdviklingsMetoder. Formål: Formålet
Læs mereBRP Tal. Om computer-repræsentation og -manipulation. Logaritmer
BRP 13.9.2006 Tal. Om computer-repræsentation og -manipulation. Logaritmer 1. Opgaverne til i dag dækker det meste af stoffet 2. Resten af stoffet logaritmer binære træer 3. Øvelse ny programmeringsopgave
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 mereSammenlign og byt. Et eksempel på dokumentering af et program
Sammenlign og byt Et eksempel på dokumentering af et program Sammenlign og byt Jeg har valgt, som et eksempel, at dokumentere et meget enkelt program som indlæser to tal, sammenligner dem og udskriver
Læs mereTræer. Datastrukturer & Algoritmer, Datalogi C Forelæsning 9/
Datastrukturer & Algoritmer, Datalogi C Forelæsning 9/11-2004 Træer En meget vigtig datastruktur Repræsentation af sprog (i meget generel betydning), syntakstræer: Java (i en compiler), SQL (i et databasesystem),
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 mereIt og informationssøgning Forelæsning september 2006 Nils Andersen. Gentagelser og tekster
It og informationssøgning Forelæsning 3 20. september 2006 Nils Andersen Gentagelser og tekster Dokumentationstekster Iteration (gentagelse) - med while - med for En- og todimensionale tabeller Typen af
Læs mereSøgetræer: Generel repræsentation af (sorterede) mængder og funktioner Databasesystemer...
Datastrukturer & Algoritmer, Datalogi C Forelæsning 11/11-2003 Træer En meget vigtig datastruktur Repræsentation af sprog (i meget generel betydning), syntakstræer: Java (i en compiler), SQL (i et databasesystem),
Læs mere2) 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 mereUge 36 Intro Kap 0 og 2 i Computer science
Uge 36 Intro Kap 0 og 2 i Computer science Plan Personer og kompetencer Aula Kususplan Formål Eksamen Computerens historie Computeren som tegnbærer Algoritmer hvad består et program af Maskinarkitektur
Læs mereIntroduktion. Philip Bille
Introduktion Philip Bille Plan Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Algoritmer og datastrukturer Hvad er det? Algoritmisk problem: præcist defineret relation mellem
Læs mereJavaScript. 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 mereDet 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 mereFlowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller.
Flowchart Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller. Et godt program til at tegne flowcharts med er, EDGE-Diagrammer, eller Smartdraw.
Læs mereIt og informationssøgning Forelæsning december 2006 Jakob Grue Simonsen. Diverse emner af almen interesse
It og informationssøgning Forelæsning 12 6. december 2006 Jakob Grue Simonsen Diverse emner af almen interesse 1 Gemme objekter til filer I python skal en fil på disken åbnes, før man kan læse eller skrive
Læs mereAlgoritmedesign med internetanvendelser ved Keld Helsgaun
Algoritmedesign med internetanvendelser ved Keld Helsgaun 1 Analyse af algoritmer Input Algoritme Output En algoritme er en trinvis metode til løsning af et problem i endelig tid 2 Algoritmebegrebet D.
Læs mereKontrol-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 mereProject Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1
Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16- bit words
Læs mereLØKKER METODER C S HISTORIE. Grundlæggende programmering Lektion 4
LØKKER METODER C S HISTORIE Grundlæggende programmering Lektion 4 1 LEKTIER UML struktur diagrammer om biler 2 OPERATORER Syntaks til at udføre forskellige beregninger og handlinger Booleans og hvorfor
Læs mereLæ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 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 mereProjekt arbejde til kurset Advanced Models and Programs, SASP-AMP 2008 Poul Brønnum, IT Universitetet i København, Maj 2008. Indholdsfortegnelse
Udvidelse af MicroC compileren til at kunne håndtere struct- og union typer samt switch-, break- og continue statement. Yderligere er ovenstående konstruktioner anvendt til at indføre malloc og free kald
Læs mereRekursion og dynamisk programmering
Rekursion og dynamisk programmering Datastrukturer & Algoritmer, Dat C Forelæsning 12/10-2004 Henning Christiansen Rekursion: at en procedure kalder sig selv eller et antal metoder kalder hinanden gensidigt.
Læs mereIt og informationssøgning Forelæsning 5 4. oktober 2006 Nils Andersen. Tilfældige tal. Statistisk test. Sæt og associationslister.
It og informationssøgning Forelæsning 5 4. oktober 2006 Nils Andersen Tilfældige tal. Statistisk test. Sæt og associationslister. Tilfældige tal Statistik Sæt Associationslister Downey, Elkner & Meyers:
Læs mereTree klassen fra sidste forelæsning
Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years
Læs mere