Introduktion til programmering. Uge 40 Python 2 Learning Python, kap 8-12.

Størrelse: px
Starte visningen fra side:

Download "Introduktion til programmering. Uge 40 Python 2 Learning Python, kap 8-12."

Transkript

1 Introduktion til programmering Uge 40 Python 2 Learning Python, kap 8-12.

2 Plan Sidste gang Sætninger og udtryk Kontrolstrukturer Selektion If : Gentagelse While : For : Funktioner Stand-up programmering Dokumentation Fjerde obligatoriske øvelse

3 Sidste gang Navne, værdier og typer Objekter Type(værdi) Id(variabel) Simple typer (scalarer) Tekst (string), index, slicing Tal (int, float) Sammensatte typer List [] Tuple () Dictionary () Udtryk

4 Repetition af udtryk 'Peter'[1:3][::-1] = 'te. Hvorfor?

5 Udtryk Udtryk (expression): noget der repræsenterer en værdi 1 repræsenterer et heltal Peter repræsenterer en tekst (string) Et sammensat udtryk er en kombination af andre udtryk og operatorer der repræsenterer og producerer en (ny) værdi repræsenterer 3 et tal 'Peter'[1:3] repræsenterer 'et en tekst [1,2,3][1] repræsenterer 2 et tal [1,2,3][0:2] repræsenterer [1, 2] en liste [1:3] repræsenterer en operation

6 Semiotisk set Udtryk er repræsentationer Deres objekt er værdier De frembringer de værdier de repræsenterer Det gør de naturlige sprog ikke At sige en Peugeot 307 frembringer ingen bil Men at skrive 'Peter'[1:3] frembringer teksten 'et' Interpretant: en udførelse Repræsentamen: termer og udtryk Objekt: værdier, f.eks. tekster, tal, lister, tupler, dictionaries

7 'Peter'[1:3][::-1] = 'te. Hvorfor? Fortolkningen af udtryk består i at frembringe det objekt de repræsenterer Fortolkning Repræsentation Objekt

8 'Peter'[1:3][::-1] = 'te. Hvorfor? I te O R I et O R slicing O Repræsentati oner der er aflæselige for maskinen Peter O slicing O I I R R R 'Peter' [1:3] [::-1] Repræsentationer der er aflæselige for mennesker

9 Sætninger og udtryk Programmer består af et eller flere moduler Moduler består af sætninger (statements) Sætninger indeholder udtryk Udtryk repræsenterer og producerer værdier Sætninger Sætninger repræsenterer ikke værdier Sætninger regulerer hvordan værdierne produceres Eksempel >>> len('peter') 5 >>> x = 'peter >>> Udtryk: producerer 5 sætning: producerer ingenting men ændrer variables værdier

10 Sætninger og udtryk i naturlige sprog Udtryk svarer til navneord der henviser til ting eller handlinger Sætninger svarer til ytringer der udfører en sproghandling: ordrer, påstande, løfter, følelsesudbrud gryde.append(enmusling) Læg en musling i gryden

11 Påstande Boolske udtryk Udtryk der repræsenterer værdierne sand eller falsk. De repræsenterer værdierne 1 og 0 (i nyere versioner True og False) Naturlige sprog: påstande Bussen går kl Det er løgn! Nogle sproghandlinger som ordrer kan hverken være sande eller falske Gå nu op i bussen + Det er løgn lyder mærkeligt. >>> == 4 True >>> 'Peter' == 'Karl False >>> 'Peter' <> 'Karl True

12 Sandhedsværdier Boolske operatorer And, or, not Boolske udtryk producerer nye sandhedsværdier af gamle sandhedsværdier >>> 1+2 == 3 and 4+5 == 9 True >>> not (1+2 == 3 and 4+5 == 9) False >>> (1+2 == 3 or 1+2 == 9) True

13 Sandhedstabeller p q p and q p q p or q false false false false false false false false false false false false p Not q false false

14 Nye operatorer kan defineres ved de gamle P implies Q = not(p and not(q)) = not(p) or Q Hvis P så Q p q Not p not (p) or q false false false false false false false

