A Python Crash Course
|
|
- Christa Baert
- 7 jaren geleden
- Aantal bezoeken:
Transcriptie
1 A Python Crash Course Dr. A.A.N. Ridder 12 september 2016 Samenvatting In dit document staan puntsgewijs een aantal kenmerken van de syntaxis van Python 2 (en veranderingen in Python 3) voor de cursus Numerical Methods in periode 2.1 van het EOR bachelor programma aan de VU. Inhoudsopgave 1 Python Opstarten Een Python Programma Uitvoeren Een Voorbeeldprogramma Python 2 versus Python Data Types Mutable versus Immutable Variabelen Types Integers Floats Strings Slicing Lists List Functies Meest Voorkomende Operaties Tussen Numerieke Types (int,long,float,complex) Tussen Serie Types (string,list,tuple) Vergelijkingen en Boolean Operaties Voorwaardelijke en Iteratie Blokken if... elif... else for while try... except Functies Globale Variabelen Recursie en Iteratie
2 8 Classes 19 9 Numerieke Methoden in Python 19 1 Python Opstarten Hier staat het voor de Python(x,y) distributie voor Windows, maar andere distributies en andere operating systemen (OS X, Linux) zijn bijna gelijk. Er zijn verschillende mogelijkheden. Python interpreter voor eenvoudige commando s en kleine programma s. Je krijgt een Windows console waarin je achter de prompt >>> één regelige commando s intikt. Vergelijkbaar met het Command Window van Matlab. IPython (interactieve Python): meer geavanceerd dan de interpreter. Bv, zogeheten magic functions kun je uitvoeren. Verder ook gebruik voor voor eenvoudige commando s en kleine programma s. De prompts worden genummerd, beginnend met In [1]. IPython QtConsole: zelfde als IPython. 2
3 IPython Notebook (Jupyter): je werkt in een web browser omgeving. Je kunt hierin documenten opstellen die tekst, Python-code en Python output integreert. Vergelijkbaar met de notebook van Mathematica. Spyder (Scientific Python Development EnviRonment): volledig geïntegreerde omgeving met een editor, object en variabele inspectie, files overzicht, console (Python, Ipython), foutaangeving, debugging,... Vergelijkbaar met Matlab IDE. 3
4 Idle (Python s Integrated DeveLopment Environment): een vereenvoudigde omgeving met minder functionaliteiten als Spyder. 1.1 Een Python Programma Uitvoeren Je schrijft Pythoncode bijna altijd in programma s die je wilt bewaren. Een Python programma wordt geschreven in een tekstbestand met behulp van een standaard teksteditor (Notepad, Wordpad), of met een programmeurs-editor (Notepad++, vim/gvim, jedit, Komodo Edit,...), of in de editor van Ipython Notebook, of in de editor van Spyder. Dat bestand bewaar je met extensie.py. Bijvoorbeeld het onderstaande is het bestand hello.py. # First Python program : hello. py from future import print_function print ( Hello, world. ) 4
5 Daarna wil je het programma uitvoeren. Pythoncode wordt niet gecompileerd, maar direct geïnterpreteerd en uitgevoerd. Dat kan ook weer op verschillende manieren. Je moet zorgen dat het current working directory dezelfde is als waarin je het bestand bewaard hebt. Als voorbeeld doen we het hier voor hello.py dat in h:\documents\nm\src staat. In een Windows shell: gebruik het cd commando om naar de juiste directory te gaan. Tik achter de prompt python hello.py. Voorbeeld met Windows PowerShell: PS H:\ > cd h:\ Documents \nm\src PS H:\ Documents \nm\src > python hello.py Hello, world. Python interpreter: >>> import os >>> os. getcwd () # controleer de huidige werkdirectory C :\\ Python27 >>> os. chdir ( h :\\ Documents \\ nm \\ src ) >>> os. getcwd () H :\\ Documents \\ nm \\ src >>> >>> execfile ( hello.py ) # voert hello.py uit Hello, world. IPython: In [ 1]: % pwd # controleer de huidige werkdirectory Out [1]: u C :\\ Users \\ arr600 In [2]: %cd h :\\ Documents \\ nm \\ src H:\ documents \nm\src In [3]: run hello.py Hello, world. IPython QtConsole: idem als IPython. IPython Notebook (Jupyter): begin een New Notebook. Ga daarin hetzelfde te werk als bij IPython. NB: Om een commando uit te laten voeren moet je de toetsen <shift> en <enter> tegelijk doen. Spyder: gebruik de knoppen om de working directory te veranderen en ga naar het menu item run of druk op de groen driehoekspijl. Idle: idem als de interpreter. Of, nadat je de working directory goed hebt, gebruik menu item open om het Python bestand te openen en gebruik dan menu item run module. 5
6 2 Een Voorbeeldprogramma Eerst een voorbeelprogramma om enige kenmerken van Python toe te lichten. Het programma berekent Fibonacci getallen. Het bestand waarin de code staat heet fib.py. De regelnummers zijn er voor het gemak bijgezet, maar die staan natuurlijk niet in het programma. 1 # Second Python program : fib. py 2 from future import print_function, division 3 from timeit import default_timer as timer 4 5 # berekent n- de Fibonacci getal 6 def fib (n): 7 a,b = 0,1 8 for i in xrange (n): 9 a,b = b,a+b 10 return a # print de eerst n Fibonacci getallen 13 # efficiente methode 14 def fibprinteff (n): 15 a,b = 0,1 16 print ( F( 0 ) =, a) 17 for i in xrange (1,n): 18 a,b = b,a+b 19 print ("F(", i, ") = ", a) print de eerst n Fibonacci getallen 23 minder efficiente methode def fibprintineff ( n): 26 for i in xrange (n): 27 print ( F(, i, ) =, fib (i)) def main (): # hoofd functie 30 k = int ( input ( Geef aan of je een enkele Fibonacci getal \ 31 wil berekenen (1) of meer getallen ( 2): )) 32 if k == 1: 33 n = int ( input (" Geef n (n-de Fibonacci getal ): ")) 34 print ( F(,n, ) =, fib (n)) 35 else : 36 n = int ( input (" Geef aantal n: ")) 37 tijdstart = timer () 38 fibprinteff ( n) 39 tijdeind = timer () 40 print (" Rekentijd efficiente methode = ",\ 41 tijdeind - tijdstart ) 42 print (" ") 43 6
7 44 tijdstart = timer () 45 fibprintineff ( n) 46 tijdeind = timer () 47 print (" Rekentijd inefficiente methode = ",\ 48 tijdeind - tijdstart ) if name == " main ": 51 main () # aanroep hoofdfunctie Regels 1,5,12,13,29,50: Alle tekst na het hekje-teken (#) wordt gezien als commentaar. NB: geldt per regel. Regels 21-24: meerregelige commentaar zet je tussen drievoudige aanhalingstekens (quotes). Regels 2-3: zie sectie 2.1. Regels 6-10: een blok van je eigen gedefinieerde functie, genaamd fib, met input argument een integer n. De functie voert het n-de Fibonacci uit (return). Functies worden gedefinieerd door def, zie regels 5,14,25,29. Geen begin en end of beginaccolade ({) en eindaccolade (}) om begin en eind van de code van de functie aan te geven, maar inspringen met een gelijk aantal spaties (standaard is 4 spaties). Regels 8-9: een blok van een for opdracht. Dit is een blok binnen het functie-blok, en dan moet je verder inspringen. Zie ook regels (for blok), regels (if else blok). Een dubbele punt (:) aan het einde van de regel die een blok aankondigt, zie bv regels 6,8,32,35. Python herkent einde van een blok opdrachten doordat de code verder gaat met minder indentatie. Zie bv regels 10,14,25,29,35,50 Regels hoeven niet te worden afgeslotem met een puntkomma (;) Het type van een variabele hoeft niet gedefinieerd te worden! Python herkent die zelf. Regel 7: verkorte korte notatie voor de toewijzingen a=0 en b=1. Zie ook regel 9. Regels 16,19: strings komen met enkele quotes ( string ) of met dubbele quotes ( string ). Geen verschil. Regel 30: het slash-teken aan het eind van een regel betekent dat het commando doorgaat op de volgende regel. Zie ook regels 40,47. Regels 37,39,44,46: timer is een Python functie om de rekentijd van de uitvoering uit te rekenen. Je moet de module aangeven waarin die functie zit (zie regel 3). Meestal gebruik je dit niet. 7
8 2.1 Python 2 versus Python 3 Een aantal belangrijke verschillen tussen Python 2 en Python 3 zijn print. In Python 2 is print een trefwoord (keyword), dus moet je schrijven print String die je wilt printen In Python 3 is print een built-in functie, en dan wordt het print ( String die je wilt printen ) Om in Python 2 dezelfde functionaliteit te krijgen zet je bovenaan het programma from future import print_function division. In Python 2 is deling van 2 integers weer een integer (eventueel door afronding naar beneden). Python 3 converteert automatisch naar floating point getal (double) indien deling niet als integer uitkomt: 9/5 wordt 1 in Python 2 en wordt 1.8 in Python 3. Ook hier heeft de Python 3 functionaliteit de voorkeur, door from future import division range en xrange. xrange wordt in Python 2 gebruikt om een rij getallen te genereren, zie regels 8,17,26: xrange(5) genereert 0, 1,..., 4 en xrange(1,5) genereert 1,..., 4. In Python 3 is deze built-in functie vervangen door range. Heb je Python 3 code die je door Python 2 laat interpreteren, dan moet je overal range vervangen door xrange. Maar eenvoudiger is aan je (Python 3) code toe te voegen try : xrange except : xrange = range Python 3 kent geen type long meer. 3 Data Types Tabel 1: Belangrijste types. type voorbeelden eigenschap integer ( int ) 4352, 345 immutable real ( float ) , 5.0 immutable complex j immutable boolean ( bool ) False, True immutable string ( str ) hallo, who immutable NoneType None immutable list [2, 6, 9.8, hallo ], mutable tuple (2, 6, 9.8, hallo ), immutable dictionary ( dict ) { Jan :25, Marie :22} mutable set set([1,4, fas,3.7,1,4, aas ]) mutable 8
9 Python 2 heeft daarnaast nog het type long integer ( long ), aangegeven door L achter het getal te zetten: 355L, -59L, etc. 3.1 Mutable versus Immutable Een immutable variabele kan niet deels gewijgigd worden, natuurlijk wel de (hele) variabele. Voorbeeld: >>> x = morgen # string >>> print (x [0]) m >>> x [0] = z Traceback ( most recent call l as t): File "<stdin >", line 1, in <module > TypeError : str object does not support item as signment >>> >>> x = goede + x # x wordt in zijn geheel gewijzigd >>> print (x) goedemorgen Bij een mutable variabele kan dat wel: >>> x = [1,2,3,4] # list >>> x [2] = -1 >>> print (x) [1, 2, -1, 4] Let op dat bij mutable variabele een toewijzing geen kopie creëert, en dus hebben veranderingen bij beide effect (dit heet variables are passed by reference). Voorbeeld (merk ook het verschil tussen x += en x = x +): >>> x = [1,2,3,4] >>> y = x >>> x [2] = -1 >>> print (y) [1, 2, -1, 4] >>> x += [5,6] >>> print (y) [1, 2, -1, 4, 5, 6] >>> x = x + [7,8] >>> print (y) [1, 2, -1, 4, 5, 6] >>> print (x) [1, 2, -1, 4, 5, 6, 7, 8] Om het memory management beter te zien, kun je de functie id() gebruiken die het adres in het geheugen retourneert: >>> x = 2 >>> y = x >>> id(x),id(y) ( , ) 9
10 >>> x = 3 >>> id(x),id(y) ( , ) >>> x = [2] >>> y = x >>> id(x),id(y) ( , ) >>> x [0] = 3 # adres van x blijft hetzelfde >>> id(x),id(y) ( , ) >>> x = [3] # x krijgt een ander adres >>> id(x),id(y) ( , ) 4 Variabelen 4.1 Types Tabel 1 geeft een overzicht van de belangrijkste types in Python. Volledige informatie krijg je bv in de interpreter door >>> help ( types ) Zoals al eerder gezegd, variabele type hoef je niet te declareren (zoals wel in Java, C, C++, Ox). Dat Python het type herkent kun je nagaan met de functie type(): >>> x =1; print ( type (x)) <type int > >>> x =1.; print ( type (x)) <type float > >>> x =1+1 j; print ( type (x)) <type complex > >>> x =[2,5.0, morgen ]; print ( type (x)) <type list > >>> x =2**10; print ( type (x)) <type int > >>> x =2**1000; print ( type (x)) < type long > # in Python 2 < type int > # in Python 3 Wil je een ander type dan wat Python zou doen, dan kun je dat aangeven: >>> x = float (6); print (x, type (x)) 6.0 <type float > >>> x = int (7.3); print (x, type (x)) 7 <type int > >>> x = str (887); print (x, type (x)) 887 <type str > >>> x [2] # check 7 10
11 4.2 Integers Een integer van type int neemt in Python 2 op de VU (Windows PC; 32 bit architectuur) een waarde aan van 2 31,..., , op een Mac (64 bit architectuur) van 2 63,..., Long integers (long) hebben feitelijk geen begrenzing. In Python 3 zijn deze twee types geïntegreerd tot één type int. Een integer van dit type kan dus zo groot worden als wilt (de begrenzing is het geheugen van je computer). 4.3 Floats Float variabelen volgen de principes van floating point numbers die uitgelegd worden in het boek, sectie 1.3. Dit onderwerp komt ook aan bod bij de colleges. 4.4 Strings Strings zijn niet belangrijk voor een vak over numerieke methoden, maar worden wel vaak gebruikt bij andere software toepassingen. Je kunt vele functies uitvoeren met strings, zie de help functie, bv help( str ). Handig zijn, de lengte van een string via len(), en de zogeheten slicing Slicing Een string is eigenlijk een serie (of volgorde) van enkelvoudige symbolen. Je kunt elk symbool afzonderlijk benaderen (indicering []), maar ook grotere delen van de string (dat heet slicing). Door slicing kun je een deel van een string selecteren of kopiëren. Voorbeelden >>> s = dit is een string >>> n = len (s); n 17 >>> x = s [ 2: 5]; x # symbolen op posities 2,3,4 t i >>> x = s [ 12:]; x # alle symbolen vanaf positie 12 tring >>> x = s [2:15:3]; x # symbolen op posities 2,5,8,11,14 tsesi >>> s[ -1] # symbool op laatste positie g Een voorbeeldprogramma: from future import print_function def main (): zin = " De eerste zin van een verhaal moet \ de aandacht van de lezer trekken " zin_zonder_klinkers = "" for letter in zin : if letter not in " AEOIUaeoiu ": zin_zonder_klinkers += letter print ( zin_zonder_klinkers ) 11
12 if name == " main ": main () 4.5 Lists Een list is een (geordende) lijst van objecten (getallen, teksten,...). Lists worden veel gebruikt in Python software. Lists worden geconstrueerd door de objecten tussen vierkanten haken,[], te zetten gescheiden door komma s. Wat dat betreft lijken ze op vectoren. En als de objecten weer lists zijn, lijken ze op matrices (zie ook voorbeelden hieronder). Voor numerieke methoden zullen we echter gebruik maken van de data types array en matrix van de module NumPy omdat we daarmee de gebruikelijke algebraïsche operaties kunnen uitvoeren (dat gaat niet met lists). Slicing van een list gaat net zo als bij strings. >>> x = [1,200, -35,40,80, -100] >>> len (x) 6 >>> x [1:5] [200, -35, 40, 80] >>> x [ -4: -1] [ -35, 40, 80] >>> x[0], x[ -1] (1, -100) >>> x += [ 999, 1000] >>> x [1, 200, -35, 40, 80, -100, 999, 1000] >>> >>> A = [[1,2,3],[4,5,6]] >>> A [0] [1, 2, 3] >>> A [0][0] 1 >>> A [0][1] 2 >>> A [1][1] 5 >>> A += [7,8] >>> A [[1, 2, 3], [4, 5, 6], 7, 8] De slicing y = x[:] creëert een kopie, en zo kun je x veranderen zonder dat y meeverandert. >>> x = [1,2,3,4]; y = x [:] >>> x [1] = 0; print (x,y) [1, 0, 3, 4] [1, 2, 3, 4] De elementen in een list hoeven niet alle hetzelfde type te hebben. >>> x = [2,3,4.4,5+6j, hallo,[9,9,9]] >>> for e in x:... print ( type (e)) 12
13 ... <type int > <type int > <type float > <type complex > <type str > <type list > List Functies Tabel 2: Enige handige functies voor lists. Veronderstel dat x = [10,20,30,40] een list is. functie beschrijving voorbeeld append(<object>) voegt object toe aan het eind x.append( cent ) count(<object>) telt aantal keer object x.count( cent ) del(<slice>) verwijdert de objecten op de slice plaatsen del(x[2:4]) extend(<list>) voegt list toe aan het eind x.extend([50,60,70]) index(<object>) geeft index van eerst optreden van object x.index(20) insert(<index>,<object>) voegt object toe vóór index x.insert(2,1000) len() retourneert de lengte len(x) pop(<index> retourneert en verwijdert het object op de index positie y = x.pop(3) remove(<object>) verwijdert eerste optreden van object x.remove( cent ) reverse() draait volgorde om x.reverse() sort() sorteert x van laag naar hoog x.sort() 5 Meest Voorkomende Operaties 5.1 Tussen Numerieke Types (int,long,float,complex) +,-,*,/: gebruikelijk. //: integer deling. %: modulo. **: machtsverheffen. x += y is equivalent aan x = x+y (idem de andere operaties). 5.2 Tussen Serie Types (string,list,tuple) De slicing is al gezien in sectie 4.4 voor strings en in sectie 4.5 voor lists. Voor tuples gaat het net zo. Ook van belang zijn (laat x,y twee variabelen van hetzelfde serietype zijn): x + y: voegt samen. n*x: serie van n keer serie x (n is positieve integer). t in x: test of object t in de serie x zit. t not in x: idem maar dan ontkennend. for t in x: itereeert over de objecten van x. 13
14 5.3 Vergelijkingen en Boolean Operaties x == y: True als x en y gelijk zijn. x!= y: True als x en y ongelijk zijn. <,>,<=,>=: gebruikelijk. x and y: logische AND, dus True als x en y allebei True zijn; anders False. x or y: logische OR, dus True als minstens een van x of y True is; anders False. not x: negatie van x, dus True als x False is; en omgekeerd. 6 Voorwaardelijke en Iteratie Blokken 6.1 if... elif... else Gebruik is net zo als in bv Java, C++, Ox, enz. De logische test hoeft niet tussen haken. En, elif,else zijn optioneel. Let wel op de indentaties, en op de dubbele punten. Voorbeeld: >>> def ITM (u):... if u <0.25:... x = 0... elif u <0.4:... x = 1... elif u <0.7:... x = 2... elif u <0.8:... x = 3... else :... x = 4... return x... >>> import random >>> u = random. random (); print ( ITM (,u, ) =, ITM (u)) ITM ( ) = 2 >>> u = random. random (); print ( ITM (,u, ) =, ITM (u)) ITM ( ) = 2 >>> u = random. random (); print ( ITM (,u, ) =, ITM (u)) ITM ( ) = 1 >>> u = random. random (); print ( ITM (,u, ) =, ITM (u)) ITM ( ) = for De gebruikelijke structuur is for item in serie : code item doorloopt de elementen van serie, beginnend met het element met index 0, en eindigend met het laatste element. serie is (meestal) xrange of range, of een string, list, tuple, array of matrix. 14
15 >>> for i in xrange ( 4):... for j in xrange (7,10):... print (i,j) Gebruik break om een for loop eerder te beëindigen namelijk als een conditie is voldaan. >>> for i in xrange ( 4):... for j in xrange (7,10):... print (i,j)... if i >0:... break while De gebruikelijke structuur is while voorwaarde : code In de code zit meestal een iteratie die het programma doet terugkeren naar de voorwaarde. Als voorbeeld een bestand, genaamd bisectie.py. # bisectie methode voor nulpunt vinden from future import print_function, division def bisfun (x): return x **3-3. 0* x def bisectie (a0,b0, tol ): a,b = a0,b0 fa,fb = bisfun (a), bisfun (b) 15
16 if fa*fb >0.0: print ( verkeerde startwaarden ) quit () i = 0 while b-a>tol : i += 1 c = 0.5*( a+b) fc = bisfun (c) if fa*fc <0: b = c else : a = c fa = fc c = 0.5*( a+b) fc = bisfun (c) return c,fc,i def main (): c,fc,i = bisectie (0,1,1.0e -8) print ( nulpunt, c, met functiewaarde, fc, \ gevonden na, i, iteraties ) if name == " main ": main () 6.4 try... except Zogeheten exception handling is een geavanceerde techniek om uitzonderingsregels in je code te krijgen. Het kan ook gebruikt worden om gevaarlijke codes (bv delen door 0) te controleren. Hier is een voorbeeld om te illustreren: >>> try :... y = 4/0... print ( uitkomst :, y)... except Zero Divisi onerr or :... print ( kan niet delen door 0 )... kan niet delen door 0 7 Functies Python heeft vele built-in functies die je vaak gebruikt, zoals print(), max(), len(), xrange(), input(), abs(),... Via def() definieer je je eigen functies zoals we al menig keer zagen. 16
17 def functienaam ( formele parameters ): code Meestal retourneert een functie output, maar dat hoeft niet. De lijst met formele parameters mag eventueel leeg zijn. In een ander deel van je programma geef je de parameters bepaalde waarden (de functie krijgt argumenten), en roep je de functie met die argumenten aan. Pas dan wordt de functie uitgevoerd. Voorbeeldprogramma: from future import print_function def def func1 (x): print ( het kwadraat van,x, is, x*x) func2 (x,y): func1 (x) return x*y def main (): x = float ( input ( Geef x: )) y = float ( input ( Geef y: )) z = func2 (x,y) print ( x*y =,z) if name == " main ": main () Variabelen in de code van een functie zijn lokale variabelen en worden niet herkend in andere functies (scoping). Hier is een voorbeeld: from future import print_function def func1 (x): y = 5 x += y return x def main (): x = float ( input ( Geef x: )) print ( x =,x) try : print ( y =,y) except : print ( y niet gedefinieerd in main () ) x = func1 (x) print ( x =,x) if name == " main ": main () De output van dit programma is Geef x:
18 x = 7.3 y niet gedefinieerd in main () x = Globale Variabelen Globale variabelen kunnen wel in verschillende functies worden aangeroepen, ze kunnen niet gewijzigd worden in die functies. Advies is om globale variabelen NIET te gebruiken, het maakt meestal de code onoverzichteloijk. from future import print_function y = 5 # globale variabele def func1 (x): x += y return x def main (): x = float ( input ( Geef x: )) z = func1 (x) print ( x =,x) try : print ( y =,y) except : print ( y niet gedefinieerd in main () ) print ( z =,z) if name == " main ": main () De output van dit programma is Geef x: 7.3 x = 7.3 y = 5 x = Recursie en Iteratie Recursie is een efficiënte en overzichtelijke wijze van rekenen en verdient daarom de voorkeur om gecodeerd te worden indien je het herkent. Er zijn twee implementatiemethoden: (i) recursieve, en (ii) iteratieve. Wegens geheugengebruik, en daardoor tijdaspect verdient de iteratieve methode de voorkeur. Bovendien heeft Python recursielimiet van Voorbeeld: # berekening van n! from future import print_function from timeit import default_timer as timer def facr (n): 18
19 if n == 1: return n else : return n* facr (n -1) def faci (n): f = n while n >1: n -= 1 f *= n return f def main (): n = int ( input ( Geef n: )) tijdstart = timer () f1 = facr (n) tijdeind = timer () print (" Rekentijd recursieve methode : ", tijdeind - tijdstart ) tijdstart = timer () f1 = faci (n) tijdeind = timer () print (" Rekentijd iteratieve methode : ", tijdeind - tijdstart ) if name == " main ": main () De output van dit programma is Geef n: 1000 Rekentijd recursieve methode : Rekentijd iteratieve methode : Classes Python beschikt ook de mogelijkheid tot object geörienteerd programmeren door middel van het class structuur waarin je objecten, data, en functies kunt definiëren. Voor numerieke toepassingen is dit minder van belang, en zal dus (in dit crash-document) worden overgeslagen. 9 Numerieke Methoden in Python Hiervoor heb je modules nodig zoals Random, Math, NumPy, Matplotlib, SciPy,... Meer hierover in het document Scientific Computing with Python dat op de site en op Blackboard staat. 19
Inleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 26, 2018 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te
Nadere informatieProgrammeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 22 april 2014
Programmeren en Wetenschappelijk Rekenen in Python Wi1205AE, 22 april 2014 Inleiding Cursus coördinator e-mail Docent e-mail : Jacco Hoekstra : J.M.Hoekstra@TUDelft.nl : Ingeborg Goddijn : I.A.M.Goddijn@TUDelft.nl
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 28, 2016 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te
Nadere informatieNiet-numerieke data-types
Intern wordt een karakter voorgesteld als een rij van acht bits, Niet-numerieke data-types string de letter a 01100001 0110 0001 0x61 97 Bij interpretatie van de inhoud van een byte als een geheel getal,
Nadere informatieOEFENINGEN PYTHON REEKS 1
OEFENINGEN PYTHON REEKS 1 Vraag 1: Python als een eenvoudige rekenmachine Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3) en
Nadere informatieVakgroep CW KAHO Sint-Lieven
Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be
Nadere informatieOEFENINGEN PYTHON REEKS 1
Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren
Nadere informatiePYTHON REEKS 1: BASICS. Mathias Polfliet
PYTHON REEKS 1: BASICS Mathias Polfliet mpolflie@etrovub.be EENVOUDIGE REKENMACHINE 2 soorten getallen Getallen Z -> integers (gehele getallen) Getallen R -> floating points (reële getallen) Door beperkte
Nadere informatiePython. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14
Python Vraag 1: Expressies en types Integrated Development Environment (IDE): Ø Wing 101 (gratis te downloaden op www.wingware.com) Oefeningen in de shell >> noemen we de prompt Python commando s = expressies
Nadere informatieProgrammeermethoden NA
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Getal opbouwen Stel je leest losse karakters (waaronder
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord December 17, 2018 Vandaag Naar aanleiding van de opdrachten Zelle hoofdstuk 11 Boolean variabelen: niet checken met == Fout: if clicked == True : gohome () Goed:
Nadere informatieOEFENINGEN PYTHON REEKS 1
Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren
Nadere informatieProgrammeermethoden NA. Week 6: Lijsten
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Getal opbouwen Stel je leest losse karakters (waaronder cijfers) en je moet daar een getal
Nadere informatieOpgaven. Python Assessment
Opgaven Python Assessment Nijmegen - Utrecht www.atcomputing.nl Copyright 2015,2016 Versie: 1a Inleiding Met dit assessment kun je controleren of je voldoende parate kennis over Python hebt om te beginnen
Nadere informatieJe gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.
1 Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. Voordat je leert programmeren, moet je jouw pc zo instellen dat
Nadere informatiePython voor Natuur- en Sterrenkundigen Week 1
Python voor Natuur- en Sterrenkundigen Week 1 Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/pmpy2015/ Wat is Python & Waarom Python? "Scripttaal", ontworpen door Guido van Rossum eind
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord en Leonie Bosveld December 19, 2016 Vandaag Naar aanleiding van de opdrachten Zelle hoofdstuk 11 Boolean variabelen: niet checken met == Fout: if clicked == True
Nadere informatieProgrammeermethoden NA. Week 5: Functies (vervolg)
Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Functies Vorige week bekeken we functies: def bereken(a, x): return a * (x
Nadere informatieArrays. Complexe datastructuren. Waarom arrays. Geen stijlvol programma:
Geen stijlvol programma: Complexe datastructuren Arrays vijf verschillende variabelen voor iets dat als één rij getallen bestempeld wordt; onbruikbaar wanneer het over meer getallen (bijvoorbeeld ) gaat.
Nadere informatieCode Voorbeeld Resultaat. print(6, end="") print(7) print(type(6)) <class 'int'> + optelling - aftrekking * vermenigvuldiging / deling 8 16 % modulo
Code overzicht Python Code Voorbeeld Resultaat print() print(6) print(6, end="") print(7) print(type(6)) 6 67 + optelling - aftrekking * vermenigvuldiging / deling // deling afgerond naar
Nadere informatieProgrammeermethoden NA
Programmeermethoden NA Week 4: Files & Functies Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Vorige week: Controlestructuren # gegeven # 0
Nadere informatieProgrammeermethoden NA. Week 5: Functies (vervolg)
Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Functies Vorige week bekeken we functies: def
Nadere informatieConstanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.
een symbolische naam voor een object. Variabelen Constanten Variabelen Expressies naam : geeft de plaats in het geheugen aan waarde : de inhoud van het object identifier : een rij van letters en/of cijfers
Nadere informatieEen korte samenvatting van enkele FORTRAN opdrachten
Een korte samenvatting van enkele FORTRAN opdrachten Inhoud 1 Introductie 3 2 De structuur van een FORTRAN programma 3 3 Datatypen, variabelen en declaraties 3 4 Expressies-volgorde van uitwerking 4 5
Nadere informatieAls een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.
HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een
Nadere informatieControle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2
Controle structuren De algemene vorm: 1 bloks door middel van indentatie Keuze Herhaling if expressie :...... In de volgende vorm is het else gedeelte weggelaten: if expressie :... Het if keuze- of conditioneel
Nadere informatieDeel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,
Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt
Nadere informatieProgrammeermethoden NA. Week 4: Files & Functies
Programmeermethoden NA Week 4: Files & Functies Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Vorige week: Controlestructuren # gegeven # 0
Nadere informatieProgrammeren met Arduino-software
Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en
Nadere informatieHOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren
HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet
Nadere informatieProgrammeren PYTHON OEFENTENTAMEN 2. Schrijf jouw antwoorden op dit tentamen. Tijd: 2 uur. Maximaal aantal punten: 32. Naam: Studentnummer:
Programmeren PYTHON OEFENTENTAMEN 2 Naam: Studentnummer: Schrijf jouw antwoorden op dit tentamen Tijd: 2 uur Maximaal aantal punten: 32 Menselijke interpreter (6 punten) 0. (1 punt) Wat is de uitkomst
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 19, 2018 Overzicht Grafische programma s en tekstgebaseerde programma s Stijladviezen (Jeff Knupp, Writing Idiomatic Python) File Processing (Zelle 5.9.2)
Nadere informatieProgrammeren. a. 0, 0, 0 b. 0, 0, 27 c. 15, 12, 0 d. 15, 12, 27
Programmeren 0. (1 punt.) Stel, een "afhankelijk kind" is een persoon is die jonger is dan 18 jaar, en hooguit 8.000 euro verdient. Welke van de onderstaande expressies definieert een afhankelijk kind?
Nadere informatieSyntax- (compile), runtime- en logische fouten Binaire operatoren
Inhoud Syntax- (compile), runtime- en logische fouten Binaire operatoren Operaties op numerieke datatypen Evaluatie van expressies, bindingssterkte Assignment operaties en short-cut operatoren Controle
Nadere informatieProgrammeren in Java les 3
4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een
Nadere informatieMINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara
MINICURSUS PHP Op dit lesmateriaal is een Creative Commons licentie van toepassing. 2017-2018 Sebastiaan Franken en Rosalie de Klerk Bambara PHP Cursus Deze cursus is om de eerste stappen in de wereld
Nadere informatieBEGINNER JAVA Inhoudsopgave
Inhoudsopgave 6 Configuratie Hallo wereld! Praten met de gebruiker Munt opgooien Voorwaarden Lussen......6 Configuratie Met deze Sushi kaarten ga je een simpel spel maken met één van de meest populaire
Nadere informatieMaak automatisch een geschikte configuratie van een softwaresysteem;
Joost Vennekens joost.vennekens@kuleuven.be Technologiecampus De Nayer We zijn geïnteresseerd in het oplossen van combinatorische problemen, zoals bijvoorbeeld: Bereken een lessenrooster die aan een aantal
Nadere informatieUniversiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren
Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int
Nadere informatieUitwerkingen. Python Assessment
Uitwerkingen Python Assessment Nijmegen - Utrecht www.atcomputing.nl Copyright 2015,2016 Versie: 1a Uitwer king 1: Elementairedatatypes 1.a Een string bevat tekst in de vorm van Unicode characters, terwijl
Nadere informatieProgrammeren. Cursus Python
Programmeren Cursus Python Cursus Python Omschrijving In deze cursus leren de deelnemers te programmeren in de objectgeoriënteerde programmeertaal Python. Python is een taal die vaak wordt gebruikt voor
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in
Nadere informatieIntroductie in R. http://www.math.montana.edu/stat/tutorials/r-intro.pdf http://www.math.montana.edu/stat/docs/splus_notes.ps
Introductie in R R is een programmeer taal met een groot aantal voorgeprogrammeerde statistische functies. Het is de open source versie van S-plus. Wij gebruiken R dan ook omdat het gratis is. Documentatie
Nadere informatieGEDETAILLEERDE INHOUD
GEDETAILLEERDE INHOUD dankwoord 17 Inleiding 19 Waarom leer je programmeren?... 19 Waarom Python?... 20 Waarom Minecraft?... 20 Wat staat er in dit boek?.... 20 Online bronnen... 22 Ga nu maar op avontuur...
Nadere informatieHet relaas van de beginnende programmeur. Het hoe en waarom van de assistent
Het relaas van de beginnende programmeur Het hoe en waarom van de assistent 1. Help, mijn code doet niks... Mogelijke oplossingen: Heb je op run geduwd (groene pijltje)? Zolang je niet op 'run' duwt, kent
Nadere informatieGebruik van command-line operating systems
Gebruik van command-line operating systems Mattias Holm & Kristian Rietveld Overzicht - Waarom hier meer over leren? - Wat is een shell? - Hoe werkt een shell? - Pipes en redirectie - Handige utilities
Nadere informatieInhoud. Informatica. Hoofdstuk 5 Scripting. Context. Editor voor Programmeercode. Scripting 1
5.1 5.2 1rste BAC Biologie Hoofdstuk 5 Inhoud Inleiding Programeerconstructies functies variabelen (toekenning) statements (print, ) controlestructuren (if, while, until, for) Oefeningen 5.3 5.4 "functionzero.zip"
Nadere informatierecursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie
Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk
Nadere informatieJe gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?
1 Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby? Voordat je begint met programmeren, moet je Ruby installeren.
Nadere informatiePersistentie via bestanden. Bestanden
programma is transient Persistentie via bestanden Administratieve gegevens zijn verzameld in het file-object: o.a. waar ergens op de disk de data van het bestand te vinden is. invoer van de gebruiker programma
Nadere informatie[8] De ene 1 is de andere niet
[8] De ene 1 is de andere niet Volg mee via 08_Types.py In de volgende leerfiche gaan we rekenen met Python. Dat kan je in een programma doen, maar dat kan je ook gewoon vanuit het Shell-venster doen.
Nadere informatieInformatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction
Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic
Nadere informatiePracticum Ox intro. Practicum Ox intro. VU Numeriek Programmeren 2.5. Charles Bos. Vrije Universiteit Amsterdam. 3 april /18
1/18 VU Numeriek Programmeren 2.5 Charles Bos Vrije Universiteit Amsterdam 3 april 2013 2/18 Overzicht Vlotte intro in Ox Hands on 3/18 Minimale elementen Minimale elementen Ox-programma: voeg de standaard
Nadere informatieinleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur
1 Inleiding inleiding theoretische informatica 2007-2008 practicum 1 deadline woensdag 20 februari 2008 om 14.00 uur Dit practicum is een kennismaking met functioneel programmeren. Twee belangrijke functionele
Nadere informatieEen spoedcursus python
Een spoedcursus python Zoals je in de titel misschien al gezien hebt, geven wij een spoedcursus Python. Door deze cursus leer je alle basics, zoals het rekenen met Python en het gebruik van strings. Het
Nadere informatieDE INTERACTIEVE SHELL
Hoofdstuk2 De interactieve shell 6 Hoofdstuk 2 DE INTERACTIEVE SHELL In dit hoofdstuk behandelen we: Integers (gehele getallen) en getallen met drijvende komma Expressies Waarden Operatoren Het evalueren
Nadere informatieAccelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368
Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368 Handleiding bij het gebruik van een microcontroller in het Accelerometerproject (Project II) Er zijn speciaal voor het Accelerometerproject
Nadere informatiehttp://www.liacs.nl/home/kosters/java/
sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/
Nadere informatieJavascript oefenblad 1
Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de
Nadere informatieKleine cursus PHP5. Auteur: Raymond Moesker
Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven
Nadere informatiePython voor Natuur- en Sterrenkundigen Week 2
Python voor Natuur- en Sterrenkundigen Week 2 Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/pmpy2015/ Vorige week range() voor karakters: import string for c in string.lowercase: print
Nadere informatieCollege Introductie
College 2016-2017 Introductie Doaitse Swierstra (Jeroen Bransen) Utrecht University September 13, 2016 Waarom is FP anders? in plaats van opdrachten die na elkaar moeten worden uitgevoerd, definiëren we
Nadere informatieTentamen Bionformatica deel A(8C074), 18 januari 2007, u.
Tentamen Bionformatica deel A(8C074), 18 januari 2007, 10.30-12.00u. Twee algemene opmerkingen Het tentamen bestaat uit 5 opgaven verdeeld over 2 pagina s. Op pagina 2 staat voor iedere opgave het maximale
Nadere informatieWORKSHOP ORANGE PI & PYTHON v september 2017
WORKSHOP ORANGE PI & PYTHON v1.1 21 september 2017 In deze workshop maak je kennis met een zogenaamde bord-computer ter grootte van een bankpas. Een bord-computer kan gebruikt worden als een normale computer
Nadere informatieAlgemeen. Rorschachtest. Algemene info
Algemeen Als Python de volgende regel moet lezen uit een tekstbestand, dan wordt er gelezen tot en met de eerstvolgende newline ('\n') of tot het einde van het bestand. Het laatste karakter van de regel
Nadere informatieProgrammeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 13 mei 2014
Programmeren en Wetenschappelijk Rekenen in Python Wi1205AE, 13 mei 2014 Bijeenkomst 7 Onderwerpen Tips met betrekking tot boolse variabelen en loops Numpy Lijsten, tuples, arrays, matrices Wat is het
Nadere informatieAantekeningen over MATLAB
Aantekeningen over MATLAB Hieronder volgen zeer beknopte aantekeningen over MATLAB. Wat is MATLAB? MATLAB staat voor MATrix LABoratory. Opstarten van MATLAB Met de muis en het menu Matlab opstarten. Er
Nadere informatie10 Meer over functies
10 Meer over functies In hoofdstuk 5 hebben we functies uitgebreid bestudeerd. In dit hoofdstuk bekijken we drie andere aspecten van functies: recursieve functies dat wil zeggen, functies die zichzelf
Nadere informatieDE DEBUGGER GEBRUIKEN
Hoofdstuk 7 Hoofdstuk 7 De Debugger gebruiken 56 DE DEBUGGER GEBRUIKEN In dit hoofdstuk behandelen we: 3 verschillende soorten fouten De Debugger van IDLE Stappen in, over en uit Go en Quit Breekpunten
Nadere informatieObjective-C Basis. 23 april 2005, Eindhoven Patrick Machielse
Objective-C Basis 23 april 2005, Eindhoven Patrick Machielse patrick@hieper.nl Algemeen // extensies Objective-C code in bestanden met.m extensie // commentaar moet! /* Alles hiertussen wordt genegeerd
Nadere informatieTurbo Pascal (deel 1)
Turbo Pascal (deel 1) MSX CLUB MAGAZINE 34 Erik van Bilsen Scanned, ocr ed and converted to PDF by HansO, 2001 Erik van Bilsen leert u het klappen van de Turbo Pascal zweep. Turbo Pascal toepassen Deze
Nadere informatieProgrammeermethoden. Recursie. week 11: november kosterswa/pm/
Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,
Nadere informatie1 Inleiding in Functioneel Programmeren
1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp
Nadere informatieInleiding tot Func.oneel Programmeren les 3
Inleiding tot Func.oneel Programmeren les 3 Kris Luyten, Jo Vermeulen {kris.luyten,jo.vermeulen}@uhasselt.be Exper.secentrum voor Digitale Media Universiteit Hasselt Currying Currying: een func.e met meerdere
Nadere informatieUNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS
UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS Laatste aanpassing: 15 oktober 2003 Inhoudsopgave 1 Bestandsnamen 3 2 Organizatie Bestanden 3 3 Indentatie
Nadere informatiemaplev 2010/7/12 14:02 page 15 #17 Nadere detaillering van een aantal zaken van Module 1 Geen,, " ", \, save, read, protect, unprotect
maplev 2010/7/12 14:02 page 15 #17 Module 2 Het gebruik van Maple, vervolg Onderwerp Voorkennis Expressies Nadere detaillering van een aantal zaken van Module 1 Geen,, " ", \, save, read, protect, unprotect
Nadere informatieHoofdstuk 0. Van Python tot Java.
Hoofdstuk 0. Van Python tot Java. In dit eerste hoofdstuk maken we de overstap van Python naar Java. We bespreken de verschillen en geven wat achtergrondinformatie. In het volgende hoofdstuk gaan we dieper
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 25 november 2015 Herhaling Meer herhaling Recursie Mutuele recursie Objecten Herhaling Fibonacci class Fibonacci { public static void fibonaccitot(int bovengrens)
Nadere informatieINHOUDSOPGAVE. Over de auteur, de illustrator en de technische redacteuren 13
INHOUDSOPGAVE Over de auteur, de illustrator en de technische redacteuren 13 Dankwoord 14 Inleiding 15 Waarom Python?... 16 Hoe je code leert schrijven... 16 Voor wie is dit boek... 17 Wat staat er in
Nadere informatieLab Webdesign: Javascript 3 maart 2008
H5: OPERATORS In dit hoofdstuk zullen we het hebben over de operators (of ook wel: operatoren) in JavaScript waarmee allerlei rekenkundige en logische bewerkingen kunnen worden uitgevoerd. Daarbij zullen
Nadere informatieEen topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:
Java Les 2 Theorie Beslissingen Algemeen Net als in het dagelijks leven worden in software programma s beslissingen genomen, naast het toekennen van waarden aan variabelen zijn beslissingen één van de
Nadere informatieWat als je een heleboel informatie wilt opslaan? Bijvoorbeeld alle namen van iedereen die bij jouw dojo's aanwezig is? Hier gebruik je een lijst voor:
1 Wat als je een heleboel informatie wilt opslaan? Bijvoorbeeld alle namen van iedereen die bij jouw dojo's aanwezig is? Hier gebruik je een lijst voor: list_of_names = ["Alice", "Bob", "Chris"] list_of_numbers
Nadere informatieMatlab-Introductie (les 1)
Matlab-Introductie (les 1) Wat is Matlab? MATLAB staat voor MATrix LABoratory. Opstarten van Matlab Dit hangt af van het onderligge systeem (Windows, Linux,...), Maar kortweg geldt bijna altijd: ga met
Nadere informatieVoorbeelden. Sorteren. Voorbeeld: n = 5. # intsort.py: sorteren van een rij getallen
Voorbeelden Sorteren Schrijf een programma dat een rij gehele getallen sorteert een eerste functie leest de rij gehele getallen; een tweede functie sorteert deze getallenrij van klein naar groot; een derde
Nadere informatieJava Les 3 Theorie Herhaal structuren
Java Les 3 Theorie Herhaal structuren Algemeen Een herhaal structuur een is programmeertechniek waarbij bepaalde Java instructies worden herhaald net zo lang tot een bepaalde voorwaarde is bereikt. Een
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 december 2013 Terugblik Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5));
Nadere informatieEen eenvoudig algoritme om permutaties te genereren
Een eenvoudig algoritme om permutaties te genereren Daniel von Asmuth Inleiding Er zijn in de vakliteratuur verschillende manieren beschreven om alle permutaties van een verzameling te generen. De methoden
Nadere informatieUitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur
Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur 1. (2 punten per deelvraag) Deze opgave bestaat uit een aantal tekstvragen. Houd het antwoord kort: een
Nadere informatieProgrammeren (1) Examen NAAM:
Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien) en geef zowel klad als net af. Bij heel wat vragen moet je zelf Java-code schrijven. Hou dit kort en bondig. Je hoeft
Nadere informatieInformatietechnologie 2. JavaScript. Strings, getallen, datums, arrays en loops. Kristof Michiels
Informatietechnologie 2 JavaScript Strings, getallen, datums, arrays en loops Kristof Michiels In deze presentatie Strings: methods en properties Getallen Datums Arrays Loops 2 / 48 Strings: methods en
Nadere informatieMatlab introductie. Kees Vuik
Matlab introductie Kees Vuik 2014 Delft University of Technology Faculty of Electrical Engineering, Mathematics and Computer Science Delft Institute of Applied Mathematics Copyright 2014 by Delft Institute
Nadere informatieGeeft de lengte van een object (string, lijst, tupel) terug als integer
Python cheat sheet: Operatoren: De standaard operatoren voor wiskundige bewerkingen (+,-,*,/,**) worden als vanzelfsprekend ondersteld. Voor integers en floating point getallen doen deze functies wat je
Nadere informatieVoorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.
Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten
Nadere informatieVariabelen en statements in ActionScript
Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer
Nadere informatieRecursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40
Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N
Nadere informatieTentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI
Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Vrijdag 22 januari 2010 Toelichting Dit is een open boek tentamen. Communicatie en het gebruik van hulpmiddelen zijn niet toegestaan.
Nadere informatieTECHNISCHE UNrVERSITElT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica
TECHNISCHE UNrVERSITElT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica TWl(0)9O Inleiding Programmeren Tentamen 16 maart 2017, 9:00-12:00 uur Normering: Opgave 1 t/m 3 ieder 6 punten. Score:
Nadere informatieRAAD HET GETAL. Hoofdstuk 4. Het spelletje 'Raad het getal' Voorbeeld van uitvoering van 'Raad het getal' Hoofdstuk 4 Raad het getal 21
Hoofdstuk 4 Raad het getal 21 Hoofdstuk 4 RAAD HET GETAL In dit hoofdstuk behandelen we: import-statements Modules Argumenten while-statements Voorwaarden Blokken Boole-waarden Vergelijkingsoperatoren
Nadere informatieInterne voorstelling. types en conversies. Binaire en andere talstelsels. Voorstelling van gegevens: bits en bytes
Interne voorstelling types en conversies Het geheugen wordt ingedeeld in een aantal gebieden van gelijke grootte. Een gebied van 8 bits noemt men een byte (nible een groep van bits). Een (computer)woord
Nadere informatie4EE11 Project Programmeren voor W. College 2, , Blok D Tom Verhoeff, Software Engineering & Technology, TU/e
4EE11 Project Programmeren voor W College 2, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Onderwerpen Terugblik Functies Organisatie (architectuur) van programma s Arrays Structuren
Nadere informatie