iSee - Structorizer

Page 1

ALGORITMISCH DENKEN via informatica

STRUCTORIZER


Fiche 1

Denken als een programmeur In deze fiche leer je Ç KH[ WYVNYHTTLYLU WYVISLTLU VWSVZZLU PZ Ç LLU WYVISLLT HUHS`ZLYLU

Ç KL ]LYZJOPSSLUKL Z[HWWLU IPQ OL[ VWSVZZLU ]HU LLU WYVISLLT RLUULU LU [VLWHZZLU

Probleemstelling Begin met de analyse Elke computer beschikt over verschillende soorten software zoals tekstverwerking, elektronisch rekenblad, gegevensbeheer, browser. Al deze programma’s zijn geschreven in één of andere programmeertaal. Meer en meer toepassingen bevinden zich in the cloud; ze zijn altijd en overal beschikbaar. Ook deze cloudtoepassingen zijn geprogrammeerd! Bedrijven laten dikwijls programma’s of internettoepassingen op maat ontwikkelen. Voor je een programma of toepassing schrijft, maak je eerst een analyse van je probleem. Je brengt het probleem in kaart.

Het zou niet verstandig zijn een huis te bouwen zonder plan. Voor je aan de slag gaat, zoekt de architect een antwoord op een aantal cruciale vragen. Hoeveel bedraagt het budget? Hoe groot is de grond? Wat is de soort grond? Wat willen de bewoners? Wat zijn de bouwvoorschriften …

Nog een voorbeeld. Denk aan een culinaire avond. Ook hier zul je jezelf tal van vragen moeten stellen. Wat ga je klaarmaken? Hoeveel personen komen er? Wie zijn je gasten?


Probleemanalyse

FICH E 1

Het werk van een programmeur

Een programmeur krijgt een project voorgeschoteld. Op de eerste plaats luistert hij naar de wensen van de softwaregebruikers. Hij ontleedt het probleem. Stapsgewijs gaat hij aan de slag.

Van probleem tot computerprogramma

Welk stappen volgt een programmeur bij het ontwerpen van een programma?

Wat heb ik nodig om zelf een programma te maken?

Je kent het stappenplan om tot een programma te komen. Wat zal jij als programmeur nu nodig hebben?

Zowel een bouwplan, een keukenrecept als een wegbeschrijving geven in verschillende stappen een oplossingsmethode weer. Ze beschrijven hoe je van een beginsituatie tot een resultaat kunt komen.

Beginsituatie • grond • ingrediënten • vertrekpunt

INVOER

Beschrijving • plan • recept • wegbeschrijving

VERWERKING

Resultaat • huis • gerecht • eindpunt

UITVOER


Fiche 1

Denken als een programmeur

Het werk van een programmeur Een programmeur krijgt een project voorgeschoteld. Op de eerste plaats luistert hij naar de wensen van de softwaregebruikers. Hij ontleedt het probleem. Stapsgewijs gaat hij aan de slag.

Dit zijn maar enkele van de vragen die een programmeur voorgeschoteld krijgt: • Ontwerp een administratieprogramma voor een school. • CreĂŤer een stratenplan. • Ontwerp een module in Word waarmee je snel ideeĂŤn graďŹ sch kunt weergeven.

• Ontwerp een speciale knop voor een sociale netwerksite. • Maak een app voor een smartphone. • Realiseer een 3D spel. •‌

Eerst wordt nagedacht over wat er precies gegeven en gevraagd is. De programmeur analyseert het probleem en komt tot een stap-voor-stap oplossing van het probleem, een algoritme. Dit algoritme wordt vertaald naar een programmeertaal. De leuze van een programmeur is steeds: “eerst denken en dan doen!�.

gegeven

• INVOER

Programmeren is ‌

programmeur

• VERWERKING

gevraagd

• UITVOER

een probleem herleiden tot eenvoudige stukken. een probleem in fasen splitsen. een probleem visualiseren. een algoritme vertalen in een eenvoudige taal die zelfs een computer begrijpt.

De programmeur moet het algoritme vertalen naar een programma in een programmeertaal. Dit is de taal die de computer begrijpt en kan uitvoeren. Er bestaan heel veel programmeertalen. De meest gebruikte zijn Java, Objective-C, PHP, Javascript, Flash met actionscript, VB.NET ‌ Elke programmeertaal heeft zijn eigen woordenschat, syntax en grammatica. Als je wilt programmeren, moet je deze taal goed beheersen.


1

Maak een stappenplan Je wilt een telefoonnummer van iemand te weten komen. Gegeven: naam en adres van die persoon. Gevraagd: • Zoek het telefoonnummer op http://www.1207.be. • Noteer het gevolgde stappenplan.

FICH E 1

_____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________

2

De analyse is belangrijk Schets het gegeven, de invoer, de uitvoer en de verwerking van onderstaande problemen. Gegeven: enkele problemen. Gevraagd: zoek naar het gegeven, de invoer, de verwerking en de uitvoer. • De Maglevtrein rijdt heen en terug van Shanghai-centrum naar de luchthaven. Een enkele reis duurt 8 minuten en de gemiddelde snelheid is 400 km/uur. Welke afstand legt de trein af? Gegeven

Invoer Verwerking Uitvoer

• Zoek de delers van een getal. Hoe ga je hiervoor te werk? Gegeven

Invoer Verwerking Uitvoer


Fiche 1

Denken als een programmeur

Van probleem tot computerprogramma Welke stappen volgt een programmeur bij het ontwerpen van een programma?

Elk probleem zullen we aanpakken in 6 stappen:

Fase

Omschrijving Probleemstelling We staan voor een bepaalde uitdaging. We proberen eerst het probleem zo goed mogelijk te begrijpen. Probleemanalyse Zoeken naar wat gegeven is, de invoer, de verwerking en de uitvoer. Algoritme maken Maak een schematische voorstelling. Hiervoor kun je gebruik maken van: • PSD’s (Programma Structuur Diagrammen) of Nassi-Shneiderman diagrammen, • blokkenschema’s. Je kunt deze schema's online maken met Structorizer (http://structorizer.fisch.lu). Programma Zet het algoritme om naar een programma: • ontwerp een omgeving, • maak het programma. Hiervoor kun je gebruik maken van Blue Griffon (http://bluegriffon.org). Testen Test het programma meermaals uit. Neem telkens verschillende waarden voor de invoer: • grote getallen, • kleine getallen, • speciale waarden, • de waarde nul, •… Kortom, zorg ervoor dat elke uitzondering getest wordt. Documenteren Documenteer het programma met extra informatie zoals: • een omschrijving van het probleem, • de titel van het project, • de auteur van het project, • de ontwikkelingsdatum. Moeilijke opdrachten kun je verduidelijken zodat … • de leesbaarheid van de programma’s wordt vergroot, • je later eenvoudig aanpassingen kunt maken, • andere leden van het programmeerteam wijzigingen en verbeteringen kunnen aanbrengen.


Een voorbeeld maakt het duidelijk

Fase

Omschrijving Probleemstelling Bereken de oppervlakte van een rechthoekig stuk grond. FICH E 1

Probleemanalyse gegeven: invoer:

lengte breedte verwerking: oppervlakte rechthoek = lengte x breedte uitvoer: oppervlakte

FICH E 2

Algoritme maken FICH E 3

FICH E 4

FICH E 5

Programma FICH E 6

Ontwerp • je omgeving

• het programma

FICH E 7

FICH E 8

FICH E 9

Testen Test het programma verschillende keren uit, bv. met de getallen 100 en 15, 0 en 5. FICH E 10

Documenteren • het algoritme.

• het programma.


Fiche 1

Denken als een programmeur

Wat heb ik nodig om zelf een pro Je weet dat er telkens verschillend Wat zal jij als programmeur nu nod

PROBLEEM

1 Visualiseren met Structorizer

Structorizer Applet

Structorizer op je pc

Visualiseren Je kunt een schets maken van het probleem op papier. Je kunt ook gebruik maken van Structorizer. http://structorizer.ďŹ sch.lu

Online

Ofine

Met een applet.

Download het programma en installeer het.

Structorizer online met een applet:

Structorizer op je pc:


gramma te maken? e stappen zijn om tot het programma te komen. dig hebben?

FICH E 1

MSTELLING FICH E 2

2 Programmeren met Javascript

FICH E 3

FICH E 4

De WYSIWYG-omgeving

De uitwerking FICH E 5

FICH E 6

Programmeren Javascript is een programmeertaal die gebruikt wordt bij websiteontwikkeling. Om te pogrammeren in Javascript heb je niet veel nodig. Je maakt best gebruik van een WYSIWYG websiteontwerpprogramma zoals bv. BlueGriffon of KompoZer. FICH E 7

http://bluegriffon.org of http://kompozer.net De WYSIWYG-omgeving

De bron van het programma

Hier ontwerp je de lay-out van je website.

Typ de programmacode in. Hier werk je “backstage” in je omgeving (website).

FICH E 8

FICH E 9

FICH E 10


Fiche 1

Denken als een programmeur

3 Fase

Nummer de stappen in de juiste volgorde. Benoem iedere stap.

Omschrijving

.................................

gegeven: invoer:

...

snelheid nat wegdek: ja of nee verwerking: remafstand = (snelheid/10)2/2 reactieafstand = snelheid/10*3 als het wegdek nat is, wordt de remafstand vermenigvuldigd met 1,5 stopafstand =remafstand+reactieafstand uitvoer: remafstand reactieafstand stopafstand

.................................

...

.................................

Geef de volgende snelheden in en noteer de rem-, reactie- en stopafstand. Snelheid ...

120 50 0

.................................

...

Remafstand

Reactieafstand

Stopafstand


.................................

...

Bereken de stopafstand van een wagen: dit is de remafstand samen met de afstand die je aegt tijdens het beslissen en het reageren. (Deze afstand leg je dus nog af tegen je oorspronkelijke snelheid!) Als het wegdek nat is, moet de remafstand vermenigvuldigd worden met 1,5. FICH E 1

.................................

...


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.