15 Naturlige sprog og logiske Naturlige sprog lægger en årsagsfortolkning ind i hvis-så Det gør logikken ikke p false q false Not p false false not (p) or q false Hvis = 5, så vinder socialdemokraterne næste valg false false Logisk: altid sand fordi = 5 er logisk falsk Naturligt sprog: nonsens (eller ironisk) fordi der ikke er nogen årsagssammenhæng

16 If-kontrolstruktur if <boolsk udtryk> : if <boolsk udtryk>: er en <handling1> selektionsstruktur <handling2> <boolsk udtryk> skal repræsentere en sandhedsværdi Handlingssætningerne udgør en blok Blokke er indenteret med tabulator eller mellemrum Brug tabulator

17 if if-sætninger kan indeholde mange forskellige betingelser if <noget> : <h1> <h2> <hn> elif <nogetandet> : <h1> <hn> else: <h1>

18 Porfyrs træ if raw_input('legemlig substans?') == 'ja': print 'Ja. Legemlig substans' if raw_input('levende?')== 'ja': print 'Ja.Levende organisme' if raw_input('ja. Sansende?')== 'ja': print'ja. Et dyr' if raw_input('rationelt?')== 'ja': print 'Ja. Rationelt dyr' if raw_input('doedelig?')== 'ja': print 'Ja. Et menneske' else: print 'Nej. Gud' else: print 'Nej. Et dyr' else: print 'Nej. En plante' else: print 'Nej. Doed natur (sten, jord)' else: print 'Nej. Et begreb'

19 Eksempler materialer\ifsætninger.py Eksempel 1 Legemlig substans? Ja. Kropslig levende? Ja.Levende organisme Sansende? Ja. Et dyr rationelt? Ja. Rationelt dyr doedelig? Nej. Gud Eksempel 2 Legemlig substans? Ja. Kropslig levende? Ja.Levende organisme Sansende? Nej. En plante

20 While While <boolsk udtryk>: Statement Statement Checker om <boolsk udtryk> er sandt. Hvis det er, udføres den efterfølgende blok. Ellers springes til det statement der følger efter blokken

21 While filename = raw_input('indtast navn på file: ') if filename == '': filename = 'entekst.txt' myfile = open(filename,'r') ##open the file aline = myfile.readline() ##read the next line from the file nol = 0 #number of lines now = 0 #number of words while aline <> '': #as long as aline is not empty nol += 1 #increase the linecounter thewords = aline.split(' ')#split the line into words now = now + len(thewords)#increase the word counter by the number of words aline = myfile.readline()#read the next line from the file print 'The number of lines is ' + str(nol) print 'The number of words is ' + str(now) Kør linjetæller med entekst.txt

22 For For <navn> in <sequence>: Statement Statement Navn kommer til at referere til medlemmerne af <sequence>, fra første til sidste Meget hyppigt brugt

23 Brug af for tabel = [{'fornavn':'peter','efternavn':'andersen','adresse':'vestergade'},\ {'fornavn':'karen','efternavn':'jensen','adresse':'oestergade'},\ {'fornavn':'hans','efternavn':'karlsen','adresse':'vestergade'}] kolonnenavne = ['fornavn','efternavn']#de kolonner vi oensker at faa udskrevet betingelse = {'adresse':'vestergade', 'efternavn':'jensen'}#de betingelser en raekke skal opfylde #opgave 1: Skriv en algoritme der udskriver #1. de oenskede kolonner i #2. alle raekker hvor en af betingelserne er opfyldt (en OR-betingelse) Kør database 2 #opgave 2: Skriv en algoritme der udskriver #1. de oenskede kolonner i #2. alle raekker hvor alle betingelser er opfyldt (en AND-betingelse) Kør database 3

24 Select med OR-betingelse betingelse = {'adresse':'vestergade', 'efternavn':'jensen'} resultat = [] #gennemloeb alle raekker i tabellen for raekke in tabel: #gaet paa at raekken ikke duer success = False #gennemloeb alle stikordord i betingelsen for stikord in betingelse.keys(): #hvis vaerdien af stikordet i betingelsen = vaerdien af stikordet i raekken if betingelse[stikord] == raekke[stikord]: #raekken duede alligevel success = True #hop ud af loekken break if success == True: #hvis raekken duede, tilfoej raekken til resultatet resultat.append(raekke) tabel = [{'fornavn':'peter','efternavn':'andersen','adresse':'vestergade'}, {'fornavn':'karen','efternavn':'jensen','adresse':'oestergade'}, {'fornavn':'hans','efternavn':'karlsen','adresse':'vestergade'}]

