Algoritmen en programma's, paragrafen: 6.1; 6.6; 6.7; 7.1; 8.1; 8.8

Beoordeling 4.8
Foto van een scholier
  • Antwoorden door een scholier
  • 6e klas vwo | 1679 woorden
  • 26 augustus 2008
  • 18 keer beoordeeld
Cijfer 4.8
18 keer beoordeeld

Samenvatting Informatica

6.1) Van kleine instructies naar grote processen

Noem 2 termen voor het centrale deel van de computer.
De processor of de CPU.

Wat doet de processor?

Het voert eenvoudige instructies uit die achter elkaar in het geheugen van de machine zijn opgeslagen.

Wat is een computerprogramma?

Een lange reeks instructies.

Noem een aantal verschillen tussen verwerking door de mens en verwerking door de computer.

Een computer kan een complexe berekening heel snel maken, terwijl een mens daar veel meer moeite voor doet. Een mens heeft minstens een dag nodig om een boek te lezen, terwijl een computer de instructies in een programmaboek in een paar seconden leest.

Wat is routinewerk?

Routinewerk levert onafhankelijk van de uitvoerende persoon in dezelfde omstandigheden telkens precies hetzelfde resultaat op.

Wat zijn algoritmen?

Gedetailleerde beschrijvingen van routinewerk

Wat zijn procedures?

Delen van algoritmen.

Wanneer noemen we deze procedures programma’s?

Als we de algoritmen zo beschrijven dat een computer ze kan uitvoeren.

Wat zijn de primitieve instructies voor de processor?

Laden: Invoer: haal een getal uit het geheugen
Optellen: Tel twee cijfers op
Bewaren: Uitvoer: bewaar een getal in het geheugen
Vergelijken: Bepaal of een getal groter is dan 0
Kiezen: Kies een serie instructies
Herhalen: Herhaal een serie instructies

Hoe werden de instructies in de jaren ‘40 in de computer ingevoerd?

Met de hand: ieder bitje moest met de hand worden ingevoerd door een schakelaar goed te zetten (deze computers verwerkten alleen kleine programma’s).

Welke methodes gebruikte men later?

Ponskaarten en toetsenborden.

Wat is een compiler?

Een vertaalprogramma (het zet gewone taal om in machinetaal).
Voorbeeld:
setColor(blue);
drawLine(10, 10, 400, 400);

Wat betekent dit?

Een blauwe lijn wordt schuin over het scherm getekend, van pixel (10, 10) naar pixel (400, 400).

6.6) Structuurdiagrammen

Wat zijn structuurdiagrammen (PSD’s)?

Schema’s bestaand uit een aantal blokken waarin geschreven wordt welke handelingen er moeten worden uitgevoerd (verbetering op stappenschema’s).

Welke 3 soorten blokken zijn er?

Een waarin een opdracht staat, een waarmee een keuze wordt gemaakt en een die aangeeft dat het om een herhaling gaat.

Waarom is het moeilijk om complete algoritmen te maken voor problemen in het dagelijks leven (zoals verkeer)?

Er kan altijd iets onverwachts gebeuren. Je kan proberen om daar ook een algoritme voor te maken, en ook voor alle andere situaties, maar dat is een heidens karwei. Er wordt altijd wel een of andere uitzonderlijke situatie vergeten.

Noem een aantal voordelen en nadelen van informatietechnologie (in een bedrijf).

Voordelen:
· Men kan met kleinere voorraden werken, omdat die per minuut wordt bijgehouden. Daardoor zijn de kosten gedaald.
· Er werken minder mensen, waardoor de kosten zijn gedaald.
· Het aantal fouten is kleiner, omdat men niet afhankelijk is van mensen.
Nadelen:
· Het systeem is veel ingewikkelder, waardoor een mogelijke storing moeilijk opgelost kan worden, en reparaties duur zijn.
· Het werk is minder gezellig, omdat er met minder mensen gewerkt wordt.

6.7) Beperkingen en toepassingen van algoritmen

Noem enkele beperkingen van algoritmen.
· Een muziekstuk opstellen: tonen en tempo kunnen wel worden uitgevoerd aan de hand van algoritmen, maar bepaalde stemmingen kunnen alleen mensen maken.
· Taal: woorden kunnen wel worden uitgevoerd aan de hand van algoritmen, maar beklemtoning (denk aan telefonie), gezichtsuitdrukking en lichaamstaal kunnen alleen mensen maken.

Noem enkele toepassingen van algoritmen.

Het bouwen van een muur: gereedschap klaarleggen, stenen pakken, specie maken, en andere algoritmen.

7.1) Communicatie met programma’s

