100% tevredenheidsgarantie Direct beschikbaar na je betaling Lees online óf als PDF Geen vaste maandelijkse kosten 4,6 TrustPilot
logo-home
Samenvatting

Samenvatting Computationeel Denken (CODE)

Beoordeling
-
Verkocht
1
Pagina's
33
Geüpload op
25-10-2023
Geschreven in
2021/2022

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

Voorbeeld van de inhoud

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

Documentinformatie

Geüpload op
25 oktober 2023
Aantal pagina's
33
Geschreven in
2021/2022
Type
SAMENVATTING
€6,49
Krijg toegang tot het volledige document:

100% tevredenheidsgarantie
Direct beschikbaar na je betaling
Lees online óf als PDF
Geen vaste maandelijkse kosten

Maak kennis met de verkoper

Seller avatar
De reputatie van een verkoper is gebaseerd op het aantal documenten dat iemand tegen betaling verkocht heeft en de beoordelingen die voor die items ontvangen zijn. Er zijn drie niveau’s te onderscheiden: brons, zilver en goud. Hoe beter de reputatie, hoe meer de kwaliteit van zijn of haar werk te vertrouwen is.
timb3 Universiteit Utrecht
Bekijk profiel
Volgen Je moet ingelogd zijn om studenten of vakken te kunnen volgen
Verkocht
15
Lid sinds
2 jaar
Aantal volgers
7
Documenten
10
Laatst verkocht
5 maanden geleden

0,0

0 beoordelingen

5
0
4
0
3
0
2
0
1
0

Populaire documenten

Recent door jou bekeken

Waarom studenten kiezen voor Stuvia

Gemaakt door medestudenten, geverifieerd door reviews

Kwaliteit die je kunt vertrouwen: geschreven door studenten die slaagden en beoordeeld door anderen die dit document gebruikten.

Niet tevreden? Kies een ander document

Geen zorgen! Je kunt voor hetzelfde geld direct een ander document kiezen dat beter past bij wat je zoekt.

Betaal zoals je wilt, start meteen met leren

Geen abonnement, geen verplichtingen. Betaal zoals je gewend bent via iDeal of creditcard en download je PDF-document meteen.

Student with book image

“Gekocht, gedownload en geslaagd. Zo makkelijk kan het dus zijn.”

Alisha Student

Veelgestelde vragen