25 Afbrud af løkker Break: hopper ud af den inderste loop Continue: hopper op til loopens betingelse Pass: gør ingenting

26 Funktioner Funktioner er en måde at gruppere sætninger så de kan kaldes igen og igen Et funktionsnavn repræsenterer et funktionsobjekt (callable object) Det er en måde at strukturere et program i overskuelige enheder To keywords: Def : sætter et navn til at referere til et funktionsobjekt Return: får funktionen til at returnere en værdi (et objekt)

27 Funktioner def funktionsnavn ( param1, param2,..., paramn): sætning1 sætning2... sætningn return resultat

28 Eksempel Funktionens navn def udskrivomvendt(tekst): return tekst[::-1] >>>x = udskrivomvendt('peter') >>> x 'retep Parametrene Beskrivelse af selve funktionen (callable object) Interpretant udførelse Repræsentamen funktionsnavn Objekt Callable object

29 Pass by reference Parameternavne refererer til samme objekt som de aktuelle parametre Samme objekt hedder to forskellige ting Pas på! x = [1,2,3] def func(y): del(y[0]) x R O >>> func(x) [1,2,3] >>> x O [2, 3] y R

30 Naturlige sprog Hvis Anders Foghs vælgertilslutning er 40 % Og Anders Fogh refererer til samme person som Danmarks statsminister Så er det sandt at Danmarks statsministers vælgertilslutning også er 40 %

31 Scope Navne der oprettes inden i en funktion er forskellige fra identiske navne der bruges uden for funktionen Det område hvor et navn gælder kaldes dets scope Det er altid det mindste scope der gælder Deres reference er også forskellige Analogi: I familiens skød betyder Anders snothvalpen henne i sofaen I den politiske offentlighed betyder Anders Danmarks statsminister Sæt nuværende_scope til det omgrænsende scope af navnets forekomst Så længe vi ikke har fundet navnet: Findes navnet i nuværende_scope: Ja. Bruge dette navns reference Nej: sæt nuværende_scope til det omgrænsende scope af nuværende_scope Hvis vi ikke har fundet navnet Giv en fejlmeddelelse

32 Globale og lokale variable def func(): z =[] z = [1,2,3] func() z [1, 2, 3] def func() global z z = [] func() z [] [] 1,2,3

33 Læseøvelse #Hvad gør de to funktioner? def enfunktion (sekvens1, sekvens2): resultat = sekvens1[:] for x in sekvens2: if not(x in sekvens1): resultat.append(x) return resultat def enandenfunktion(sekvens1,sekvens2): resultat = sekvens1[:] for x in sekvens1: if not(x in sekvens2): resultat.remove(x) return resultat

34 To funktioner def union (sekvens1, sekvens2): resultat = sekvens1[:] for x in sekvens2: if not(x in sekvens1): return resultat resultat.append(x) def intersection(sekvens1,sekvens2): resultat = sekvens1[:] for x in sekvens1: if not(x in sekvens2): return resultat resultat.remove(x) Kør mængdeteori

35 Funktionsværdier Funktioner i Python er first-class citzens Et funktionsnavn refererer til en værdi med typen function >>> type(func) <type 'function'> >>> Derfor kan man tildele et andet navn funktionsobjektet som værdi

36 Funktionsnavne Man kan sætte et andet navn til at referere til funktionsobjektet >>> foreningsmængde = union >>> foreningsmængde([1,2,3],[4,6]) [1, 2, 3, 4, 6] Man kan også bruge et funktionsnavn som parameter i en anden funktion [1, 2, 3, 4, 5, 6] foreningsmængde funktion [1,2,3] [4,5,6] union

37 Funktioner som parametre def do(sekvens1,funktion, sekvens2): return funktion(sekvens1, sekvens2) I overskriften optræder funktionen som parameter - som data der flyttes I kroppen optræder funktionen som noget der kan kaldes Von Neumann igen!