Hoe werd bij oudere programma’s (voor het Windows-tijdperk) invoer gegeven?
Het initiatief lag grotendeels bij het programma. Het programma bepaalde wanneer er invoer nodig is en meestal ook in wat voor vorm die gegeven moest worden. De gebruiker moest veel commando’s uit het hoofd kennen.

Wat werd in 1980 door Xerox geïntroduceerd?

Een beeldscherm waarvan de afzonderlijke pixels door de computer konden worden getekend. Hierop kon je invoervelden tekenen. Naast het toetsenbord ontstond ook de muis.

Welk idee werd in 1984 door Apple commercieel toegepast?

De muis. Deze werd als eerste commercieel toegepast in de Macintosh.

Wat betekent GUI?

Grafical User Interface, oftewel de grafische gebruikersinterface.

Wat ontstond er eind jaren ’80?

Een besturingssysteem met een grafische interface: Windows van Microsoft.

Noem een aantal voordelen van GUI.

· De gebruiker kan op veel verschillende manieren opdrachten geven aan het systeem (bijv. het klikken op een knop, het kiezen van een optie in een menu, of door het verslepen van een icoon).
· De gebruiker hoeft niet meer allerlei commando’s uit het hoofd te weten.
· Het initiatief ligt niet meer alleen bij de computer, maar ook bij de gebruiker.

Wat is multi tasking?

Meerdere processen tegelijkertijd kunnen draaien.

Waarom hangt de ontwikkeling van programma’s met een grafische interface samen met de ontwikkeling van multi tasking?

Als het programma bezig is met een taak, moet het tegelijkertijd ook kunnen reageren op een muisklik.

Wat is het basispatroon van een ouder programma zonder GUI?

Een serie opdrachten worden achtereenvolgens uitgevoerd, en vragen op bepaalde vastgelegde momenten om invoer of sturing.

Wat is het basispatroon van een modern programma met GUI?

Bij het straten verschijnt er een beginscherm. Daarna zal bij elke mogelijke gebeurtenis het programma reageren met een reeks van opdrachten, om vervolgens weer te wachten op een nieuwe gebeurtenis.

Wat is een event?

Een gebeurtenis, zoals het drukken op een knop of het maken van een keuze uit een menu.

Hoe noemt men dit soort programma’s?

Gebeurtenisgestuurd of event driven.

Is met de komst van deze nieuwe generatie programma’s het basispatroon verouderd en niet meer toepasbaar?

Nee. Binnen een gebeurtenisgestuurd programma zijn de afzonderlijke taken die worden uitgevoerd bij een bepaalde gebeurtenis, toch weer te beschrijven als een serie opdrachten. Zo kun je de PSD’s weer nuttig gebruiken.

Noem een aantal oudere programmeertalen.

Basic, Pascal en C.

Noem een aantal nieuwe (objectgeoriënteerde) programma’s.

C++, Java, Delphi en Visual Basic.

Wat is event handling?

Letterlijk: gebeurtenisafhandeling. De programmeur moet bepalen welke opdrachten er moeten worden uitgevoerd bij een bepaalde gebeurtenis.

8.1) Programmeertalen

Wat is machinetaal?
De taal waarin elke computer de primitieve instructies in het geheugen opslaat (in enen en nullen).
Hoe werden de instructies in de jaren ‘40 in de computer ingevoerd?
Met de hand: ieder bitje moest met de hand worden ingevoerd door een schakelaar goed te zetten. Daarna drukte men op een knop om het in het geheugen op te slaan.

Wat is de belangrijkste eigenschap van programmeertaal?

Computerinstructies die uiteindelijk toch in machinetaal in het computergeheugen moeten staan, zijn voor ons beter leesbaar en begrijpelijk.

Wat was de eerste verbetering?

Het hexadecimale stelsel: de lange rijen bits werden verdeeld in groepjes van 4. Die binaire groepjes van 4 moeten vertaalt worden in 16 ‘cijfers’: de getallen 0 t/m 9 en de letters A t/m F.

Wat was de tweede verbetering?

Assembleertaal: hierin werd elke machine-instructie door een afkorting beschreven.

Wat is een mnemonic?

Letterlijk: afkorting.

Wat doen assemblervertaalprogramma’s?

Elke assemblerinstructie wordt omgezet in de bijbehorende rij hexadecimale of binaire getallen..

Wat was de derde verbetering?

Hogere programmeertalen: opdrachten konden in onze eigen taal worden ingevoerd.

Hoe werkt een compiler (vertaalprogramma)?

Het zet een opdracht om in enen en nullen. Elke instructie (codewoord) wordt omgezet in een serie assemblerinstructies, met bijbehorende machine-instructies.

