Van BASIC naar Python (1) Verslag uit de praktijk
|
|
- Dina Wauters
- 8 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Projects Van BASIC naar Python (1) Verslag uit de praktijk Jean-Claude Feltes (Luxemburg) Op de eerste PC van de auteur uit de jaren 80 was toevallig QuickBASIC geïnstalleerd. Hij heeft in die taal veel software geschreven. Later kwam het alom bekende Visual Basic in het spel. Toen hij wilde overstappen naar Linux had hij een goede vervanger voor BASIC nodig. En dat werd een flinke omschakeling, want code in Python is lekker compact en duidelijk, maar ook heel anders Hoort een bespreking van een programmeertaal eigenlijk wel thuis in Elektor? Wij denken van wel, want Python is bijvoorbeeld heel geschikt voor het dicht bij de hardware programmeren van kleine computersystemen zoals de Raspberry Pi. Python en elektronica zijn dan ook nauw met elkaar verbonden. Een collega wees de auteur op de voordelen van Python. Toen hij ermee aan de slag ging, werd hij al snel enthousiast, hoewel er grote verschillen zijn met Visual Basic. Broncode in Python valt op door zijn compactheid en helderheid. Bovendien zijn er geen haakjes en puntkomma s nodig, waar talen als Pascal, C en Java bol van staan. Maar er zijn nog meer verschillen. BASIC versus Python Een belangrijk punt is: Python is een zuivere interpreter-taal, er zijn geen compilers voor. Dat is zowel een voordeel als een nadeel. Een programma in Python is om te beginnen langzamer dan een gecompileerd programma, maar dankzij de krachtige bibliotheken, hoeven we dat nauwelijks te merken. Verder is het voor het gebruik van Python-programma s nodig dat de interpreter plus eventuele modules op het doelsysteem geïnstalleerd zijn. Een voordeel is dat we een programma snel kunnen veranderen, als we bijvoorbeeld een andere I/O-poort willen aansturen. Voor kleine aaningen kunnen we gemakkelijk zonder omslachtige gebruikersinterfaces; we kunnen de waarden van variabelen rechtstreeks in de code instellen. Bij geïnterpreteerde code kunnen we zelfs functies definiëren terwijl het programma draait, bijvoorbeeld om een functieplotter te programmeren. Python is sterk objectgeoriënteerd. Zolang het gaat om eenvoudige programma s, is dat niet zo belangrijk. Maar in de literatuur en in voorbeeldprogramma s wordt er vaak gebruik van gemaakt. Wie geen kennis heeft van objectgeoriënteerd programmeren, zal veel niet begrijpen. Wie begint met Python zal even moeten wennen aan het minimalisme: Code-blokken worden niet bij elkaar gehouden door haakjes of begin en end ; dat gaat simpelweg door het inspringen van de brontekst. Zoals te zien is in het kader C, BASIC en Python, levert dat heel overzichtelijke, korte code op. Andere verschillen: In tegenstelling tot BASIC wordt er onderscheid gemaakt tussen hoofdletters en kleine letters. Voor elektronici is het heel handig dat Python met complexe variabelen kan werken. Er zijn Python-interpreters voor Windows, Linux en OS X. 54 mei
2 Python C, BASIC en Python C Quick/Visual Basic Python #include <math.h> #include <stdio.h> int main(int argc, char *argv[]) { printf ("Hello World\n"); int i; int x; for ( i=0; i<11;i++) { if(i%2==0) { x = pow(i,2); printf ("%d ^2 = %d \n",i,x);} else { x = pow(i,3); printf ("%d ^3 = %d \n",i,x);} } Print Hello world! For x = 1 To 10 If x Mod 2 = 0 Then Print x; ^2 = ; x^2 Else Print x; ^3 = ; x^3 End If Next x Bij VB moet Print vervangen worden door Debug.Print en de code moet bijvoorbeeld in een sub Form_Load() staan. print "Hello world!" for x in range(0,11): if x % 2 == 0: print x, "^2 = ", x**2 else: print x, "^3 = ", x**3 } return 0; Installatie Als we een interpreter voor ons OS installeren, kunnen we het beste ook meteen een aantal nuttige modules meenemen. We moeten een keus maken: Python 2.x of 3? Helaas ontbreken voor versie 3 nog belangrijke bibliotheken. Daar komt bij dat verschillende verbeteringen zijn teruggeport naar versie 2.7, zodat daar heel goed mee te werken is. Tabel 1 bevat een lijst van interessante modules met de URL waar ze zijn te downloaden. De Windows-varianten hebben een comfortabele installer. Voor andere systemen gaan we als volgt te werk: Pak het gedownloade archief uit in een tijdelijke directory Voer op de commandline in: python setup.py install Tabel 1. Modules en download-url s. Python 2.7 Interpreter Numpy Verwerking van wetenschappelijke getallen e.d. Matplotlib Diagrammen PySerial Toegang tot de seriële interface PyParallel Toegang tot de parallelle interface PyUSB USB-Modul WxPython USB-module Geany Editor met syntax-highlighting Op Linux-systemen is Python al geïnstalleerd mei
3 Projects Dan kopieert het Python-script de noodzakelijke bestanden naar een standaard subdirectory van de interpreter. Deze is afhankelijk van het besturingssysteem ( /usr/lib/python2.7 voor Ubuntu of \Python27\Lib voor Windows XP). Figuur 1. De open source-editor Geany. Figuur 2. Pythonisch correct inspringen met 4 spaties. Figuur 3. Andere instellingen in Geany. Figuur 4. Resultaat van het testprogramma onder Windows. IDE of niet-ide? In het begin lijkt het ontbreken van een IDE zoals die van VB een groot gemis. Maar in de praktijk went dat snel. Voor eenvoudige programma s is een goede editor genoeg. De auteur werkt graag met Geany. Dit is als freeware beschikbaar voor Windows en Linux. Dit programma biedt automatische syntax-highlighting als het bestand wordt opgeslagen met de extensie.py. Ook handig is het zogenaamde code-folding (verbergen van code-delen) en het feit dat scripts rechtstreeks vanuit de editor kunnen worden gestart. Zelfs voor OS X hoeven we niet lang te zoeken, want Apple s eigen programmeeromgeving Xcode kan ook overweg met Python. We moeten alleen een gratis pakket van 1,65 GB downloaden uit de Apple-App-Store. De Xcode-editor geeft.py-bestanden correct weer als we er op dubbelklikken. Een eerste programma Programma s kunnen worden geschreven met een editor naar keuze. In figuur 1 zien we hoe dat er in Geany uit ziet. In Python is het inspringen van de brontekst heel belangrijk: We mogen daarbij met tabs of met spaties werken. Het is niet toegestaan om die door elkaar te gebruiken. In Python-stijl komen vier spaties overeen met een tab. Figuur 2 toont hoe we dat in Geany kunnen instellen. Bij het programmeren is het handig om ook gebruik te maken van de markeringsrand, de regelnummers en de inspringmarkeringen zoals in figuur 3. Als we het minimum-testprogramma uit figuur 1 starten, ziet dat er onder Windows uit als in figuur 4. Als we het programma niet rechtstreeks uit de editor willen of kunnen starten, gaat het ook met het commando python test.py op de commandline. GUI-scripts kunnen we ook starten door op het.py-bestand te dubbelklikken, maar bij tekstprogramma s zoals test.py sluit het venster meteen na het uitvoeren van het programma, zodat we niets kunnen zien. Als we het programma onder Linux willen gebruiken, is het de gewoonte om aan het begin van de broncode nog de twee regels: #!/usr/bin/env python 56 mei
4 Python # -*- coding: utf-8 -*- toe te voegen. De eerste regel vertelt het besturingssysteem welke interpreter het moet gebruiken en de tweede geeft informatie over de karakterset. BASIC-programmeurs moeten bovendien wennen aan een paar eigenaardigheden van Python, die zijn samengevat in het tekstkader Bijzonderheden van Python. De Python-shell Als we Python starten vanaf de commandline (DOS-box bij Windows of Terminal bij Linux of OS X), dan krijgen we een prompt >>>. Nu kunnen we interactief commando s invoeren en experimenteren met commando s die we nog niet kennen: >>> s = hello >>> s.upper() HELLO In de shell kunnen we ook bibliotheekmodules importeren: import time Hulp over deze modules is te vinden met help(<module>) en een lijst van de objecten en methods krijgen we met dir(<module>). Beginnersfouten Wie gewend is aan andere programmeertalen, kan gemakkelijk bepaalde typische fouten maken. Een fout bij het inspringen is snel gemaakt. Bij Python kan dat grote gevolgen hebben. Als de interpreter de melding Unexpected indent geeft, ligt het aan de inspringing. Vaak staat er een spatie te veel of te weinig, of er zijn tabs en spaties door elkaar gebruikt. Nogmaals: Python-standaard is het gebruik van vier spaties. Let ook goed op het verschil tussen integer- en float-getallen, want 3/5 = 0 en alleen 3.0/5.0 = 0.6! Volgens de Python-regels moet elke aanroep van een subroutine of methode worden afgesloten met een haakje. Voor het sluiten van de seriële poort is dus s.close fout en alleen s.slose() toegestaan. Externe hardware Het aansturen van externe hardware is voor elektronici van doorslaggevend belang bij een programmeertaal. Voor Python bestaan kant-en-klare modules voor het aansturen van PC-interfaces: pyusb, pyserial, pyparallel en pyi2c. Listing 1: ScanSerial.py import serial def scan_serial(): """ Scans for available serial ports """ portnames = [] # Windows for i in range(256): name = "COM"+str(i) s = serial.serial(name) s.close() portnames.append(name) # Linux for i in range(256): name = "/dev/ttys"+str(i) s = serial.serial(name) s.close() portnames.append(name) # Linux USB for i in range(256): name = "/dev/ttyusb"+str(i) s = serial.serial(name) s.close() portnames.append(name) return portnames # # main portnames = scan_serial() for p in portnames: print p Listing 2: ReadSerial.py """Read and print serial data from COM1 (9600baud)""" import serial # init serial port COM1 / ttys0 scom1 =serial.serial(0) scom1.setbaudrate(9600) if scom1.isopen()==false: scom1.open() # read lines of data until user presses <Ctrl-C> while(1): line = scom1.readline() print line scom1.close() mei
5 Projects Figuur 5. Python is ook heel geschikt voor het verwerken van ElektorBus-berichten met meetwaarden. Bijzonderheden van Python Als eenvoudig voorbeeld kijken we naar de seriële interface: Voor de communicatie wijzen we aan de poort een instantie van het Serial-object in de module serial.py toe. Seriële poorten kunnen worden aangesproken via hun nummer of naam ( COM1 bij Windows of /dev/ttys0 bij Linux). De makkelijkste manier om de beschikbare poorten te vinden is om te proberen ze te instantiëren (zie listing 1). Alleen als dat lukt, bestaat de betreffende poort ook. Zo kunnen we ook virtuele USB-poorten vinden. Variabelen worden impliciet gedeclareerd door toewijzing van een waarde: x = 5.0 Er zijn geen For-Next lussen zoals bij andere programmeertalen. We kunnen wel een iteratie over de deelobjecten van een object uitvoeren, bijvoorbeeld over de tekens van een string of over de regels van een bestand. Als vervanging voor het klassieke For-Next kunnen we for i in range gebruiken. for i in range (0,5): print i Dit is een iteratie over alle onderdelen van het object range(0,5), d.w.z. over de lijst [0,1,2,3,4]. Let op: De eindwaarde (hier 5) is geen deel van de lijst! Arrays (lijsten) kunnen verschillende objecten bevatten: x = [0, 3.14, Ham, Eggs ] Functies kunnen meerdere waarden tegelijk teruggeven als Tupel : (x, y, z) = myfunction(v) Er zijn geen SUB s - alleen functies, net als in C. Ze worden gedeclareerd met def...() en kunnen als het nodig is meerdere waarden of objecten teruggeven. In listing 2 kunnen we zien dat het heel gemakkelijk is om data via de seriële poort te ontvangen, bijvoorbeeld van een microcontroller. Na het toewijzen van het object scom1 aan poort COM1 stellen we de baudrate in (pariteits- en stopbits hebben hier default-waarden) en openen we de poort. Bij het experimenteren kan het gemakkelijk gebeuren dat het programma stopt terwijl de poort nog open staat. Dan kan de poort niet worden geopend als we het programma opnieuw starten. Het is dus beter om een poort alleen te openen als hij nog niet open was. Het programma is wat onelegant: Het loopt in een oneindige lus tot het met <Ctrl-C> wordt afgebroken. Het zou natuurlijk netter zijn om de waarde van een toets af te vragen voor het beëindigen van het programma. Dat kan wel, maar het is niet zo eenvoudig, omdat het afhankelijk is van het gebruikte besturingssysteem. We kunnen geen gebruik maken van de functie raw_input(), want die blijft wachten op de invoer <Enter>. Als we een programma met GUI willen maken, zijn er eenvoudige mogelijkheden om op signalen van druktoetsen en andere events te reageren, bijvoorbeeld met wxpython. Met de kleine programma-uitbreiding van listing 3 kunnen we al data loggen. Voor de overzichtelijkheid hebben we gebruik gemaakt van subroutines. Deze worden voorin de code gedefinieerd met def...(). Het hoofdprogramma komt pas na deze definities. Eerst wordt in show_log() gecontroleerd (try / except) of er al een LOG- 58 mei
6 Python bestand bestaat. Als dat zo is, wordt de inhoud gelezen en weergegeven. Het is handig dat de hele tekst met file.read kan worden gelezen. Dan wordt de seriële poort geopend. Elke ontvangen regel wordt weergegeven en in het bestand geschreven. Conclusie & vooruitblik Wie de smaak aan Python te pakken heeft, raden we aan om de interpreter en enkele bibliotheken te installeren en enkele eenvoudige programma s te schrijven. Alle listings zijn ook te vinden onder [1]. In het tweede deel van deze serie zullen we ingaan op voor elektronici interessante details zoals diagrammen en Fourier-synthese, en het toevoegen van een mooie user-interface. In het derde deel gaan we in op de praktijk. We gaan dan werken met een kleine microcontrollerkaart die via de ElektorBus meetwaarden naar de PC stuurt (zie figuur 5). Weblinks & literatuur [1] Listings e.d.: [2] Homepage van de auteur: [3] Documentatie over Python: [4] Python-Tutorials: [5] Andrew Pratt: (110483) Python Programming and GUIs for Electronic Engineers Listing 3: ReadSerial2.py """Read and print serial data from COM1 (9600baud)""" import serial def show_log(): """ show result of last logging""" file = open("test.log", "r") text = file.read() file.close() print "CONTENTS OF LAST LOG FILE:" print text print "END OF LOG FILE" print "NO LOG FILE FOUND" def open_port_log(port): """ open serial port and LOG file""" # init serial port COM1 scom =serial.serial(port-1) scom.setbaudrate(9600) if scom.isopen()==false: scom.open() file = open("test.log", "w") return scom, file def receive(scom, file ): """ read lines of data until user presses <Ctrl-C>""" while(1): line = scom.readline() print line file.write(line) port=1 show_log() ok = raw_input("new LOG (y/n)?") if ok== "y": s, f=open_port_log(port) receive(s, f) # file and port closing done by interpreter at <Ctrl-C> De auteur Jean-Claude Feltes geeft onderwijs aan het Lycée Technique des Arts et Métiers in Luxemburg. Deze beroepsopleiding voor techniek en kunst leidt op voor verschillende niveaus. Ook in zijn vrije tijd is Jean-Claude veel bezig met elektronica en programmeren (zie [2]). mei
Accelerometer 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
Je 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
WORKSHOP 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
Installeren van de Arduino programmeer omgeving
Installeren van de Arduino programmeer omgeving Voor het programmeren van de Arduino maakt het niet uit welk besturingssysteem je gebruikt. Je kunt het downloaden voor Windows, OS X en Linux. Op deze link
Demo document template available on the Rapptorlab website
Proef ingediend met het oog op het behalen van de graad van bachelor in de Ingenieurswetenschappen Demo document template available on the Rapptorlab website Course/thesis example Laurent Segers, Tom van
Een 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
Het 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
UNIVERSITEIT 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
USB NAAR SERIËLE CONVERTER
USB NAAR SERIËLE CONVERTER Snel installatiegids Windows 2000/XP DA-70159 Stap 1: Stap 2: Stap 3: Plaats het CD-stuurprogramma van dit product in de CD-ROM. Sluit het apparaat aan op een vrije USB-poort
Grafisch programmeren met GTK
LinuxFocus article number 295 http://linuxfocus.org Grafisch programmeren met GTK door Özcan Güngör Over de auteur: Sinds 1997 gebruik ik Linux. Vrijheid, flexibiliteit en
Module 3: Scratch programmeren: is het logisch of is het niet logisch?
Module 3: Scratch programmeren: is het logisch of is het niet logisch? Inhoudsopgave Module 3: Scratch programmeren: is het logisch of is het niet logisch?...1 Wat is een computerprogramma eigenlijk?...2
Vakgroep 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
MINICURSUS 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
Parallelle Poort Aansturen Met Visual Basic
Parallelle Poort Aansturen Met Visual Basic 1. Waarom? (Voor Beginners) Er zijn geregeld vragen over hoe je nu eigenlijk een parallelle poort moet aansturen. Op het internet is heel wat te vinden, maar
INHOUDSOPGAVE. 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
Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Wat is scripting?
Inhoud Computervaardigheden Hoofdstuk 4 Scripting (Let op: dit is enkel voor studenten Biologie.) Dit hoofdstuk bekijkt heel kort de basis van scripting. - Opstellen van functies. - Conditionele code.
Getting Started with Python Programming
Getting Started with Python Programming QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Dick Groskamp This work is licensed under a Creative Commons Attribution
Programmeren 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
Turbo 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
Hoofdstuk 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
HomeOffice to ASCII Teksten converteren
HomeOffice to ASCII Teksten converteren Marco Soijer MCCM 65 Scanned, ocr ed and converted to PDF by HansO, 2001 Dit al enige tijd geleden ingezonden programma zet tekstbestanden, gemaakt met Home Office
Online c++ leren programmeren:
Online c++ leren programmeren: Inhoud 1)Waar vind ik een c++ compiler?... 2 2)Hoe start ik een programma in c++?... 2 3)Een eerste c++ programma:... 3 Een eerste programma schrijven:... 3 Mijn eerste programma
GEDETAILLEERDE 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...
BEGINNER 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
TELEPORTEREN MET VARIABELEN
2 TELEPORTEREN MET VARIABELEN Ben je zover dat je de kracht van Python kunt gebruiken om jouw Minecraft wereld te beheersen? In dit hoofdstuk krijg je een korte rondleiding langs de basisbegrippen van
User accounts maken in een Wandy Hotspot, d.m.v. een batch.
User accounts maken in een Wandy Hotspot, d.m.v. een batch. Bij het in gebruik nemen van een Wandy Hotspot is het aanmaken van gebruikers een tijdrovende klus. Om snel veel accounts aan te maken hebben
PROS1E1 Handleiding ( ) Kf/Dd/Bd
1 Inleiding De eerste oefening In deze eerste oefening wordt het voorbeeld 2-1 van bladzijde 11 uit het boek De taal C van PSD tot C-programma (enigszins aangepast) ingevoerd in de computer. Tevens wordt
Inhoud in vogelvlucht
Inhoud in vogelvlucht Inleiding........................................................ 1 Deel 1: Aan de slag met C................................ 7 HOOFDSTUK 1: Een snelle start voor ongeduldige beginners...............
[13] Rondjes draaien (loops)
[13] Rondjes draaien (loops) Met de if else uit de leerfiche [11] hebben we leren werken met één van de belangrijkste programmeerstructuren in Python. Bijna even belangrijk zijn de verschillende mogelijkheden
Selecteer het NRF52-Dk platform in de IDE rechtsboven in het browser scherm.
Ontwikkel je eigen Bluetooth LE device Welkom bij de workshop, tijdens deze workshop ga je aan de gang met het ontwikkelen van een Bluetooth LE device met behulp van MBED. Tijdens de workshop heb je het
OEFENINGEN 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
Berekening van de hash-code van een bestand of CD
1 Berekening van de hash-code van een bestand of CD Berekening van de hash-code van een bestand of CD Inhoudsopgave 1. Inleiding 2 2. Te gebruiken commando bij verschillende besturingsomgevingen 2 3. Download
DOMjudge teamhandleiding
judge DOMjudge teamhandleiding Samenvatting /\ DOM DOM judge Hieronder staat de belangrijkste informatie kort samengevat. Dit is bedoeld om snel aan de slag te kunnen. We raden echter ten zeerste aan dat
Weerstation. Wireless connectie PC en Arduino C.G.N. van Veen. HiSPARC. 1 Weerstation. 2 APC module installeren. 2.1 Zenden en ontvangen
Weerstation HiSPARC Wireless connectie PC en Arduino C.G.N. van Veen 1 Weerstation Inleiding Ons weerstation werkt en geeft ons de data die we willen van het weer. Het is echter nog wel afhankelijk van
Python 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
Installatie-instructies
Installatie-instructies Inhoud Software installeren 2 Hoe installeer ik Coach Junior voor het VMBO? Software instellen 4 Wat moet ik instellen zodat de software goed werkt? Hardware aansluiten 6 Mogelijke
Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET
Visual Basic.NET M. den Besten 0.3 VB. NET Inhoud Voorwoord Deel 1 Visual Basic.NET 1.1 Inleiding...13 1.2 De programmeertaal Visual Basic.NET...14 1.3 Microsoft Visual Basic 2010 Express Edition...15
Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 29 april 2014
Programmeren en Wetenschappelijk Rekenen in Python Wi1205AE, 29 april 2014 Bijeenkomst 3 Onderwerpen Bespreking ISA-opdracht Geneste loops Strings File Input/Output 29 april 2014 1 For-loops vb3-1a.py:
9 Meer over datatypen
9 Meer over datatypen We hebben al gezien dat het gebruik van symbolische constanten de leesbaarheid van een programma kan verbeteren. Door een geschikte naam (identifier) voor een constante te definiëren,
Datum, Tijd en Timer-object
IX. Datum, Tijd en Timer-object A. Hoe worden tijd en datum in VB aangeduid? Zowel datum als tijd worden als een getal met decimalen opgeslagen. Het gedeelte voor de komma geeft de datum aan, het gedeelte
Programmeermethoden 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
Functioneel programmeren
Functioneel programmeren Practicumopgave 2: Mastermind Het doel van deze opgave is het implementeren van het spel Mastermind; zie http://nl.wikipedia.org/wiki/mastermind voor een uitleg. Het spel is klein
Opmerkingen en vragen aan Ultieme vraag: Hoe beïnvloedt dit de winstkansen?
2IP05: Programmeren Blok A http://www.win.tue.nl/ wstomv/edu/2ip05/ 5 spelers, 2 dobbelstenen Probleem met dobbelspel College 1 Per ronde werpt elke speler 1 Kees Hemerik Tom Verhoeff Technische Universiteit
Zelftest Inleiding Programmeren
Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze
continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen.
Hoofdstuk 3: controlestructuren instructies en blokken Naar elke instructie staat een ; Instructies worden door de haakjes {} in een block samengevat. if else if ( expression) statement1; else statement2;
Elektor Uno R4 Installatie & Test
Elektor Uno R4 Installatie & Test Vereisten Elektor Uno R4 Kabel USB-A naar micro-b Computer met Windows (XP of later), Linux of OSX (10.7 of later) Arduino IDE 1.6.7 of recenter (niet 1.6.8) We raden
Een eerste applicatie
Een eerste applicatie 2.1 Inleiding Programmeren in Visual Basic.NET doe je niet alleen door regels met code te schrijven. Je begint met het ontwerpen van een venster in de design mode met allerlei controls,
Fuel. Handleiding voor installatie en gebruik
Fuel Handleiding voor installatie en gebruik Inhoudsopgave 1. Installatie 2. Gebruik - Windows - Linux / Apple / andere systemen - Een nieuw voertuig aanmaken - Uitgaven 3. Onderhoud - Waarschuwingen -
OEFENINGEN 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
Inhoudsopgave Voorwoord 5 Voordat je begint 6 Wat heb je nodig? 7 De website bij het boek 7 Voor ouders, verzorgers en leraren
Inhoudsopgave Voorwoord... 5 Voordat je begint... 6 Wat heb je nodig?... 7 De website bij het boek... 7 Voor ouders, verzorgers en leraren... 8 Vervolgboeken over programmeren... 8 1. Aan de slag met Python
OEFENINGEN 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
Uitwerkingen. 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
Informatica. 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
Handleiding software USB PIC DEV. BOARD
Handleiding software USB PIC DEV. BOARD V2.0 M.F. van Lieshout & J.G.W. Carpaij 21-03-2006 Handleiding software USB PIC DEV. BOARD Algemene informatie Hier volgt eerst wat algemene informatie over het
Technische Fiche om een commando met een passend icoontje aan te maken in de Ribbon Interface.
Technische Fiche om een commando met een passend icoontje aan te maken in de Ribbon Interface. Dit document is gebaseerd op Inventor 2011 & Windows XP. PS: Het kan zijn dat bepaalde zaken verschillen of
Inleiding 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)
MAKERKLAS WORKSHOP ARDUINO. Maandag 7 december 2015
1 MAKERKLAS WORKSHOP ARDUINO Maandag 7 december 2015 2 AAN DE SLAG! ONDERDELEN Je hebt de beschikking over een Arduino Starter Kit met een heleboel onderdelen. We gaan ze in de ze workshop niet allemaal
HOOFDSTUK 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
Inhoud. 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"
Inleiding Visual Basic en VBA. Karel Nijs 2009/01
Inleiding Visual Basic en VBA Karel Nijs 2009/01 Leswijze Eerst wat theorie Begeleid met (korte) oefeningen Ms Excel 2003 Online hulp: http://www.ozgrid.com/vba/ http://msdn.microsoft.com/en-us/library/sh9ywfdk(vs.80).aspx
GETEST EN WERKEND BEVONDEN VOOR ALLE NIEUWE EURO BILJETTEN!
Wanneer een nieuw bankbiljet wordt uitgegeven, is het noodzakelijk dat u een update van de AT100 uitvoert. Gelieve de volgende instructies stap voor stap te volgen. GETEST EN WERKEND BEVONDEN VOOR ALLE
Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken
Handleiding JCreator Inhoud Een Workspace en een eerste project maken Een tweede project maken De editor van JCreator Aanpassen van de basis-directory Documentatie over klassen en methoden van de JDK Bestand
Programmeren: Visual Basic
PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Document Afbaking 01. VERSCHILLENDE PROGRAMMEERTALEN 02. PROGRAMMEER PAKKETTEN 03. GUI 03.1 GUI ELEMENTEN 03.2 GUI EIGENSCHAPPEN
Inleiding programmeren
Inleiding programmeren Docent: José Lagerberg Assistenten: Robin de Vries, Jordy Perlee, Dimitri Belfor, Stephen Swatman, Erik Kooistra, Daan Kruis, Daniel Louwrink Cursusinformatie: https://staff.fnwi.uva.nl/j.m.lagerberg
Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet.
Het installeren van WordPress Nu je een volledig werkende virtuele server hebt is het tijd om er een applicatie op te installeren. We beginnen met de blogtool WordPress. De database De eerste stap is het
Probleem met dobbelspel. 2IP05: Programmeren Blok A. 5 spelers,2 dobbelstenen. wstomv/edu/2ip05/ Per ronde werpt elke speler 1
2IP05: Programmeren Blok A http://www.win.tue.nl/ wstomv/edu/2ip05/ College 1 5 spelers,2 dobbelstenen Probleem met dobbelspel Per ronde werpt elke speler 1 Tom Verhoeff Technische Universiteit Eindhoven
Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008
judge Teamhandleiding DOMjudge (versie..0mukp) 31 mei 008 /\ DOM DOM judge Inhoudsopgave 1 Inleiding Samenvatting.1 Inlezen en wegschrijven............................... Insturen van oplossingen...............................3
RTC Pick & Place Beckhoff TwinCAT. Voorbereiding
Voorbereiding Beckhoff Automation bvba Belgium Rudi Grouset v2.1-13/09/2013 Voorbereiding voor het volgen van de Beckhoff training Om de opleidingsdagen bij Beckhoff succesvol te laten doorgaan vragen
RTC Opleidingen Beckhoff TwinCAT. Voorbereiding
Voorbereiding Beckhoff Automation bvba Belgium Rudi Grouset v2.3-05/02/2014 Voorbereiding voor het volgen van de Beckhoff training Om de opleidingsdagen bij Beckhoff succesvol te laten doorgaan vragen
Opgaven. 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
De Sense HAT programmeren Je eerste computerprogramma
De Sense HAT programmeren Je eerste computerprogramma De Sense HAT is een uitbreiding voor de Raspberry Pi die speciaal voor de Astro Pi-wedstrijd is gemaakt. Met dit bord is het mogelijk om allerlei informatie
PYTHON 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
Bestand: /home/karel/scripts/start-installatie Pagina 1 van 10
Bestand: /home/karel/scripts/start-installatie Pagina 1 van 10 1 #!/bin/bash 2 ############################################################################# 3 # Bestand: start-installatie # 4 # Doel: Script
Als 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
Games met Lua en Löve2D
Games met Lua en Löve2D Installatie instructies Pagina 1 van 19 1. Introductie In deze handleiding lopen we samen door alle stappen die nodig zijn om de juiste hulpmiddelen te installeren en zo snel mogelijk
Derde Delphi Programma verkenning
Derde Delphi Programma verkenning In deze opdracht gaan we een aantal typische componenten en gegevenstypen van Windows en Delphi verkennen. We bouwen een eenvoudige rekenmachine en ondertussen leer je
Studietaak 5 Hoe installeer ik software? ProFTPD FTP-Server
Studietaak 5 Hoe installeer ik software? ProFTPD FTP-Server Opdracht Installeer op je Knoppix installatie de ProFTPD ftp-server. Doelstelling Het leren van: 1. het installeren van ProFTPD, en 2. de basis
Workshop Arduino voor beginners deel 2
Workshop Arduino voor beginners deel 2 Voor deze workshop is het van belang dat je deel 1 van de workshop hebt afgerond. In deze workshop zitten meerdere opdrachten die elkaar niet allemaal op hoeven te
INSTALLATIE INSTRUCTIE VOOR ESAM APPLICATIE
HARDWARE VEREISTEN VOOR PC (LAPTOP EN DESKTOP PC) Pentium 4 of hoger USB 2.0, min. 2 poorten beschikbaar (naast elkaar) Internet verbinding beschikbaar Windows versie: Windows XP Pro of Home met SP3 (Service
Een 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
Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13
5 Inhoud Inhoud Over dit boek 7 1 Eclipse IDE (Integrated Development Environment) 9 2 Functionele specificatie 13 3 Implementatie grafische gebruikersinterface 31 4 De klassen en methoden 57 5 Technische
eerste voorbeelden in Java
Beginselen van programmeren 2 eerste voorbeelden in Java vereisten: een editor: om programma in te tikken en te bewaren een Java compiler: zet ingetikte (bron-) programma om naar byte-code een Java Virtuele
Introductie. Driver Installatie
Product Beschrijving : ATS1235 en TX-9001-03-1 : Diagnose en programmering van de draadloze ontvanger en repeater Introductie Met de 868Gen2 Diagnostics Tool is het mogelijk een diagnose te maken van de
Je 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.
Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op
1 Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP.... 8 Joomla installeren op XAMPP... 15 Handige links... 16 2 Disclaimer Bij de samenstelling
Van macrorecorder door naar VBA
Van macrorecorder door naar VBA Geo van Dijk Excel Experience Day 2014 Opbouw van de sessie Waarom macro s/ VBA? VBA procedures opnemen met de macrorecorder. De VBA Editor (VBE). Macro s opnemen die van
Gebruik 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
4EE11 Project Programmeren voor W. College 1, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e
4EE11 Project Programmeren voor W College 1, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Betrokkenen Circa 100 deelnemers (W, 3e-jaars) Joris Remmers (W) Patrick Anderson
USB SERIËLE OMZETTER
USB SERIËLE OMZETTER Gebruikshandleiding DA-70156 Rev.5 Windows 7/8/8.1 Installatiehandleiding Stap 1: Plaats de CD-driver van dit product in de CD-ROM drive. Sluit het apparaat aan op een vrije USB-poort
Handleiding voor installatie en gebruik van
Handleiding voor installatie en gebruik van Opticon OPN-2001 Data Collector Inhoud pakket: - OPN-2001 - USB Communicatie kabel - Neckstrap Voordat u kunt communiceren met de OPN-2001 dient u de volgende
In deze mannual zal ik het voorbeeld van de Led cube gebruiken maar de principes zijn op alles toepasbaar.
Parallelle poort interface met Visual basic Waarom dit naslagwerk: Ik was zelf een beginner op dit vlak en heb dagen lopen zoeken naar correcte en up to date info inzake de aansturing van pc naar elektronica
De machines met deze sticker kunnen wel geupdate worden:
Update voor Valsgelddetector AT100 AANDACHT: Zorg ervoor dat u de AT100-update kabel heeft gekocht, dit is niet een gewone USBkabel, maar een speciale USB-kabel met een ingebouwde COM-poort! Deze installatie
Programmeermethoden. Controle-structuren. Walter Kosters. week 3: september kosterswa/pm/
Programmeermethoden Controle-structuren Walter Kosters week 3: 17 21 september 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleveren opgave 1 Inleveren: digitaal clintonobama1.cc en print van mooi.pdf.
Handleiding USB-LocoNet-Interface driver Setup
Handleiding USB-LocoNet-Interface driver Setup Copyright 2013 DigiAad, Nederland. Alle rechten voorbehouden. Zonder de voorafgaande schriftelijke toestemming van DigiAad is het niet toegestaan om informatie,
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde
Macro's in OpenOffice.org
Macro's in OpenOffice.org Ynte Jan Kuindersma (BIRD Automation) Nationale Officedag Ede - Sessie B2 6 maart 2008 1 van 22 Doel Kennismaken met macro's en OO Basic Laten zien dat vrijwel alles wat in MS
ES1 Project 1: Microcontrollers
ES1 Project 1: Microcontrollers Les 1: Installeren en verifiëren van de SDE Door Hugo Arends, augustus 2012 Microcontrollers Een microcontroller is een elektronische component dat gebruikt wordt om (complexe)
DELPHI VOOR ELEKTRONICI. Deel 2: Een rekenmachine programmeren CURSUS
DELPHI VOOR ELEKTRONICI CURSUS Deel 2: Een rekenmachine programmeren Herman Bulle met dank aan Anton Vogelaar In het vorige artikel hebben we de programmeeromgeving van Delphi geïntroduceerd en zijn er
Rodin installatiehandleiding (vanaf versie 2.1.xxx.x)
Rodin installatiehandleiding (vanaf versie 2.1.xxx.x) Introductie De Rodin applicatie bestaat uit een programma en een database. Het programma zal altijd lokaal op uw computer worden geïnstalleerd, terwijl
Inhoud. VBA Excel 2010
Inhoud VBA Excel 2010 Inhoudsopgave 0. INSTELLINGEN EXCEL 2010... 9 1. WAT IS VISUAL BASIC FOR APPLICATIONS... 16 1.1. Achtergrond... 16 1.2. VBA is meer dan een macrotaal... 16 Case 1: Macro "Walk of