Les 1: Inleiding en een eenvoudig programma
|
|
- Saskia Smets
- 6 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Les 1: Inleiding en een eenvoudig programma In deze les geven we een inleiding in de achtergrond van de taal. Onderwerpen die hierbij aan de orde komen zijn: Hoe is ontstaan? Hoe staat ten opzichte van concurrerende talen? Hoe vertalen we een programma naar een voor de machine leesbaar programma? Een eenvoudig programma Oorspronkelijke programmeertalen, gebruikt in de techniek. Reeds vanuit de jaren 60 van de vorige eeuw zijn programmeertalen steeds meer voor het gewone publiek beschikbaar gekomen. Talen waren in die tijd nog vaak toepassinggericht. Zo was OBOL (Ommon Business Oriented Language) speciaal toegespitst op het economische verkeer en was ALGOL (ALGOrithmic Language) veel in gebruik op universiteiten (Veel talen werden ontwikkeld op universiteiten). Daarnaast was door IBM de taal FORTRAN (FORmula TRANslator) ontwikkeld. Iedere taal had zijn eigenaardigheden. OBOL was echt een buitenbeentje, want de taal was zodanig opgesteld dat een accountant het redelijk kon volgen. Een statement als: c=a/b wordt in OBOL opgegeven als Divide a by b giving c. Dit is niet echt iets waar je in de techniek mee uit de voeten kan. De technische talen zitten daarom veel dichter bij de oorspronkelijke wiskundige formules. In dit oerwoud van talen ontstond al snel de behoefte aan een taal die simpel en algemeen was. Deze taal heette BASI (Beginners Al purpose Symbolic Instruction ode). De taal was simpel in het gebruik in die zin dat je de statements direct achter de terminal kon intypen en met behulp van een RUN het resultaat op de terminal kon laten verschijnen. De programma s in de oorspronkelijke talen moesten alle via een ingewikkelde vertaalcyclus aan de gang gekregen worden. Vaak via ponskaarten. Om een indruk te krijgen van de verschillende gedaanten van de programmeertalen wordt in het onderstaande een voorbeeld gegeven van een programma om de getallen 1 t/m 9 af te drukken in een aantal talen. BASI 10 FOR 1=1 TO 9 20 PRINT 1; ; 30 NEXT 1 40 END
2 FORTRAN IMPLIIT INTEGER (A-Z) DO 10 OUNT=1,9 WRITE (5,10) OUNT 10 FORMAT (1H$,I3) 20 ONTINUE END OBOL IDENTIFIATION DIVISION. PROGRAM-ID. INTRO1 AUTHOR. RPL DATE-WRITTEN. 1 NOVEMBER 2004 ENVIRONMENT DIVISION. INPUT-OUTPUT SETION. FILE-ONTROL. SELET LINE-OUT-FILE ASSIGN TO PR DATA DIVISION. FILE SETION. FD LINE-OUT-FILE LABEL REORDS ARE OMITTED 01 OUNT PI 999 PROEDURE DIVISION. WRITE-NINE-NUMBERS. OPEN OUTPUT LINE-OUT-FILE. MOVE 1 TO OUNT. PERFORM WRITE OUNT. ADD 1 TO OUNT UNTIL I=9. STOP RUN. BASI lijkt in bovenstaande voorbeelden de winnaar qua efficiency. Dat wordt echter een stuk minder als de programma s veel langer worden. De oorspronkelijke versie van BASI kon slechts een beperke naamgeving voor variabelen aan en de taal was sgterk afhankelijk van statement-nummers. Deze statement-nummers maakten het intypen van de programma s makkelijk, maar vormden een belemmering als er projectmatig in groepen werd gewerkt.
3 Nagenoeg alle talen misten een duidelijke structuur, waardoor het programmeren ver af stond van de gebruikelijke denkwijze in structuren. Daarvoor werd op een zwitserse universiteit de programmeertaal PASAL ontwikkeld (genoemd naar de wiskundige Blaise Pascal). Pascal was in feite alleen bedoeld om de student te leren programmeren in duidelijk herkenbare structuren. De taal was daarom minder geschikt om in de praktijk te gebruiken (De taal miste onder andere een fatsoenlijk filehandling-systeem en de variabele-syntax was erg strikt). De structuren in Pascal maakte echter dat het steeds meer gebruikt werd in de praktijk en de fabrikanten van de pascal-vertalers vonden elk een oplossing voor de tekortkomingen in de taal. Dit resulteerde in een groot aantal verschillende Pascalversies. Uiteindelijk kwam er een internationale norm ISO 7185, die nu verkrijgbaar is als NEN-ISO 7185, waarin een basisstandaard was vastgelegd. Halverwege de jaren 80 kwam Borland met Turbo Pascal op de IBM-P. Dit was een implementatie met een groot aantal extra mogelijkheden boven de geadviseerde NEN- ISO-standaard. Deze versie van de taal was erg bruikbaar en is in feite de de-facto standaard geworden op het P-platform in die tijd. Als we de bovenstaande programma s in Pascal willen weergeven, krijgen we het volgende programma: program onetonine (input,output); var count : integer; begin for count:=1 to 9 do Write (i, ); end. De taal Nog voordat Pascal uitkwam werd de taal ontwikkeld. Ook heeft vergelijkbare structuren als Pascal, maar de taal biedt veel meer mogelijkheden om te rommelen met variabelen. Dit in combinatie met het feit dat nagenoeg alles gedefinieerd is in losse functies maakte het mogelijk de taal uit te breiden zonder de syntax van de taal te hoeven wijzigen. Deze eigenschap maakt dat de taal identiek is gebleven op alle platformen waar hij op beschikbaar is. Extra faciliteiten op een platform kunnen eenvoudig toegevoegd worden in functies. Ook voor is een internationale norm beschikbaar; NEN-ISO/IE In feite lijkt alles koek en ei voor. Een taal waarin alles kan en die toch duidelijke structuren heeft. Helaas is het niet zo simpel. Pascal heeft een strakke syntax en daardoor is veel lastig te realiseren. laat echter meer toe, maar daardoor kunnen onvoorspelbare resultaten het gevolg zijn en foutmeldingen waarschuwen ons lang niet altijd tegen dit onheil.
4 Niettegenstaande is nu de taal geworden, waarin in de industrie veel wordt geprogrammeerd. Hardwareleveranciers leveren vaak -libraries bij hun hardware en zelden libraries voor andere talen. Van zijn inmiddels nieuwe varianten in omloop. De belangrijkste hiervan is ++ (NEN-ISO/IE 14882), waarbij Object oriented programming (OOP) is geïmplementeerd. Tot slot van deze talensamenvatting nog ons demo-programma in de taal. #include <stdio.h> void main() { int count; for (count=1;count<=9;count++) printf ( %d,count); } Hoe voeren we een programma in? Programma s kunnen werken in twee specifieke omgevingen. De eerste is een interpreter. In een interpreter worden programma s regel voor regel ingelezen en iedere regel wordt door de interpreter ter plaatse uitgevoerd. Het bekendste voorbeeld van een interpreter is BASI. Nagenoeg alle implementaties van BASI werkten onder een interpreter. Door de statement-nummers is meteen bekend waar een statement thuishoort en het invoeren was daardoor zeer eenvoudig. Wijzigen van regels kon simpel plaatsvinden door opnieuw de regel met statementnummer in te typen. Met een simpel RUN-commando konden we de resultaten op papier of scherm krijgen. Een interpreter kunnen we het beste vergelijken met bemande ruimtevaart. De astronaut die in het ruimteschip zit dient als interpreter en kan per gebeurtenis ingrijpen. Een andere mogelijkheid is te vergelijken met de onbemande vorm van ruimtevaart. Hier moet vooraf voorzien worden wat er kan gebeuren. Deze mogelijkheid wordt een compiler genoemd. Een compiler vertaalt een programma via een aantal tussenstappen naar een programma in pure machinetaal. Als dit programma runt, heeft de compiler er geen vat meer op. Het vertalen van programma naar machinetaal heet compileren. Om een programma te maken wordt in principe de volgende volgorde gehanteerd: Het programma wordt ingevoerd met een ruwe-asii-editor. Ruwe ASII is een bestandsformaat waar regels in gewone tekst worden afgesloten met een End-OF- LINE-teken. Het programma wordt met behulp van een -compiler vertaalt naar assemblercode. Assemblercode is voor mensen leesbare machinetaal. De - compiler werkt in twee stappen. Eerst wordt in de zogenaamde preprocessor voorgedefinieerde constanten en tabellen ingevuld (Hierin wordt in bovenstaand
5 bijvoorbeeld de #include-regel verwerkt). In het tweede gedeelte van de compiler wordt he programma uiteindelijk vertaald. De assemblercode wordt met behulp van een assembleerprogramma vertaalt naar zogenaamde objectcode. Objectcode is binaire machinecode (door de machine leesbaar), maar library-routines zijn nog niet toegevoegd. Vanuit de objectcode wordt met behulp van een linker de library-routines toegevoegd. Deze library-routines kunnen standaard-routines zijn (Bijvoorbeeld printf in bovenstaand voorbeeld), maar ook eigen routines (bijvoorbeeld libraries die bij onze hardware zijn bijgeleverd). Het uiteindelijke programma kan op de computer worden uitgevoerd. Blijkt het niet goed te werken, dan kunnen we in de editor wijzigingen doorvoeren, waarna we het geheel weer opnieuw compileren. Ontwikkelomgevingen Bovenstaand programmeervolgorde is de basis van alle programmeeromgevingen. In veel gevallen zullen echter bepaalde vereenvoudigingen aangebracht zijn. Zo zal vaak de compiler (met zijn preprocessor) en de assembler geïntegreerd zijn. Uiteindelijk blijven dan drie stappen over: Edit, ompile, Link. De firma Borland heeft op het gebied van de -compiler een hoop betekend. Vergelijkbaar met Turbo Pascal heeft Borland voor een zogenaamde Integrated Development Environment (IDE) ontwikkeld. Dit lijkt enigszins op een interpreter, maar de IDE levert echte machinetaalprogramma s af (executables). De IDE is in feite een slimme combinatie van bovengenoemde programma s, waardoor het ontwikkelen van programma snel gaat. Met de opkomst van het Windows-platform bleek het lastig te zijn op op een makkelijke manier in een Windows-omgeving te programmeren. De gebruikte interfaces als iconen, buttons, edit-boxen, listboxen e.d. zijn lastig te programmeren vanuit ruwe -code. Niettemin is de taal (Of eigenlijk ++ in dit geval) wel een uiterst geschikte taal om de code in te beschrijven. Om dit gat op te vullen is er onder andere door Borland een zogenaamde Rapid Application Development tools (RAD) ontwikkeld. Indeze RAD wordt een programma op twee manieren tegelijk opgebouwd. Het visuele gedeelte bouwen we op via het scherm, waarbij we de visuele delen op het scherm plaatsen. De code die we per item willen laten uitvoeren, kunnen we snel en makkelijk invoeren. De visuele elementen worden door de RAD-omgeving omgezet in relevante -code, maar hiervan zien we doorgaans weinig. Met de opkomst van de RAD is een groot deel van het codeerwerk vervallen en we hoeven ons eigenlijk alleen nog te concentreren op de corebusiness van het programma. Op de volgende bladzijden staat een voorbeeld van de Borland ++ IDE en de RAD van Borland ++Builder.
6
7
8 Formatting -programma s hebben de onhebbelijkheid dat ze onleesbaar worden als je er maar wat op los typt. Het is daarom belangrijk om vanaf het begin een stijl te gebruiken waarin je je programma s intypt. Het maakt uiteindelijk niet zoveel uit welke stijl je adopteert. Het belangrijkste is dat je een stijl kiest, waarin je je thuis voelt en dat je je eraan houdt. Toch willen we een paar richtlijnen geven: Laat de syntax altijd correct zijn. Als we een tekst intypen, dan beginnen we meestal met regel 1 en typen we net zo lang door totdat we aan de eind van de tekst zijn. Bij een -programma dat uit structuren bestaat, kan dit aanleiding tot vergissingen geven. Zorg daarom dat je eerst de structuren afmaakt, voordat je de structuren invult. Hieronder een (deel)voorbeeld: Fase 1: if (getal==5) { } Fase 2: if (getal==5) { getal+=3; printf ( %d,getal); } Merk op dat we eerst de afsluitende accolade (Die bij de structuur hoort) direct na de eerste accolade intypen. Ook als we andere structuren binnen deze structuur invullen, dan weer eerst de structuur kloppend houden. Uiteindelijk krijgen we op deze manier een grof raamwerk van ons programma dat leeg is, maar qua structuur wel klopt. Wijken we hiervan af, dan lopen we uiteindelijk het risico dat accolades uiteindelijk op de verkeerde plaats komen met rampzalige gevolgen voor het programma. In gevallen waar dit de duidelijkheid ten goede komt, kan je overwegen bovenstaand statement op één regel te plaatsen. Bovenstaand voorbeeld wordt dan: if (getal==5) { getal+=3; printf ( %d,getal); } Doe dit echter niet als de structuur te lang of te ingewikkeld wordt. De leesbaarheid heeft er dan onder te leiden.
9 Houdt het programma overzichtelijk. Dit is een open deur, maar in is het heel makkelijk om een programma nagenoeg onleesbaar te maken. Veel gereserveerde woorden in worden namelijk weergegeven door enkele symbolen (Bijvoorbeeld de accolades, die vergelijkbaar zijn met de pascal-woorden begin en end, hetgeen veel leesbaarder is). Plaats daarom bij elkaar horende accolades recht onder elkaar. De in het vorige punt genoemde typemethode garandeert deze regel min of meer. Houdt het programma printervriendelijk. In sommige gevallen zul je een programmasource wel eens uit moeten printen. Het vinden van een structuurfout kan namelijk lastig zijn op het beeldscherm. Papier kan dan behulpzaam zijn. Bepaalde vormen van layoutkeuze kan er echter wel eens voor zorgen dat het programma erg veel papier kost. Hieronder twee voorbeelden: if ( getal==5 ) Dit zijn vier regels, terwijl if (getal==5) er eentje is. Een ander voorbeeld: if (!strcmp(regel, LOAD )) LoadLine(); else if (!strcmp(regel, SAVE )) SaveLine(); else If (!strcmp(regel, PRINT )) PrintLine(); kost meer papier en is onduidelijker dan: if (!strcmp(regel, LOAD )) LoadLine(); else if (!strcmp(regel, SAVE )) SaveLine(); else If (!strcmp(regel, PRINT )) PrintLine(); Laat de regels niet onnodig breed worden Zeker als je functies gebruikt met veel argumenten, kan dit aan de rechterkant uit het beeld lopen. Groepeer dan deze argumenten indien mogelijk tot leesbare blokken, zie onderstaande functiedefinitie.
10 int OYDefineMenu ( char *menuname, int posx, int lenx, char *title, WORD status, WORD backolor, struct Dlink *list) int posy, int leny, WORD foreolor, In bovenstaand voorbeeld zijn de argumenten die bij elkaar horen naast elkaar gebleven, terwijl de andere argumenten elk op een eigen regel staan. Zouden we alles naast elkaar geplaatst hebben, dan had de regel ver van het scherm afgelopen, zelfs zonder de hier gebruikte spatie. De syntax van Zoals gezegd is er een norm van. Er is echter een eenvoudige methode om de syntax van na te gaan. is namelijk beschreven in syntax-diagrammen. In het boek staan deze weergegeven op bladzijde 318 t/m 325 (Grammatica). Opgave voor het practicum: Ga na op de computer welke compiler hier beschikbaar is en van welk type (Klassiek, IDE of RAD). Kijk hoe je het programma op moet starten. Let vooral op de volgende zaken: Hoe start ik de editor op. Hoe sla ik tekst op in de editor Hoe maak ik een tussentijdse reservekopie (indien mogelijk) Hoe sluit ik de editor af Hoe compileer is, en zijn er tussenfases te onderscheiden? Zijn er in de compiler opties die van belang zijn. Hoe link ik een programma? Type het programma in en maak een begin met het kiezen van een eigen stijl. Vertaal het programma (one to nine) met behulp van de compiler en kijk of je uiteindelijk een resultaat op het scherm kan krijgen. Kijk welke opties de omgeving je zoal biedt en ga daarbij na welke opties geschikt zijn voor je wensen.
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
Nadere informatiePROS1E1 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
Nadere informatieBij dit hoofdstukken horen geen opgaven.
6. Programmeertalen Een computer begrijpt eigenlijk alleen maar binaire code (bestaande uit 1 en 0). Om hem/haar makkelijk opdrachten te geven zijn programmeertalen ontwikkeld. Deze moeten een goed gedefinieerde
Nadere informatieAlgoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.
Programmeertalen Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal. Taal // machine De geschiedenis van de programmeertalen loopt parallel met de geschiedenis
Nadere informatieAlgoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.
Programmeertalen Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal. Taal // machine De geschiedenis van de programmeertalen loopt parallel met de geschiedenis
Nadere informatieProbleem 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
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 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 informatieProgrammeren: Visual Basic
PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Algemene Kennis: 01. Programmeren Programmeren is het schrijven van een computerprogramma, een concrete verzameling instructies
Nadere informatieOpmerkingen 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
Nadere informatieslides6.pdf 16 nov
Inhoud Inleiding Algemeen 5 Waarom programmeertalen? Geschiedenis Abstractiemechanismen Programmeertalen Piet van Oostrum 16 november 2001 INL/Alg-5 1 X INL/Alg-5 1 X Machinecode Voor- en nadelen assemblercode
Nadere informatieFORTRAN. Pieter van Leeuwen Studentnr:
FORTRAN Pieter van Leeuwen E-mail: pleeuwen@s.vu.nl Studentnr: 1329375 De geshiedenis van FORTRAN FORTRAN is ontwikkeld in de jaren 50 van de vorige eeuw. Het ontstaan van FORTRAN kwam voornamelijk voort
Nadere informatieBLOK 3 HOOFDSTUK 8 PARAGRAAF 2
BLOK 3 HOOFDSTUK 8 PARAGRAAF 2 4-BITS DEMOCOMPUTER IN 1000 STO R0 0000 opdracht tot opslaan 0000 waar moet het worden opgeslagen IN 1000 LD R1 0011 opdracht tot kopiëren 0000 welk adres moet gekopieerd
Nadere informatieVan Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam
Van Poort tot Pipeline Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Pipeline processor One cycle machine Calculator File of registers Assembly
Nadere informatieDE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO
DE ASTRO PI PROGRAMMEREN DOCENTENHANDLEIDING 1 Deze handleiding is bedoeld om leerlingen te ondersteunen bij de Astro Pi Challenge, waarbij leerlingen een programma voor de Astro Pi-computer in het ISS
Nadere informatieDe Arduino-microcontroller in de motorvoertuigentechniek (6)
De Arduino-microcontroller in de motorvoertuigentechniek (6) E. Gernaat (ISBN 978-90-79302-11-6) 1 De Arduino Programmeeromgeving (IDE) 1.1 Inleiding Als we naar de Arduino site gaan kunnen we daar de
Nadere informatieZelftest Programmeren in COBOL - deel I
Zelftest Programmeren in CBL - deel I Document: n1290test.fm 05/01/2016 ABIS Training & Consulting P.. Box 220 B-3000 Leuven Belgium TRAINING & CNSULTING INLEIDING BIJ DE ZELFTEST PRGRAMMEREN IN CBL -
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 informatie9 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,
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 informatieOnline 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
Nadere informatieTutorial 1, Delphi: Geldspraak
Tutorial 1, Delphi: Geldspraak Versie Datum Auteurs Opmerkingen 1 25-09-2001 Kees Hemerik (code) Gebaseerd op Delphi 5 Enterprise. Roel Vliegen (tekst) 2 17-03-2005 Kees Hemerik Aanpassingen: Delphi 7,
Nadere informatieModule 4 Hoofdstuk 1. Programmeertalen
Module 4 Hoofdstuk 1 Programmeertalen Programmeertalen Een programmeertaal is een taal waarin de opdrachten worden geschreven die een computer moet uitvoeren Reeksen van die opdrachten of instructies vormen
Nadere informatieOefententamen 2. Tijd: 2 uur. Maximaal aantal punten: 30. Naam: Studentnummer:
Oefententamen 2 C Naam: Studentnummer: Tijd: 2 uur Maximaal aantal punten: 30 Menselijke compiler (10 punten) 0. (1 punt) Stel, je haalt het tentamen als je tenminste een 5.5 gemiddeld hebt gehaald voor
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 informatieCompilers.
Compilers joost.vennekens@denayer.wenk.be Job van een compiler Job van een compiler 68: newarray int int grens = min + (max - min) / 2; int[] kleiner = new int[n]; int[] groter = new int[n]; int k = 0;
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 informatieAssembly en Assemblers. Processoren 5 januari 2015
Assembly en Assemblers Processoren 5 januari 2015 Doel van vandaag Ik heb al losse eindjes over assembly verteld en een voorbeeldprogramma doorlopen. vandaag: algemeen + systematisch overzicht Programmeertalen
Nadere informatieJörg R. Hörandel Afdeling Sterrenkunde.
Jörg R. Hörandel Afdeling Sterrenkunde http://particle.astro.ru.nl/goto.html?prog1213 1 Alle mensen moeten op blackboard ingeschreven zijn! 2 http://particle.astro.ru.nl/goto.html?prog1213 3 eindcijfer:
Nadere informatieHANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS)
HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) Vereiste voorkennis Voldoende kennis van het besturingssysteem (in deze handleiding wordt uitgegaan van Windows) De basisprincipes van programmeren Vereiste
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 november 2013 Organisatie Docenten Jeroen Bransen Michael Moortgat Docenten Jeroen Bransen Imperatief programmeren (Java) Tot de kerst (ongeveer) Michael Moortgat
Nadere informatie4EE11 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
Nadere informatieSelenium IDE Webdriver. Introductie
Selenium IDE Webdriver Het Wielsem 10, 5231 BW s- Hertogenbosch, telefoon 073-6409311 e- mail info@testwork.nl internet http://www.testwork.nl 1 Inhoudsopgave 1 Inhoudsopgave... 2 2 Selenium IDE... 3 3
Nadere informatieZo gaat jouw kunstwerk er straks uitzien. Of misschien wel heel anders.
Spirograaf in Python Een kunstwerk maken Met programmeren kun je alles maken! Ook een kunstwerk! In deze les maken we zelf een kunstwerk met Python. Hiervoor zal je werken met herhalingen en variabelen.
Nadere informatieOefeningen Interpretatie I Reeks 6 : Registermachines
Oefeningen Interpretatie I Reeks 6 : Registermachines Deze oefeningenreeks behandelt het beschrijven van computationele processen aan de hand van registermachineprogrammaʼs. Registermachines manipuleren
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 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 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 informatieInleiding 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
Nadere informatieInformatica: C# WPO 12
Informatica: C# WPO 12 1. Inhoud Datacontainers, bestanden uitlezen, bestanden schrijven en data toevoegen aan en bestand, csv-bestanden 2. Oefeningen Demo 1: Point2D Demo 2: Notepad Demo 3: Read CSV-file
Nadere informatieGrafisch 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
Nadere informatieVereiste kennis. 1 Java-editor. 2 Het compileren van een programma
3 Vereiste kennis Dit boek richt zich op het leren programmeren door het oefenen met programmeercodes. Veel theorie komt in het begin niet aan de orde. Dat is een grote uitdaging want het is niet makkelijk
Nadere informatieEen typisch programma in C en C++ bestaat uit een aantal onderdelen:
Eerste stappen in C. Een typisch programma in C en C++ bestaat uit een aantal onderdelen: /* Alles wat op meerdere lijnen staat zoals hier is commentaar. */ // Dit is commentaar op 1 lijn. Geldig tot einde
Nadere informatiecontinue 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;
Nadere informatieVOORBLAD SCHRIFTELIJKE TOETSEN
Technology, Innovation & Society Delft VOORBLAD SCHRIFTELIJKE TOETSEN OPLEIDING TOETSCODE GROEP : ELEKTROTECHNIEK : GESPRG : EP11/EP12 TOETSDATUM : 07-02-2014 TIJD : 13.00 14.30 uur AANTAL PAGINA S (incl.
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 informatieIn de tweede regel plaatsen we in het gereserveerde stukje geheugen een getal.
4. Array s Een array is een geïndexeerde variabele. Deze zin zal de nodig vragen oproepen, waarop enige uitleg van toepassing is. Met variabelen hebben we al kennis gemaakt. In een variabele kun je iets
Nadere informatie6.2 VBA Syntax. Inleiding Visual Basic
6.2 VBA Syntax Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. Klik te tab Hulpmiddelen voor databases Klik op Maken Macro s en Code -
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 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 informatie6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken.
6.3 VBA Syntax Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. Klik te tab Hulpmiddelen voor databases Klik in het groepsvak Macro op
Nadere informatieProject Software Engineering XML parser: Parsen van een xml CD catalogus
Project Software Engineering XML parser: Parsen van een xml CD catalogus Brent van Bladel brent.vanbladel@uantwerpen.be February 16, 2017 XML (Extensible Markup Language) is een taal waarmee we op een
Nadere informatieInformatica: C# WPO 13
Informatica: C# WPO 13 1. Inhoud Bestanden uitlezen, bestanden schrijven en data toevoegen aan een bestand, csv-bestanden 2. Oefeningen Demo 1: Notepad Demo 2: Read CSV-file Demo 3: Write CSV-file A: Plot
Nadere informatieZelftest 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
Nadere informatie2. Syntaxis en semantiek
2. Syntaxis en semantiek In dit hoofdstuk worden de begrippen syntaxis en semantiek behandeld. Verder gaan we in op de fouten die hierin gemaakt kunnen worden en waarom dit in de algoritmiek zo desastreus
Nadere informatieLet op dat de scoping regels gerespecteerd blijven; het volgende voorbeeld mag geen fout melden.
Vrije Universiteit Brussel Faculteit Wetenschappen Vakgroep Computerwetenschappen Academiejaar 2009 2010: tweede examenzittijd Interpretatie van Computerprogrammaʼs I schriftelijke test Voorafgaandelijk:
Nadere informatiestart -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c
Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer
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 informatieHomeOffice 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
Nadere informatieDit document bevat informatie over make bij het eerstejaars college Programmeermethoden, Universiteit Leiden, najaar 2010, zie
Dit document bevat informatie over make bij het eerstejaars college Programmeermethoden, Universiteit Leiden, najaar 2010, zie www.liacs.nl/home/kosters/pm/ Met dank aan allen die aan deze tekst hebben
Nadere informatie1.Noem de vijf categorieën waarin programmeertalen kunnen worden ingedeeld en geef van elke categorie één voorbeeld.
Module 4 programmeren 1.Noem de vijf categorieën waarin programmeertalen kunnen worden ingedeeld en geef van elke categorie één voorbeeld. Machinecode Assembleertalen: assembly Hogere programmeertalen:
Nadere informatieEen 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,
Nadere informatieSeven segments of Pi
Seven segments of Pi Seven segments of pi Aan de slag met seven segments of Pi! Seven segments is een klein add-on boardje voor de raspberry pi. Deze add-on bestaat uit een display en een knopje. Meer
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 informatieJörg R. Hörandel Afdeling Sterrenkunde
Jörg R. Hörandel Afdeling Sterrenkunde http://particle.astro.ru.nl/goto.html?prog1415 1 Jörg R. Hörandel Afdeling Sterrenkunde http://particle.astro.ru.nl/goto.html?prog1415 2 Alle studenten moeten op
Nadere informatieHandleiding ISaGRAF. Wil men het programma bewaren, dan is het verstandig een back-up te maken: C9 Back-up / Restore
Handleiding ISaGRAF C Handleiding ISaGRAF Deze handleiding beoogt een korte samenvatting te geven van handelingen die verricht moeten worden om met behulp van ISaGRAF een PLC-programma te schrijven en
Nadere informatieAugustus& Handleiding - Publisher Tool 3
Augustus& 15 16 Handleiding - Publisher Tool 3 Inhoudsopgave 1. Welkom... 3 1.1 Inloggen... 3 1.2 Dashboard... 4 2. Boeken... 5 2.1 Boeken aanmaken... 5 2.2 Het bewerken van boekinformatie.... 7 3. Verrijkingen...
Nadere informatieDerde 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
Nadere informatiePascal uitgediept Data structuren
Pascal uitgediept Data structuren MSX Computer & Club Magazine nummer 68-juni/juli 1994 Herman Post Scanned, ocr ed and converted to PDF by HansO, 2001 In deze aflevering wordt bekeken hoe zelf een datastructuur
Nadere informatie1.2 ENVIRONMENT DIVISION.
1 SEQUENTIAL I/O 1.1 Inleiding 1.1.1 SEQUENTIËLE ORGANISATIE (= opslagstructuur) Begrip record: Elk record heeft een vaste voorganger (behalve het 1ste record), elk record heeft een vaste opvolger (behalve
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 informatieWorkshop 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
Nadere informatieDe standaard programmeertaal
C De standaard programmeertaal Oorsprong CPL stond voor Combined Programming Language of Cambridge Programming Language. Ze stamt uit 1963, maar de eerste compiler arriveerde pas rond 1970. De taal was
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 informatieNetBeans tutorial, Rik Eshuis, Kees Huizing versie 2.2 Augustus 2009
NetBeans tutorial, Rik Eshuis, Kees Huizing versie 2.2 Augustus 2009 NetBeans is een IDE voor (o.a.) Java, een programma waarmee je Javaprogramma's kunt schrijven en uitvoeren. Deze tutorial bevat informatie
Nadere informatieDebugging in embedded en native systemen met GDB
Debugging in embedded en native systemen met GDB A.M. ten Doesschate July 15, 2015 Abstract Een korte beschrijving : intro gebruik met welke tools en hulpmiddelen van de GDB setup en een summier aantal
Nadere informatie17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies
17 Operaties op bits In hoofdstuk 1 is gezegd dat C oorspronkelijk bedoeld was als systeemprogrammeertaal om het besturingssysteem UNIX te implementeren. Bij dit soort toepassingen komt het voor dat afzonderlijke
Nadere informatieLes C-04 Programmeren
Les C-04 Programmeren 4.1 Programmeertalen In les B-03 is uitgelegd hoe de processor van een moderne computer geprogrammeerd dient te worden: programmacode wordt omgezet in assemblercode, die vervolgens
Nadere informatiePSD Turtle. Om op een goede manier een programma te schrijven wordt er ook een algoritme gevolgd. Dit algoritme bestaat uit de volgende stappen/fasen:
Inleiding Small Basic is een gratis versie van de programmeertaal BASIC wat staat voor Beginner All-purpose Symbolic Instruction Code. Een computer taal die vooral in de beginjaren zeer populair was onder
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 informatie1. Introductie tot SPSS
1. Introductie tot SPSS Wat is SPSS? SPSS is een statistisch computerprogramma dat door wetenschappers wordt gebruikt om gegevens te verzamelen, analyseren en te bewerken. Het wordt voornamelijk gebruikt
Nadere informatieCursus Programmeren en Dataverwerking.
Cursus Programmeren en Dataverwerking http://hay.github.io/codecourse Vanavond (18.00-21.30) Introductierondje Algemene introductie (60-90m) Iets over bits en bytes Iets over programmeurs en programmeertalen
Nadere informatiePROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd
Inhoudsopgave 1 Inleiding... 1 2 Toekenning- en herhalingsopdrachten (for loop)... 2 2.1 De wet van Ohm... 3 2.2 De spaarrekening... 3 2.3 De transformator... 3 3 Keuze- en herhalingsopdrachten (if, switch,
Nadere informatieDatatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.
Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort
Nadere informatieProgrammeren in COBOL. Sephiroth
Programmeren in COBOL Sephiroth 14 maart 2008 2 Inhoudsopgave I Bewerkingen 7 1 Inleiding 9 1.1 Indeling van een programma............................ 9 1.2 Hello World! (DISPLAY).............................
Nadere informatieProgrammeerstructuren met App Inventor
Programmeerstructuren met App Inventor Kevin Krul, Universiteit Utrecht Roncalli, Bergen op Zoom Inhoud: Les 1: Introductie tot App Inventor, when statement en variabelen. Les 2: Introductie if-statement
Nadere informatieProgrammeren: 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
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 informatieOefenzitting 3. 1. Werken met Java 1. 1.1. Achtergrond BVP 2006-2007
Oefenzitting 3 BVP 2006-2007 1. Werken met Java 1 1.1. Achtergrond In deze oefenzitting zien we wat er nodig is om vertrekkend van een programma tot een werkend stuk code te komen dat door de computer
Nadere informatieL A TEX-workshop (Handleiding)
L A TEX-workshop (Handleiding) TEXniCie 10 november 2014 Inhoudsopgave 1 Inleiding 2 2 L A TEX 2 2.1 Voordelen........................................ 2 2.2 Nadelen.........................................
Nadere informatieTentamen Programmeren in C (EE1400)
TU Delft Tentamen Programmeren in C (EE1400) 5 april 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code
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 informatieWaarden persistent (blijvend) opslaan gaat in bestanden (files). Lege tekst: eof
Programmeren Blok A Persistente opslag van waarden http://www.win.tue.nl/ wstomv/edu/2ip05/ College 4 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering
Nadere informatieProgrammeermethoden. 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.
Nadere informatie1.1 Programmeren en voorbereiding
Een overzicht van C 1.1 Programmeren en voorbereiding 1.2 Programma-uitvoer 1.3 Variabelen, expressies en toewijzing 1.4 Het gebruik van #define en 1.5 Het gebruik van printf() en scanf() 1.6 Programmabesturing
Nadere informatieInhoud 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
Nadere informatieIntroductie in C++ Jan van Rijn. September 2013
Introductie in C++ Jan van Rijn September 2013 Inhoud Classes Overerving Const correctness Standard C++ library Templates Classes Voordelen van classes: Modelleren Modulariteit Informatie afschermen Makkelijk(er)
Nadere informatieVoorlopig onderzoeksplan Bachelorscriptie CleanDoc-
Voorlopig onderzoeksplan Bachelorscriptie 2011 -CleanDoc- Wouter Lockefeer 0545228 Probleemstelling Een goede programmeertaal moet niet alleen efficiënte programma's opleveren, maar ook handig zijn in
Nadere informatie10. Mijn eerste programma
10. Mijn eerste programma Een korte handleiding voor het invoeren en editten van programmatekst voor een pseudotaal programma. In dit hoofdstuk wordt beschreven hoe je je allereerste pseudotaal programma
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 informatie