38 Funktionsnavn og funktionsresultater Do er en metafunktion der sætter andre funktioner sammen med deres argumenter print do([1,2,3],union,[3,4,5]) [1, 2, 3, 4, 5] Funktionsnavnet union bruges som parameter og dets værdi udføres i do funktionen. Resultatet af funktionskald kan også også bruges som parameter print intersection( union([1,2,3],[3,4,5]),[1,4]) [1, 4] Resultatet af Union ([1,2,3],[3,4,5]), nemlig [1, 2, 3, 4, 5], gives som parameter til Intersection hvis anden parameter er [1,4] Union repræsenterer en funktion Union ([1,2,3],[3,4,5]) repræsenterer en liste.

39 Apply Apply er en generel indbygget metafunktion der knytter funktionsnavne til deres parametre. print apply(union, ([1,2,3], [3,4,5])) [1, 2, 3, 4, 5]

40 Kald af funktioner Et funktionskald repræsenterer en sammenstilling af en funktion og nogle værdier Disse repræsenterer og producerer funktionens resultat liste O R funktion O liste O liste O Apply R R R Union' [1,2,3] [3,4,5]

41 Naturlige sprog Kancellisprog foretrækker ofte metafunktioner og beskriver funktioner ved navneord Funktion Parameter Ransag (mistænktes hus) Metafunktion Funktions navn Parameter Foranstalt (en ransagelse af mistænktes hus)

42 Returnering af flere værdier fra en funktion Brug en tupel Brug tupel-unpacking def funktion(a,b): res1 = a+b res2 = a* b res3 = a-b return (res1,res2,res3) x,y,z = funktion(23,34)

43 if name == main : Hvordan undgår man at få udført eventuelle sætninger i et modul? def f1(): pass def f2(): print Morten if name == main : f1() f2()

44 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 Fortolkningen af et udtryk producerer det objekt som repræsentationen står for Kombinationen af en funktion/operation plus andre værdier producerer en nye værdi Et funktionsnavn står for et funktionsobjekt print intersection <function intersection at 0x011851B0> Repræsentation Simpelt udtryk Operationer Sammensatte udtryk Funktionsnavn Funktionskald Sætning Objekt, Værdi Liste, tekst, tupel, boolsk værdi, dictionary, heltal Operation Værdien af udtrykket funktionsobjekt Værdien af det der returneres Ingenting Eksempel [1,2,3], peter, (2,3,4), True [1:3], and, + str((12+34))[1] == 6, 1 > 2 == False intersection repræsenterer 0x011851B0 der igen repræsenterer et funktionsobjekt intersection([1,2,3],[2]) repræsenterer en liste

45 Indkapsling og fortolkningsskift Funktionsnavne er også en metode til at skifte fortolkning Funktionens navn repræsenterer én del af verden f.eks. problemområdet Funktionens indre repræsenterer en anden del af verden f.eks. computeren. Repræsentation af begivenheder i computeren Repræsentation af begivenheder i problemområdet Husk første forelæsning!

46 Programtekstens to tolkninger Interpretant: programudførelse Interpretant: madlavning Objekt: Funktionsobjekt er, lister, etc. representamen: programtekst Objekt: (domæne) muslinger

47 Afsnit 2: madlavning #en verden af muslinger og koekkenredskaber (spand, gryde,affaldspose) = KoekkenUdstyr() FyldMed(spand,NogleMuslinger()) Toem(gryde) Toem(affaldspose) while DerErNogetI(spand): enmusling = TagOpAf(spand) if ErLukket(enmusling): LaegI(enmusling,gryde) else: LaegI(enmusling,affaldspose)

48 Afsnit 1: maskinen #en verden af lister og tal def KoekkenUdstyr(): return ([],[],[]) def NogleMuslinger(): return [1,0,0,1,0,1,0,] def TagOpAf(enKontainer): EtElement = enkontainer[0] del enkontainer[0] return EtElement def LaegI(etElement,enKontainer): enkontainer.append(etelement) def FyldMed(enKontainer, etindhold): enkontainer.extend(etindhold) def Toem(enKontainer): del(enkontainer[:]) def DerErNogetI(enKontainer): return enkontainer <> [] def ErLukket(etElement): return etelement == 0 def KoekkenTilstand(spand, gryde, affaldspose): print ''' spandens indhold: %s. Grydens indhold: %s. Affaldsposens indhold: %s''' % (spand, gryde, affaldspose)

49 Programmer Kør muslingemodul og muslingemodulbruger

