Banner image by Sebastian Niedlich on Flickr, CC BY-NC-SA 2.0
Programmeermethoden
Werkcollege 1: UNIX
Het eerste werkcollege van het vak Programmeermethoden NA vindt plaats in de computerzalen van het Snellius-gebouw, op dinsdag 5 september 2017, van 11:00 tot 12:45 uur.
Voorbereiding
Als voorkennis wordt bekend verondersteld: eigenlijk niet zoveel, want dit is een van de eerste activiteiten. Wat helpt:
- Inhoud van het eerste college. Zie de sheets.
- Doorgelezen: het dictaat Computers en Programmeren.
Het eigenlijke werkcollege
Doe achtereenvolgens deze opdrachten:
- Laat je naam even aankruisen op de presentielijst, die hopelijk vanzelf langs komt. Komt deze vanwege de drukte niet langs: geen nood!
-
(Voor zover dat nog niet gedaan is)
Maak jezelf vertrouwd met de verschillende computersystemen. Volg daartoe de instructies van Hoofdstuk 1.7 (beginnend op pagina 7) van het dictaat Computers en programmeren. Lees eventueel maar eens deze introductie op de website van het C++ college Programmeermethoden.
Hoe maken we een terminal op de Linux PCs? Zoek een icoontje met een schelp of beeldscherm. Deze is te vinden bij Dash (linksboven in Unity). Soms is een terminal ook op andere manieren op te sporen; je kunt ook zelf ergens een icoon toevoegen. Er zijn vele soorten terminals, kies zelf een die je prettig vindt werken. -
Oefen de UNIX-commando's, zie eventueel dictaat, eerste deel, Hoofdstuk 2.
Gebruik in het bijzonder:
- Een internet browser: firefox of chrome (tik bijvoorbeeld in een terminal in: firefox &, of gebruik het icoontje) of een van de vele andere ...
- ls overzicht files; tip: ls -lrt
- cp kopieer file
- rm verwijder file
- mv verplaats file
- cd verander van directory (map)
- mkdir maak nieuwe directory
- man hulp over een commando
- =====
- chmod wijzig rechten (voor gevorderden)
- ps overzicht processen
- kill gooi proces weg
VEEL meer informatie staat in dit uitgebreide document. Er is ook een uitgebreide Handleiding UNIX van Piet van Oostrum (in PDF-formaat) beschikbaar. -
Oefen met de editor gedit, zie dictaat, Hoofdstuk 2.
Zet een aantal zaken goed bij "Preferences"
(even zoeken hoe dit loopt in Unity, kijk bovenaan het scherm):
"Display line numbers",
"Enable automatic indentation",
"Insert spaces instead of tabs"
"Tab width" op 4.
En accolades "matchen".
En rechter kantlijn laten zien (op bijvoorbeeld 80 posities).
Denk eraan Python-files altijd de extensie .py te geven.
Het verschil tussen een terminal en een editor, waarin je een file aan het editen bent,
is hopelijk duidelijk.
Er zijn ook andere editors met syntax-highlighting, zoals gvim, nedit, emacs en kate. Kies zelf een favoriet.
- Maak een eerste Python-programma en voer dit uit, zie Hoofdstuk 1.7 en 1.9 uit het dictaat. Schrijf om te beginnen een programma dat een tekstje op het beeldscherm zet. Tik het programma uit het dictaat, pagina 6, over en draai het. Probeer maar eens te snappen wat er gebeurt. Tijdens de colleges wordt dit uitgebreid uitgelegd.
-
Pas het programma aan zodat het twee in te voeren gehele getallen
optelt en het resultaat afdrukt.
Hint: kijk eens naar het volgende voorbeeldprogramma:
# Dit is een regel met commentaar ... import math # voor de "pi" constante print "Geef straal, daarna Enter ..", straal = float(raw_input()) if straal > 0: print "Oppervlakte:", print math.pi * straal * straal else: print "Niet zo negatief ..." print "Einde van dit programma."
- Laat het gemiddelde van de twee getallen afdrukken, en laat het resultaat op verschillende manieren op het scherm zetten. Afronden?
-
Je kunt ook interactief met Python werken. In een terminal kun je de
interactieve interpreter starten door het commando python te
geven zonder programma achter python. De interpreter
zal je van harte welkom heten met het prompt >>>.
Achter dit prompt kun je Python coderegels invoeren.
Bijvoorbeeld
print "Hallo"
ofa = 10 * 4 print a
Python is op deze manier een (hele) handige rekenmachine en bovendien kun je heel snel wat dingen uitproberen voordat je deze in je uiteindelijke programma zet. -
Oh ja, om uit die interpreter te komen gebruik je het commando
exit()
. - (Echt alles af?) En nu de eerste programmeeropgave ...
Huiswerk
Lees het "dictaat Computers en programmeren" nog eens door. En nog eens.Kun je uit je hoofd een Hello World programma in Python bedenken? En editen? En uitvoeren, oftewel executeren? En werken met de interactieve Python interpreter?