Introduktion til programmering. Uge 39 Python I Learning Python, kap 4-7.
|
|
|
- Margrethe Larsen
- 9 år siden
- Visninger:
Transkript
1 Introduktion til programmering Uge 39 Python I Learning Python, kap 4-7.
2 Plan Hvad er et Python program Udtryk Værdier og Datatyper Stand-up programmering Filer Øvelse 3
3 Fortolkning/compilering Python er et fortolket sprog, der kan afvikles interaktivt i IDLE eller ud fra en fil med programkoden Muliggør en hurtig måde at skrive programmer på, først interaktivt så som script Interpretant: Fortolker Repræsentamen Program Objekt Databehandlingsprocesser
4 Installering af Python Jeg bruger Python Idle er et interaktivt program til afvikling af Python programmer Findes i mappen idlelib under Lib under Python25.
5 Idle xx Jeres egne kommandoer Pythons prompt
6 Idle Denne menu bruger I til at lave en file der indeholder et python-program Husk at tilføje.py når I gemmer filen
7 Hvad er et Python program? En sekvens af repræsentationer Udtryk som repræsenterer en værdi De fleste værdier i Python er objekter Sætninger (statements) som udvirker databehandling. Sekvensen udføres i rækkefølge Rækkefølgen styres af kontrolstrukturer Gentagelse, selektion Sekvenser kan grupperes (klasser og funktioner: indkapsling)
8 Muslinge programmet while spand <> []: enmusling = spand[0] del spand[0] if enmusling == 0: gryde.append(enmusling ) else: affaldspose.append(enmusling ) Rækkefølge Gentagelse Selektion Spand, gryde og affaldspose repræsenterer lister af nuller og etter
9 Programmer Data Kode Udføres fra start til slut (hele sekvensen) Kan være i en ventetilstand Typisk for interaktive programmer. De bruger mest af tiden til at vente på brugerinput cpr = raw_input( Type a word: ) #venter til der tastes input ind Består af udtryk(data) og sætninger(kode) spand = [1,0,0,1,0,1,0,0] gryde = [] affaldspose = [] while spand <> []:
10 Reminder fra første forelæsning Computerens definerende bestanddele Aritmetisk-logisk enhed Kontrol enhed Hukommelse In- og Output Bus von Neumann-arkitektur Program og data er af samme slags Mest udbredte arkitektur nutildags
11 Program og data Den samme tekst kan opfattes som data og som program >>> command = 'print "Peter" Som data >>> exec command Peter Som program Det kender vi også fra naturlige sprog. Vi kan tale om det vi gør. Jeg beder dig om at komme Som data Kom nu! Som program
12 Værdier Det grundlæggende element i Python er værdier der tilhører bestemte typer Værdier er næsten altid objekter Eksempler på typer: Et tal eller en tekst (string) Nogle typer er indbyggede, andre er defineret af programmøren Tal og tekst er to grundlæggende indbyggede typer Vi refererer til værdier ved hjælp af navne (variable) Interpretant: Python fortolkeren Repræsentamen: navn Objekt: værdi/objekt
13 Værdier og typer >>> navn = 'peter >>> telefon = >>> navn 'peter >>> telefon >>> type(navn) <type 'str'> >>> type(telefon) <type 'int'> Type: tekst (string), markeret ved apostrofferne Type: heltal Vi kan checke hvilken type værdien er ved hjælp af type
14 Direkte og indirekte reference >>> id(navn) >>> id(telefon) >>> help(id) Vi får fat i navnets direkte reference ved hjælp af id Vi kan få hjælp til alle sprogelementer ved hjælp af help Help on built-in function id in module builtin :id(...) id(object) -> integer. Return the identity of an object. This is guaranteed to be unique among simultaneously existing objects. (Hint: it's the object's memory address.)
15 Direkte og indirekte reference >>> navn peter >>> id(navn) navn Interpretant: Python peter Representamen: navn Objekt: : Representamen Objekt: peter Interpretant: Python
16 Tildeling (assignment) Variable opstår ved at der bliver tildelt en værdi til dem = er tildelingsoperatoren Variable skal tildeles en værdi før de kan benyttes >>> navn = Peter >>> print navn (OK, navnet er oprettet) >>> print nytnavn (FEJL, nytnavn ikke tildelt en værdi) Traceback (most recent call last): File "<interactive input>", line 1, in? NameError: name 'nytnavn' is not defined
17 Operationer Værdierne manipuleres ved hjælp af operationer print udskriver værdien >>> navn = Peter >>> print navn Peter >>> navn Peter
18 Navne Først: bogstav eller understregning (_) Dernæst: et vilkårligt antal bogstaver, understregninger, eller tal. Rigtigt: builtin, navn, _navn_, navn1 Galt: 1peter = 'x' ^SyntaxError: invalid syntax Reserverede ord kan ikke benyttes: While, if, elif, print, Der er 29 i alt (se bogen side 137)
19 Tildeling igen Da variable er indirekte referencer kan to variable referere til den samme objekt Navnet refererer først til en lokation i lageret Lagerlokationen refererer til objektet >>> statsminister = 'fogh >>> venstreformand = statsminister Representamen: Venstreformand Representamen: Statsminister Objekt: Representamen Objekt: Fogh
20 Ækvivalens og identitet >>> venstreformand = 'anders fogh rasmussen >>> statsminister = 'anders fogh rasmussen To forskellige objekter der har samme bogstaver og derfor er ækvivalente >>> venstreformand is statsminister False Is checker om de to objekter er identiske >>> venstreformand == statsminister True == checker om to objekter er ækvivalente, her: indeholder samme bogstaver >>> venstreformand = statsminister >>> venstreformand is statsminister True Gælder ikke for korte strenge!
21 Garbage collection Hvor mange navne refererer til objetket fogh? 3 3 >>> sys.getrefcount(statsminister) >>> sys.getrefcount(venstreformand) Vi kan slette statsminister s direkte reference uden at slette den indirekte 2 >>> del(statsminister) >>> statsminister Traceback (most recent call last): File "<interactive input>", line 1, in?nameerror: name 'statsminister' is not defined >>> sys.getrefcount(venstreformand) >>> venstreformand 'fogh Når ingen navne refererer til en værdi slettes den. Garbage collection
22 Dynamiske typer I nogle programmeringssprog skal man angive hvilken type en variabel skal have String x = Anders Fogh Rasmussen Det gælder ikke i Python. Her kan en variabel indeholde forskellige værdier >>> x = Anders Fogh Rasmussen >>> x = 12 Men objekterne har stadig en type! Stærk typet vs dynamisk typet sprog
23 Årsag Stærkt typede sprog har direkte reference. Tallet 12 fylder mindre end en tekst på 50 linjer. Der skal derfor reserveres mere plads til det første end til det sidste. Dynamisk typede sprog har alle samme slags direkte reference: et tal der angiver adressen i lageret på navnets værdi/objekt.
24 Typer De operationer der kan foretages på et objekt afhænger af hvilken type det er Polymorfi >>> Peter + Boegh Peter Boegh >>> Det kender vi også fra de naturlige sprog Ole sad på stolen Ole kørte til Århus på 20 timer
25 Typer Det er muligt at tvinge en type til at være en anden type Eks. tvinge en tekst (string) til at være et tal (int) >>> x = 12 >>> y = int(x) >>> str(int('2')+int('3'))+' kroner 5 kroner >>> '2'+'3'+' kroner '23 kroner' Vi ændrer interpretanten - måden værdien fortolkes på
26 Typer Umulige ændringer giver en fejl >>> x = Morten >>> y = int(x) Det er ikke altid let at skelne mellem mulige og umulige ændringer >>> x = ['a','b','c'] >>> x ['a', 'b', 'c'] >>> y = str(x) >>> y ['a', 'b', 'c'] >>> y[0] '[ >>> x[0] 'a'
27 Datatyper er tolkninger af bitmønstre Interpretant: regler for tekstbehandling >>> x = 12 >>> y = int(x) Repræsentamen: x Objekt: 12 Interpretant: regler for talbehandling Repræsentamen: y Objekt: 12
28 Typer Simple typer Tekst (string, str), tal (integer, int ) Scalarer vs compound Scalarer = tal, tekst(string): består ikke af mindre selvstændige dele Compound = lister, tupler, dictionaries: består af mindre selvstændige dele Mutable vs immutable Mutable = lister, dictionaries: kan ændres Immutable = tal, tekst, tupler: kan ikke ændres
29 String Opfører sig lidt som en Compound-type Er immutabel Kan opfattes som en sekvens af bogstaver >>> navn = PETER Vi ser fra nu af bort fra den indirekte reference!
30 Indexering >>> navn = 'PETER >>> len(navn) 5 >>> navn[0] 'P >>> navn[len(navn)-1] 'R >>> navn[-1] 'R >>> navn[-2] 'E
31 Ændring af strenge Man kan ikke ændre bogstaverne ved strenge: >>> 'peter'[1] = 'a' Traceback (most recent call last): File "<pyshell#7>", line 1, in -toplevel- 'peter'[1] = 'a' TypeError: object does not support item assignment Det kan man godt ved lister >>> a = [1,2,3] >>> a[1] = 6 >>> a [1, 6, 3] Hvis man vil ændre på en streng må man bygge en nye af den gamle >>> a = 'peter' >>> b = a.replace('e','a',1) >>> a 'peter' >>> b 'pater'
32 Intervaller, slicing Navn[fra og med: til men ikke med] Navn = PETER >>> navn[0:3] 'PET >>> navn[:3] 'PET >>> navn[2:4] 'TE >>> navn[2:] 'TER >>> navn[:] 'PETER
33 Slicing >>> navn[:] 'PETER' >>> navn[::2] 'PTR >>> navn[::-1] 'RETEP'
34 String funktioner >>> navn = 'PETER >>> tal = '123 >>> navn.isalpha() True >>> tal.isalpha() False >>> tal.isdigit() True
35 Dot-notationen Alle værdier er objekter der tilhører en klasse (kommer senere!) Et objekt har egenskaber og metoder tilknyttet Help-funktionen giver en liste over klassens metoder Navn PETER Navn.isdigit() Navn.split() isalpha isdigit split
36 Help >>> help(str) Help on class str in module builtin : class str(basestring) str(object) -> string capitalize(...) S.capitalize() -> string Return a copy of the string S with only its first character capitalized. isalpha(...) S.isalpha() -> bool Return True if all characters in S are alphabetic and there is at least one character in S, False otherwise. isdigit(...) S.isdigit() -> bool Return True if all characters in S are digits and there is at least one character in S, False otherwise.
37 Stringfunktioner >>> opdeling = 'peter boegh andersen'.split(' ') >>> opdeling ['peter', 'boegh', 'andersen'] y.find(x) returnerer indexet for første forekomst af x in y. >>> andetord = 'peter boegh andersen'.find(' ') >>> andetord 5 >>> fornavn = 'peter boegh andersen'[:andetord] >>> fornavn 'peter efternavn = 'peter boegh andersen'[andetord:] >>> efternavn ' boegh andersen'
38 Værdisammenligninger a < b ; a > b ; a <= b ; a >= b ; a == b; a!= b ; a <> b Tal: numerisk sammenligning Tekst: alfabetisk sortering ( a < b < c < d...)
39 Boolean Efter George Boole Alt hvad er giver svaret True eller False Boolean-typen er ny i python 2.3 Før: 0 og 1 >>> a == b False >>> a < b... True
40 Sekvenser Containere, kan indeholde mange værdier String kan opfattes som en form for sekvens slicing, indexering kan kun indeholde tegn Andre sekvenser: lister, tupler, dictionaries
41 Lister Tom liste: L = [] >>> navn = ['peter','boegh','andersen'] >>> navn[0] 'peter >>> navn[1] 'boegh >>> navn[1:] ['boegh', 'andersen'] Indexering og slicing >>> person = [navn, 59] >>> person [['peter', 'boegh', 'andersen'], 59] Lister er heterogene containere der kan indeholde værdier af mange forskellige slags, også andre lister
42 Lister kan ændres >>> person [['peter', 'boegh', 'andersen'], 59] >>> person.remove(59) >>> person.append(60) Kan også gøres således: person[1] = 60 >>> person[1] 60 >>> person[0][1] 'boegh >>> del(person[0][1]) >>> person [['peter', 'andersen'], 60]
43 Også udtryk har tilknyttet værdier 'boegh ['peter', 'boegh', 'andersen [['peter', 'boegh', 'andersen'], 59] Person [0] [1]
44 Lister kan ændres >>> person.sort() >>> person [60, ['peter', 'boegh', 'andersen']] >>> person[1].sort() >>> person [60, ['andersen', 'boegh', 'peter']]
45 Tupler er (næsten) som lister, men er immutable (kan ikke ændres) navn = ( peter, boegh ) navn[1]= Olsen ikke tilladt TypeError: object does not support item assignment Tupel med et element: ( Peter,) >>> navn = ('peter') >>> navn 'peter >>> type(navn) <type 'str'> >>> navn = ('peter',) >>> type(navn) <type 'tuple'>
46 Dictionary/ordbog Associative map: afbilder nøgler på værdier Indexering efter nøgler, ikke efter position >>> ordbog = {} >>> ordbog['hest'] = 'horse >>> ordbog['ko'] = 'cow >>> ordbog {'ko': 'cow', 'hest': 'horse'} >>> ordbog['ko'] cow Meget anvendelig
47 Dictionary/ordbog >>> ordbog.keys() ['ko', 'hest'] >>> 'ko' in ordbog.keys() True >>> ordbog.values() ['cow', 'horse'] >>> ordbog.get('ko','findes ikke') 'cow >>> ordbog.get('so','findes ikke') 'findes ikke'
48 Dictionary Værdierne kan selv være en dictionary >>> medarbejderliste = {} >>> medarbejderliste['peter boegh andersen'] = {'telefon': ,' ':'[email protected]'} >>> medarbejderliste {'peter boegh andersen': {' ': '[email protected]', 'telefon': } } >>> medarbejderliste['peter boegh andersen'] {' ': '[email protected]', 'telefon': } >>> medarbejderliste['peter boegh andersen'][' '] '[email protected]'
49 Dictionary dictionary Nøgle: Peter Boegh Andersen Værdi: dictionary Nøgle: Værdi: Nøgle: telefon Værdi:
50 Stand-up programmering 1 rækker Lav din egen database med et select-kald Databasen: en liste af ordbøger tabel = kolonner [{'fornavn':'peter','efternavn':'andersen','adresse' :'Vestergade'}, {'fornavn':'karen','efternavn':'jensen','adresse':'o estergade'}, {'fornavn':'hans','efternavn':'karlsen','adresse':'v estergade'}]
51 Stand-up programmering 2 kolonnenavne = ['fornavn'] betingelse = {'adresse':'vestergade'} Skriv en algoritme der udskriver de ønskede kolonner i alle rækker hvor betingelsen er opfyldt Eks: Udskriv fornavne på alle der bor på vestergade. Problemløsning del og hersk: Opdel et problem i mindre problemer Forsæt indtil du når til små problemer du kan programmere dig ud af.
52 Løsning 1 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':'andersen'}#de betingelser en raekke skal opfylde #opgave: Skriv en algoritme der udskriver #1. de oenskede kolonner i #2. alle raekker hvor alle betingelser er opfyldt (en AND-betingelse) #generel loesning på AND-betingelsen #delproblem 2: alle raekker hvor alle betingelser er opfyldt resultat = [] #gennemloeb alle raekker i tabellen for raekke in tabel: #gaet paa at raekken er OK success = True #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 var ikke OK alligevel success = False #hop ud af loekken break if success == True: #hvis raekken var OK tilfoej raekken til resultatet resultat.append(raekke)
53 Løsning 2 print 'Alle raekker der opfylder alle betingelserne' print ' ' print resultat #delproblem 1: de oenskede kolonner i resultatet for raekke in resultat: #gennemloeb alle raekker i resultatet for stikord in raekke.keys(): #gennemloeb alle stikord i raekken if not(stikord in kolonnenavne): #hvis stikordet ikke forekommer i listen over de oenskede kolonnenavne, fjern den raekke.pop(stikord) print print 'Alle alle de oenskede kolonner' print ' ' print resultat
54 Output Alle raekker der opfylder alle betingelserne [{'efternavn': 'Andersen', 'fornavn': 'Peter', 'adresse': 'Vestergade'}] Alle alle de oenskede kolonner [{'efternavn': 'Andersen', 'fornavn': 'Peter'}]
55 Input cpr = raw_input(' Skriv Cpr:') Skriv Cpr:
56 Filer Filens navn: entekst.txt Filens indhold: Der var en gang en mand han boede i en spand og spanden var af ler nu kan jeg ikke mer >>> myfile = open('c:/python24/pythonfiles/38/entekst.txt','r') >>> myfile.readline() 'Der var en gang en mand\n >>> myfile.readline() 'han boede i en spand\n >>> myfile.readlines() ['og spanden var af ler\n', 'nu kan jeg ikke mer'] Den komplette sti ned til filen
57 Filer import sys filename = raw_input('indtast navn på file: ') myfile = open(filename,'r') aline = myfile.readline() nol = 0 now = 0 while aline <> '': nol += 1 thewords = aline.split(' ') now = now + len(thewords) aline = myfile.readline() print 'The number of lines is ' + str(nol) print 'The number of words is ' + str(now) Indtast navn på file: entekst.txt The number of lines is 1 The number of words is 5 >>> Hvis filen ligger i samme mappe som Pythonprogrammet behøver man ikke at angive file-stien
58 Fil-objekter repræsenterer en file på disken Representamen: myfile myfile File-objekt: Ikke persistent random access (RAM) interpretant: operativsyst emets filesystem Objekt: en file entekst.txt File: Persistent sekventielt lager: Harddisk, floppy disk, CD-rom
59 Metoder Open, close Mode: 'r : read 'w : write 'a : tilføje til slutningen Seek: flytter læse og skrivehovedet >>> myfile.readlines() ['og spanden var af ler\n', 'nu kan jeg ikke mer'] >>> myfile.readlines() [] >>> myfile.seek(0) >>> myfile.readlines() ['Der var en gang en mand\n', 'han boede i en spand\n', 'og spanden var af ler\n', 'nu kan jeg ikke mer']
60 Metoder Skrivning >>> myfile = open('c:/python24/pythonfiles/38/entekst.txt','w') >>> myfile.write('der var ikke nogen mand') >>> myfile.close() >>> myfile = open('c:/python24/pythonfiles/38/entekst.txt','r') >>> myfile.readlines() ['Der var ikke nogen mand']
61 Øvelse 3 Teori: værdier, tildelinger og sammenligninger, dynamiske typer, string, list, tupler, filer. Opgaven: string, list, slicing. Opgaven vedrører indtastning af informationer til systemet. Disse informationer vil typisk være strenge. Opgaven går ud på at fiske meningsfuld information ud af disse strenge og placere dem i lister som systemet senere kan bearbejde. Eksemplet er et varebestillingssystem hvor man skal kunne indtaste et vilkårligt antal varenumre, antal og datoer. Varenummer er et firecifret tal, antal er et trecifret tal og datoen et 8-cifret tal. Eksempel: , Varenummer 1000 er bestilt til i et antal af 3; varenummer 1001 er bestilt til i et antal af 10.
62 Øvelse 3 Systemet skal omdanne den enkelte indtastning til en liste med følgende elementer: varenummer, antal, dag, måned, år. Systemet skal placeret denne liste som element i en overordnet liste (som da bliver en liste af lister), således at det husker alle de indtastede bestillinger. Systemet skal blive ved at indlæse bestillinger indtil brugeren taster end. Så skal det udskrive alle de indtastede bestillinger. Det kan f.eks. køre således: type order or "end": type order or "end": type order or "end":end [['1000', '003', '31', '09', '2008'], ['1001', '010', '09', '09', '2008']] >>> Vi har ikke haft kontrolstrukturer endnu, så I får lidt hjælp: order ='' listoflist = [] while order!= 'end': order = raw_input('type order or "end":') if order!= 'end': print listoflist Det er jeres opgave at udfylde korrekt. raw_input er en indbygget funktion der prompter brugeren for input, indlæser det og returnerer en tekst streng: cpr = raw_input('type order or "end":') Aflevering: der afleveres et korrekt pyton-program.
63 Frivillig opgave Ud fra de 3 nedenstående variable a,b,c skal du bygge følgende tekststreng, kun ved at bruge slicing og concatenation: Python is a great Tool for doing Text processing De 3 variable skal være en del af din kode. a = 'pro do is' b = 'taergcessingfor' c = 'PythonTextool'
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
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æ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
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
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
Ø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
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
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
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...
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æ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æ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.
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
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.
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
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
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
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
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
Programmering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Martin Elsman Department of Computer Science University of Copenhagen DIKU September 27, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 September
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
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
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
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
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
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...
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
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
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
vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl:
Fejlhåndtering Selv de bedste programmører laver af og til fejl! Dette kommer sikkert som en overraskelse for de fleste, bortset fra de, der har arbejdet med et hvilket som helst større program. Fejl kan
#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
Introduktion Til Konkurrenceprogrammering
Introduktion Til Konkurrenceprogrammering Søren Dahlgaard og Mathias Bæk Tejs Knudsen {soerend,knudsen}@di.ku.dk Version 0.1 Indhold Indhold i Introduktion 1 1 Palindromer 3 1.1 Introduktion til Python...............
Skriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.
Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...
Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... 9 Nogle HTML tags... 9 Databaser og PHP Når vi snakker
PHP Snippets. De små korte. Skrevet af Daniel Pedersen
PHP Snippets De små korte Skrevet af Daniel Pedersen Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk
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
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
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.............................................
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 20. april, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
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/
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:
Kom godt igang med Inventar registrering
Kom godt igang med Inventar registrering (InventoryDB) (Med stregkodesupport) programmet fra PetriSoft Introduktion... 1 Inventar registrering... 2 Værktøjsudleje... 3 Service database til reperationer
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
Help / Hjælp
Home page Lisa & Petur www.lisapetur.dk Help / Hjælp Help / Hjælp General The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family. The Association
GIS indlæsning af kreditorer og betalingsform. Brugervejledning 1.0
GIS indlæsning af kreditorer og betalingsform Brugervejledning 1.0 Indhold 1 Indledning... 5 2 Opsætning af GIS grænseflade til kreditor indlæsning... 5 2.1 Oprettelse af en datastrøm... 7 2.2 Filsystem...
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,
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Udvikling af DOTNET applikationer til MicroStation i C#
Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt
Computerarkitektur. - en introduktion til computerarkitektur med LINDA
Computerarkitektur - en introduktion til computerarkitektur med LINDA [email protected] Faraz Butt [email protected] Mads Danquah [email protected] Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig
Indholdsfortegnelse 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
Programmering I Java/C#
Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren
Sortering. Sortering ved fletning (merge-sort) Del-og-hersk. Merge-sort
Sortering Sortering ved fletning (merge-sort) 7 2 9 4! 2 4 7 9 7 2! 2 7 9 4! 4 9 7! 7 2! 2 9! 9 4! 4 1 2 Del-og-hersk Merge-sort Del-og-hersk er et generelt paradigme til algoritmedesign Del: opdel input-data
Merging og Hashing (del I)
Merging og Hashing (del I) Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. API for sekventiel tilgang
Enigma. 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.............................................
Algorithms & Architectures II
Algorithms & Architectures II Algorithms & Architectures II Jens Myrup Pedersen Hans Peter Schwefel Kursusholdere Dagens lektion Overordnet mål: At etablere en forståelse for hvordan hardware og hardwarearkitekturer
HTX, RTG. Rumlige Figurer. Matematik og programmering
HTX, RTG Rumlige Figurer Matematik og programmering Vejledere: Jørn Christian Bendtsen og Karl G. Bjarnason Morten Bo Kofoed Nielsen & Michael Jokil 10-10-2011 In this assignment we have been working with
De 10 JavaScript eksamensspørgsmål
De 10 JavaScript eksamensspørgsmål I det nedenstående præsenteres de 10 JavaScript spørgsmål der sammen med relevante dele af kursets pensum vil udgøre udgangspunktet for den del af den mundtlige eksamen
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
PHP guide af Daniel Pedersen
PHP guide af Daniel Pedersen Side 1 af 12 Indholdsfortegnelse PHP guide af Daniel Pedersen Side 2 af 12 Indledning I dette hæfte finder du forklaringer til PHP funktioner, løkker, variabler samt en række
Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database
Kursusbeskrivelse Oprettelse af en Access-database Som eksempel på en Access-database oprettes en simpelt system til administration af kurser. Access-databasen skal indeholde: et instruktørkartotek et
De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML
SQL kap 6-7 + 17-20 DDL og DML 1 De vigtigste SQL-sætninger Data Definition Language (DDL) create table: opretter en ny tabel create unique index: tilføjer et index til en tabel drop table : sletter en
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2017 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 6. april, 2017 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5
Databaser og SQL Introduktion til SQL Kap 1-5 1 Dagens gang Databaser Database begreber Mapning af klasser til relationel model Normalisering Opgaver til næste gang 2 Databasebegreber A database is a:
Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer.
Merging og Hashing Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. API for sekventiel tilgang (API =
DANMARKS TEKNISKE UNIVERSITET
DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler
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
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
Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.
Mysqli Webintegrator Når vi arbejder med server-side scripting ( i vort tilfælde PHP), har vi ofte behov for at kunne tilgå data, som vi opbevarer i en database. Det kan f.eks. dreje sig om nyhederne i
Computer Science Camp
Computer Science Camp Uge 29, 2015 Ungdommens Naturvidenskabelige Forening Det faglige team Søren Dahlgaard (koordinator) Mathias Bæk Tejs Knudsen (koordinator) Kasper Fabæch Brandt Davy Leth Eskildsen
Spil Master Mind. Indledning.
side 1 af 16 Indledning. Spillet som denne rapport beskriver, indgår i et større program, der er lavet som projekt i valgfaget programmering C på HTX i perioden 9/11-98 til 12/1-99. Spillet skal give de
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til [email protected]. Besvarelsen skal
//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!
Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for
Programmering 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,