50 Endnu tættere på domænefortolkning bucket = Container() pot = Container() wastebag = Container() you.fill(bucket,'with', Mussels()) while bucket.contains(mussel): you.take(it, 'from', bucket) if it.isclosed(): you.put(it,'into', pot) else: you.put(it,'into', wastebag)

51 Moduler Moduler er Pythonprogrammer der kan bruges fra andre Pythonprogrammer Læg jeres moduler i mappen Lib De importeres ved at bruge kommandoen import. Import <modulnavn> From <modulnavn> import * Moduler kan indkapsle en verden man ønsker at bruge men ikke at forstå. Modulet beskriver hvordan dets verden fungerer i detaljer men man behøver kun at vide hvordan man bruger dets verden Vi tager alle funktionerne ud af programmet og lægger dem i et modul. Når vi skal skrive programmer om muslinger, importerer vi modulet.

52 Et muslingemodul #en verden af lister og tal def KoekkenUdstyr(): return ([],[],[]) def NogleMuslinger(): return [1,0,0,1,0,1,0,] def TagOpAf(enKontainer): EtElement = enkontainer[0] del enkontainer[0] return EtElement def LaegI(etElement,enKontainer): enkontainer.append(etelement) def FyldMed(enKontainer, etindhold): enkontainer.extend(etindhold) def Toem(enKontainer): del(enkontainer[:]) def DerErNogetI(enKontainer): return enkontainer <> [] def ErLukket(etElement): return etelement == 0 def KoekkenTilstand(spand, gryde, affaldspose): print ''' spandens indhold: %s. Grydens indhold: %s. Affaldsposens indhold: %s''' % (spand, gryde, affaldspose)

53 Et program der bruger muslingemodulet from muslingemodul import * (spand, gryde,affaldspose) = KoekkenUdstyr() FyldMed(spand,NogleMuslinger()) Toem(gryde) Toem(affaldspose) KoekkenTilstand(spand, gryde, affaldspose) while DerErNogetI(spand): enmusling = TagOpAf(spand) Vi kan nu næsten skrive if ErLukket(enmusling): programmet i et sprog som LaegI(enmusling,gryde) hører til muslingetilberedning else: LaegI(enmusling,affaldspose) KoekkenTilstand(spand, gryde, affaldspose)

54 Hvad skete der? Vi fik skabt kohærens kohærens forekommer når teksten har et tema der kan arrangeres i simple symmetriske strukturerer med et begrænset sæt af dimensioner. Dimensionerne kaldes for tekstens isotopi fordi de er meninger som kommer igen i mange sætninger og ord. (tak til Ole Togeby: Praxt 1992) Symmetrier: Isotopier: TagOpAf(enKontainer) vs LaegI(etElement,enKontainer) FyldMed(enKontainer, etindhold) vs Toem(enKontainer) Ned i eller op af en kontainer Fyldt eller tom Ingen eller flere muslinger Åben eller lukket

55 Kommentarer & Docstring Kommentarer i pythonprogrammer starter med # Kommentarer ignoreres af fortolkeren Docstring er en kommentar der gemmes med koden def funktion(): Dette er en docstring pass

56 Docstring dir() an alphabetized list of names comprising (some of) the attributes of the given object, and of attributes reachable from it dir(str), dir(list) help(str.startswith) Dir(muslingemodul) Help(muslingemodul) Help(muslingemodul.LaegI)

57 Muslingemodulet '''Dette modul tilvejebringer metoder til tillavning af muslinger. Koekkenudstyr: Ingenting --> liste, liste, liste. Returnerer tre lister TagOpAf: Liste --> element LeagI: Element, Liste --> ingenting. Tilfoejer elementet til listen FyldMed: Liste1, Liste2 --> Ingenting. Tilføjer Liste2 til Liste 1 Toem: Liste --> ingenting. Toemmer listen DerErNogetI: Liste --> True eller False. Sand hvis listen ikke er tom ErLukket: Element --> True eller False. Sand hvis elementet er 0 KoekkenTilstand: Printer køkkentilstanden ud'''

58 Dir >>> dir(muslingemodul) ['DerErNogetI', 'ErLukket', 'FyldMed', 'KoekkenTilstand', 'KoekkenUdstyr', 'LaegI', 'TagOpAf', 'Toem', ' builtins ', ' doc ', ' file ', ' name ']

