100% tevredenheidsgarantie Direct beschikbaar na betaling Zowel online als in PDF Je zit nergens aan vast
logo-home
Samenvatting Computationeel Denken (CODE) €5,99   In winkelwagen

Samenvatting

Samenvatting Computationeel Denken (CODE)

 54 keer bekeken  1 keer verkocht

Nederlandse Samenvatting van het vak Computationeel Denken (CODE), Informatiekunde UU

Voorbeeld 4 van de 33  pagina's

  • 25 oktober 2023
  • 33
  • 2021/2022
  • Samenvatting
Alle documenten voor dit vak (6)
avatar-seller
timb3
Benadering programmeertalen

Twee manieren van programmeren

- Declaratief: voer kennis in over het domein en laat de computer met een algemene
oplossingsstrategie de taak uitvoeren
- Imperatief of Procedureel: vertel de computer stap voor stap wat het programma moet
doen

Declaratief programmeren is verdeeld in logisch programmeren en functioneel programmeren

Functioneel:

- Functioneel programmeren beschouwt een programma als een verzameling wiskundige
functies die gegeven een bepaalde input altijd dezelfde output geven
- Geen side effects zoals nieuwe waardes voor variabelen

Logisch programmeren

- Logisch programmeren beschouwt een programma als een verzameling feiten en regels
- Feit: het regent. Regel: als het regent word je nat. Conclusie: je wordt nat
- Je kunt het programma een vraag stellen (regent het? of: word je nat? ) en de computer
berekent het antwoord automatisch, gegeven de feiten en regels

Imperatief programmeren verteld de computer stap voor stap wat het programma moet doen

Python is imperatief

Variabelen

- Een van de belangrijkste programmeerconcepten: variabelen
- Een naam voor bepaalde data in de code
- Waarde kan veranderen
- Computationeel denken: code is een abstractie van een probleem
- Variabelen zijn cruciaal voor abstractie

Abstractie

- Algoritme: stappen om een taak uit te voeren
- Vaak: dezelfde taak in verschillende situaties
- Abstracte taak
- Gebruik variabele N in het algoritme

Variabelen in Python

- Naam = waarde
- A=3
- Beter: naam met duidelijke betekenis
- Aantal = 3
- Geen declaratie, geen datatype
- Technisch: verwijzing naar een of meer geheugenadressen
a = 3 betekent reserveer geheugenadres 948004445684 en 948004445685 voor variabele a
en schrijf de waarde 3 (00000000 00000011) naar die adressen

,Regels voor variabelenamen

- Niet elke naam voor een variabele is toegestaan
- Variabelen bestaan uit letters, cijfers en _
- Het eerste karakter moet een letter of underscore zijn (geen cijfer!)
- Variabelen zijn hoofdlettergevoelig
- Keywords uit de taal zijn niet toegestaan als variabelenaam
o If, or, and, import, etc.
o Wel toegestaan maar niet handig: print, input, exit
- Accenten, speciale tekens, ander alfabet mag ook

Volgorde

- Imperatief/procedureel programmeren: volgorde essentieel!
- Functies moeten worden uitgevoerd voordat het resultaat gebruikt kan worden
(bij declaratief programmeren mag dit wel)

Datatypes

- Variabelen in Python hebben een type
- Afhankelijk van de waarde

Designkeuzes Python

- Doelstelling: eenvoudig te gebruiken taal
- Datatypes zoveel mogelijk impliciet
- Een variabele kan van type veranderen
- In veel gevallen hoeft de gebruiker zich niet bezig te houden met types

Gebruik van types

- Soms types wel belangrijk voor de gebruiker
o Delen kan bij int en float, niet bij string en bool
o Lengte berekenen: alleen string
- Andere operaties zijn verschillend gedefinieerd
o Optellen voor ints: wiskundig optellen
- Maar: gebruiker doet dit meestal vanzelf goed
- Code die de lengte van een bool opvraagt komt weinig voor

Technische verschillen