Wat zijn codeerregels?

Specifieke regels voor een programmeertaal (anders werkt ’t niet).

Wat is semantiek?

De betekenis van de codewoorden.

Wat is syntaxis?

De grammatica van de codewoorden (volgorde, zinsopbouw, leestekens).

Welke 2 verschillen zijn er tussen programmeertaal en de gewone taal?

· Programmeertaal omvat maar enkele tientallen vaste woorden, terwijl het Nederlandse woordenboek wel 300.000 woorden kent.
· In programmeertaal heeft elk codewoord een nauwkeurig bepaalde vaste betekenis, terwijl in de Nederlandse taal dezelfde woorden tot verschillende interpretaties kunnen leiden.

Wat is Basic?

Een eenvoudige programmeertaal, bedacht in 1970.

Wat is het belangrijkste kenmerk van Basic?

De programmaregels zijn genummerd. Zo kun je het programma makkelijk naar voren of terug springen om keuze en herhaling te programmeren.

Wat is het codewoord voor deze sprongopdracht?

GOTO.

Wat betekent het codewoord REM?

Commentaar.

Wat is een nadeel van de GOTO-instructie?

Het programma wordt onoverzichtelijk door de vele regelnummers en sprongen.

Hoe noemen we zulke programma’s?

Ongestructureerd.

Wanneer is een programma goed gestructureerd?

Als elk algoritme zo veel mogelijk wordt verdeeld in subroutines of procedures. Deze procedures krijgen een naam, waardoor die makkelijk kan worden opgeroepen.

Noem 2 voorbeelden van goed gestructureerde programmeertalen.

Pascal en C++.

Wat zijn grafisch georiënteerde programmeertalen?

Programmeertalen waarin de procedures worden voorgesteld door plaatjes.

Wat is een voordeel van grafisch georiënteerde programmeertalen?

De kans op syntaxisfouten is minder groot, o.a. ook omdat je werkt met programmabibliotheken.

Noem enkele voorbeelden van programma’s waarin je kunt visueel programmeren.

Visual Basic, Delphi en Java.

8.8) Sorteeralgoritmen

Hoe kun je algoritmen aflopend sorteren aan de hand van 2 rij-variabelen?

· Rij-variabelen: 1) getallijst (hier bergen we de niet gesorteerde getallen op) en 2) sorteerlijst (hierin komen de gesorteerde getallen).
· Zoek het grootste getal uit de getallijst door alle getallen te bekijken en de grootste te onthouden.
· Stop dit getal in de eerste variabele van rij sorteerlijst.
· Verwijder dit getal uit de rij getallijst.
· Herhalen.

Hoe noemen we een dergelijke structuur?

Een herhalingsstructuur.

Hoe noem je een herhalingstructuur waarin het proces maxnr wordt herhaald?

Een fordo-opdracht.

Hoe kun je algoritmen opklimmend sorteren aan de hand van 1 rij-variabele?

Bijvoorbeeld het sorteren van de getallen 5, 4, 7 en 3:
· Als 5 > 4 dan verwissel de twee getallen: 4, 5, 7, 3
· Als 4 > 7 dan verwissel de twee getallen: 4, 5, 7, 3
· Als 4 > 3 dan verwissel de twee getallen: 3, 5, 7, 4
· Eerste getal staat goed. Verder met het tweede getal:
· Als 5 > 7 dan verwissel de twee getallen: 3, 5, 7, 4
· Als 5 > 4 dan verwissel de twee getallen: 3, 4, 7, 5
· Eerste twee getallen staan goed. Verder met het derde getal:
· Als 7 > 4 dan verwissel de twee getallen: 3, 4, 5, 7
· De getallen staan goed.

Hoe noemen we dit soort algoritmen?

Bubble sort (de kleinere getallen komen als het ware naar boven borrelen).

Waarom moet er een extra rij toegevoegd worden bij dit algoritme?

Je verwisselt de inhoud van getallenrij[1] met getallenrij[2]. Eerst haal je de inhoud uit een getallenrij[1] weg, maar je kan die niet meteen in getallenrij[2] zetten, want daar staat nog een andere inhoud. Je moet de inhoud dus tijdelijk in een hulprij (hulpgetal) bewaren.

Hoe ziet deze situatie in Pascal eruit?

hulpgetal := getallenrij[1]
getallenrij[1] := getallenrij[2]
getallenrij[2] := hulpgetal

Volgens welk algoritme sorteert Pascal?

Volgens bubble sort.

Wat voor procedure is het verwisselen van getallen voor het sorteren?

Een subprocedure (van de sorteerprocedure).

REACTIES

Log in om een reactie te plaatsen of maak een profiel aan.