59 Help help(muslingemodul) Help on module muslingemodul: NAME muslingemodul FILE c:\documents and settings\imvpba\my documents\dokumenter\undervisning\underv. årh\e06\programmering\peters slides\muslingemodul.py DESCRIPTION Dette modul tilvejebringer metoder til tillavning af muslinge Koekkenudstyr: Ingenting --> liste, liste, liste. Returnerer tre lister TagOpAf: Liste --> element LeagI: Element, Liste --> ingenting. Tilfoejer elementet til listen FyldMed: Liste1, Liste2 --> Ingenting. Tilføjer Liste2 til Liste 1 Toem: Liste --> ingenting. Toemmer listen DerErNogetI: Liste --> True eller False. Sand hvis listen ikke er tom ErLukket: Element --> True eller False. Sand hvis elementet er 0 KoekkenTilstand: Printer køkkentilstanden ud FUNCTIONS DerErNogetI(enKontainer) ErLukket(etElement) FyldMed(enKontainer, etindhold) KoekkenTilstand(spand, gryde, affaldspose) KoekkenUdstyr() LaegI(etElement, enkontainer) TagOpAf(enKontainer) Toem(enKontainer)

60 Docstrings I muslingemodulet def LaegI(etElement,enKontainer): '''læg noget ned i kontainer''' enkontainer.append(etelement) >>> help(muslingemodul.laegi) Help on function LaegI in module muslingemodul: LaegI(etElement, enkontainer) læg noget ned i kontainer

61 Øvelse 4..\øvelser\øvelser\øvelse 4.doc

Introduktion til programmering. Uge 38 Python 2 Learning Python, kap 8-12.

Introduktion til programmering. Uge 38 Python 2 Learning Python, kap 8-12. Introduktion til programmering Uge 38 Python 2 Learning Python, kap 8-12. Plan Sidste gang Sætninger og udtryk Kontrolstrukturer Selektion If : Gentagelse While : For : Funktioner Dokumentation Anden obligatoriske

Læs mere

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

Introduktion til programmering. Uge 39 Python I Learning Python, kap 4-7.

Introduktion til programmering. Uge 39 Python I Learning Python, kap 4-7. Introduktion til programmering Uge 39 Python I Learning Python, kap 4-7. Plan Hvad er et Python program Udtryk Værdier og Datatyper Stand-up programmering Filer Øvelse 3 Fortolkning/compilering Python

Læs mere

Introduktion til programmering. Afslutning

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

Introduktion til programmering. Uge 37 Python I Learning Python, kap 4-7.

Introduktion til programmering. Uge 37 Python I Learning Python, kap 4-7. Introduktion til programmering Uge 37 Python I Learning Python, kap 4-7. Plan Sidste gang Hvad er et Python program Udtryk Værdier og Datatyper Filer Første obligatoriske øvelse Sidste gang Computerens

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

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

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

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

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

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

Introduktion til programmering. Uge 39 Python I Learning Python, kap 4-7.

Introduktion til programmering. Uge 39 Python I Learning Python, kap 4-7. Introduktion til programmering Uge 39 Python I Learning Python, kap 4-7. Plan Hvad er et Python program Udtryk Værdier og Datatyper Øvelse Lister og dictionarys Stand-up programmering Filer Øvelse Fortolkning/compilering

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

It og informationssøgning Forelæsning september 2006 Nils Andersen. Underprogrammer og betingelser. Standardfunktioner, typeomsætning

It og informationssøgning Forelæsning september 2006 Nils Andersen. Underprogrammer og betingelser. Standardfunktioner, typeomsætning It og informationssøgning Forelæsning 2 13. september 2006 Nils Andersen Underprogrammer og betingelser Standardfunktioner, typeomsætning Funktionskald Moduler, lange navne Brugerdefinerede funktioner

Læs mere

Forelæsning Uge 2 Mandag

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

It 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 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 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

Sproget Rascal (v. 2)

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

Læs mere

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

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

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Øvelse 9. Klasser, objekter og sql-tabeller insert code here Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til

Læs mere

Forelæsning Uge 2 Mandag

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

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

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

Læs mere

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

Kommentarer til opgave 4-6