- Python bepaalt het datatype op basis van de inhoud
- Elk type wordt anders opgeslagen in het geheugen
o Integer: 32 bits (4 bytes)
o Bool: 1 bit
- Geheugenoperaties en datatypes allemaal automatisch
- Anders dan eerdere talen (C, C++, Java)
- Automatisch geheugenmanagement vaak langzamer

,Type-conversie

- Soms handmatige conversie nodig
o Bijvoorbeeld combineren van strings en ints in een variabele
- Conversie-functies: int(), str(), float()
- Type opvragen met type()
- Let op dat conversie niet altijd mogelijk is

Rekenoperatoren

- Standaard operatoren
(+ - / *)

Gebruik rekenoperatoren

- In situaties waar je een getal kan gebruiken
- Variabele-toekenning
- Print-statements
- Datatypeconversie
- Etc.
- Kortere notatie om rekenen te combineren met variabele-toekenning: +=, -=

Haakjes

- Gebruik haakjes waar nodig
- Als iets tegen prioriteitsregels ingaan
- Binnen de groepen: links naar rechts

Getal representatie

- Integer: geheel getal, positief of negatief
- Geheugen: 1 bit positief/negatief, overige bits voor het getal
- Kommagetallen: twee mogelijkheden
- Fixed point notation: vast aantal bits voor integer-deel en decimaal deel
- Eigenlijk twee losse getallen
- Nadeel: geheugen voor integer-deel is beperkt terwijl decimaal deel vaak niet gebruikt
wordt
- 16 bits getal, 8 bits per deel, maximum 28 − 1 = 255
- 200.1 past hierin maar bv. 300.1 niet
- Het totaal aantal bits voor een getal kan niet tussendoor worden aangepast

, Floating point

- Fixed point maakt niet efficiënt gebruik van het geheugen
- Floating point: verschuivende grens tussen integer-deel en decimaal deel
- Meer bits nodig voor integer-deel: punt schuift op
- Minder precisie voor decimaal deel
- Voorbeeld: 101.234 (8 bits per deel) vs. 1012.23 (10 bits voor integer, 6 bits voor decimaal)
- In Python:
7/3.57
1.9607843137254903
782/3.57
219.04761904761907
42949672960/1.33
32292987187.969925
429496729600/1.33
322929871879.6992

Integers en floats

- Getal zonder punt: int
- Getal met punt: float
- Ints en floats samen worden altijd float
- Delen wordt altijd float, ook bij twee ints
- Exponent, modulus wordt float als een van beide getallen float is, anders int
- Integer delen wordt float als een van beide getallen float is

Precisie van floats

- Intern: decimalen opgeslagen als breuken in veelvouden van 2
- Handig met bits




- Iedere programmeertaal heeft dit probleem
- Speciale libraries voor infinite precision floating point

Voordelen van het kopen van samenvattingen bij Stuvia op een rij:

Verzekerd van kwaliteit door reviews

Verzekerd van kwaliteit door reviews

Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!

Snel en makkelijk kopen

Snel en makkelijk kopen

Je betaalt supersnel en eenmalig met iDeal, creditcard of Stuvia-tegoed voor de samenvatting. Zonder lidmaatschap.

Focus op de essentie

Focus op de essentie

Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!

Veelgestelde vragen

Wat krijg ik als ik dit document koop?

Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.

Tevredenheidsgarantie: hoe werkt dat?

Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.

Van wie koop ik deze samenvatting?

Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper timb3. Stuvia faciliteert de betaling aan de verkoper.

Zit ik meteen vast aan een abonnement?

Nee, je koopt alleen deze samenvatting voor €5,99. Je zit daarna nergens aan vast.

Is Stuvia te vertrouwen?

4,6 sterren op Google & Trustpilot (+1000 reviews)

Afgelopen 30 dagen zijn er 82871 samenvattingen verkocht

Opgericht in 2010, al 14 jaar dé plek om samenvattingen te kopen

Start met verkopen
€5,99  1x  verkocht
  • (0)
  Kopen