Kommentarer til opgave 4-6 Kommentarer til opgave 4-6 Opgaverne er stort set OK. De viser at tankegangen er rigtig. Nogle programmer virker ikke, men kræver blot en enkelt rettelse. De bliver godkendt, men I bør selv altså gøre

Læs mere

Introduktion til programmering. Intro

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

Programmering i C. Lektion oktober 2008

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

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (i mandags) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

Læs mere

Uge 36 Intro Kap 0 og 2 i Computer science

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

Kursus 02199: Programmering. Kontrol af programudførelsen. afsnit 3.1-3.5. if (indkomst > 267000) topskat = (indkomst-267000) * 0.

Kursus 02199: Programmering. Kontrol af programudførelsen. afsnit 3.1-3.5. if (indkomst > 267000) topskat = (indkomst-267000) * 0. Kursus 02199: Programmering afsnit 3.1-3.5 Anne Haxthausen IMM, DTU 1. Kontrol af programudførn (afsnit 3.1) 2. Valg-sætninger (if og switch) (afsnit 3.2 og 3.3) 3. Bloksætninger (afsnit 3.2) 4. Logiske

Læs mere

DDD Runde 2, 2015 Facitliste

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

Læs mere

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

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

Læs mere

Baggrundsnote om logiske operatorer

Baggrundsnote om logiske operatorer Baggrundsnote om logiske operatorer Man kan regne på udsagn ligesom man kan regne på tal. Regneoperationerne kaldes da logiske operatorer. De tre vigtigste logiske operatorer er NOT, AND og. Den første

Læs mere

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

Sproget Limba. Til brug i G1 og K1. Dat1E 2003

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

Noter til C# Programmering Selektion

Noter til C# Programmering Selektion Noter til C# Programmering Selektion Sætninger Alle sætninger i C# slutter med et semikolon. En sætning kontrollerer sekvensen i programafviklingen, evaluerer et udtryk eller gør ingenting Blanktegn Mellemrum,

Læs mere

Sproget 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 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 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

Forelæsning Uge 2 Mandag

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

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

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk 1 Studiepraktik -- program Program onsdag 10.00 10.15 Registrering af fremmøde og gennemgang

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

Forelæsning Uge 2 Mandag

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

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

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

Læs mere

Programmering i C. Lektion september 2009

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

Programmering i C. Lektion november 2008

Programmering i C. Lektion november 2008 Programmering i C Lektion 3 18. november 2008 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler Kontrolstrukturer Udvælgelse Gentagelse

Læs mere

It og informationssøgning Forelæsning december 2006 Jakob Grue Simonsen. Diverse emner af almen interesse

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

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

Aarhus Universitet, Science and Technology, Computer Science. Mock Exam. Wednesday 27 June 2018, 9:00-11:00 Page 1/15 Aarhus Universitet, Science and Technology, Computer Science Mock 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

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

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

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

Læs mere

Klasser og objekter. (Afsnit i manualen)

Klasser og objekter. (Afsnit i manualen) Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser

Læs mere

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige

Læs mere

Hent filoplysninger fra billeder og filer

Hent filoplysninger fra billeder og filer Hent filoplysninger fra billeder og filer I denne vejledning bliver det gennemgået, hvordan man via Power Forespørgsel kan hente filoplysninger fra en mappe ind i Excel. Der skal opbygges følgende elementer:

Læs mere

Programmeringscamp. Implementer funktionerne én for én og test hele tiden.

Programmeringscamp. 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 mere

It og informationssøgning Forelæsning oktober 2006 Jakob Grue Simonsen. Klasser

It og informationssøgning Forelæsning oktober 2006 Jakob Grue Simonsen. Klasser It og informationssøgning Forelæsning 7 25. oktober 2006 Jakob Grue Simonsen Klasser Downey, Elkner & Meyers: Chapt. 12-14 Andersen & Simonsen: kap. 7 Vi har tidligere set, at Python tilbyder en række

Læs mere

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

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

It og informationssøgning Forelæsning november 2006 Nils Andersen. Regulære udtryk og formelle sprog

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

01017 Diskret Matematik E12 Alle bokse fra logikdelens slides

01017 Diskret Matematik E12 Alle bokse fra logikdelens slides 01017 Diskret Matematik E12 Alle bokse fra logikdelens slides Thomas Bolander 1 Udsagnslogik 1.1 Formler og sandhedstildelinger symbol står for ikke eller og ( A And) hvis... så... hvis og kun hvis...

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

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

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

26 Programbeviser I. Noter. PS1 -- Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler.

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

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

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

Læs mere

Noter til C# Programmering Iteration

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

Læs mere

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

Import af rekursivt (parent-child) hierarki i Palo

Import af rekursivt (parent-child) hierarki i Palo Import af rekursivt (parent-child) hierarki i Palo Dette dokument beskriver hvordan et simpelt rekursivt (parent-child) hierarki kan importeres ind i Palo på forskellige måder via SQL og samtidig bibeholde

Læs 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

Løsning af møntproblemet

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

Læs mere

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

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

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

LØKKER METODER C S HISTORIE. Grundlæggende programmering Lektion 4

LØ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 mere

3 Algebraisk Specifikation af Abstrakte Datatyper.

3 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 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

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Klassevariabler og klassemetoder Levetid for variabler og parametre Virkefeltsregler Projektopgave Kaninjagt Lommeregner (for MAT studerende) Klassevariabler og klassemetoder

Læs mere

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige

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

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

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens Programmering 1999 Forelæsning 3, tirsdag 7. september 1999 Aritmetiske og logiske operatorer, præcedens Den indbyggede klasse String: tegnstrenge Metoder i klasser Metoder: returtype eller void Metoder:

Læs mere

Kursusarbejde 1 Grundlæggende Programmering. Arne Jørgensen, 300473-2919 klasse dm032-1a

Kursusarbejde 1 Grundlæggende Programmering. Arne Jørgensen, 300473-2919 klasse dm032-1a Kursusarbejde 1 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 3. oktober 2003 Kode //File Name: kaalhovede.cc //Author: Arne Jørgensen //Email Address: arne@arnested.dk, arnjor@niels.brock.dk

Læs mere

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database Øvelse 10. Dynamiske web-sider og cgi-modulet I denne opgave skal vi bygge de foregående opgaver sammen til en mini-udgave af det samlede system I skal aflevere til vintereksamen. klient Forespørgsel/

Læs mere

DM13-1. Obligatorisk opgave E.05. Jacob Aae Mikkelsen

DM13-1. Obligatorisk opgave E.05. Jacob Aae Mikkelsen DM13-1. Obligatorisk opgave E.05 Jacob Aae Mikkelsen - 191076 26. september 2005 Indhold Analyse af problemstillingen........................ 2 Spørgsmål 1................................. 3 Spørgsmål

Læs mere

Programmering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale

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

It og informationssøgning Forelæsning 7 1. november 2006 Jakob Grue Simonsen. Indlejring og Nedarvning

It og informationssøgning Forelæsning 7 1. november 2006 Jakob Grue Simonsen. Indlejring og Nedarvning It og informationssøgning Forelæsning 7 1. november 2006 Jakob Grue Simonsen Indlejring og Nedarvning Downey, Elkner & Meyers: Chapt. 15-16 Andersen & Simonsen: kap. 8 Vi har tidligere set løkker af forskellig

Læs mere

Ugeseddel 4 1. marts - 8. marts

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

#AlleKanKode. Lektion 4 - Kontrol flow

#AlleKanKode. Lektion 4 - Kontrol flow #AlleKanKode Lektion 4 - Kontrol flow Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger osv. Andre

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

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

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

Læs mere

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

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

Fundamentale sprogbegreber

Fundamentale sprogbegreber Fundamentale sprogbegreber Sætninger og udtryk Niveauer af programbeskrivelse (statisk versus dynamisk syn) Oversigt Sætninger simple sætninger (assignment, metodekald) sammensatte sætninger (selektion,

Læs mere

Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune

Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune Værktøjer fra værktøjskassen Søren Breddam, Stevns Kommune sb@stevns.dk 1stevns kommune Mapbasic i Stevns Kommune Data Kørsel af planlagte opgaver, så data altid er opdaterede. Logfil til overvågning Dagligt

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

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

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

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1 Spørgsmål 1 Grundlæggende objektorienterede begreber o Klasse (class) o Objekt (object) o Metode (method), herunder return type og parametre o Instansvariable (instance variables) & egenskaber (properties),

Læs mere

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

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

Læs mere