Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Summary

Samenvatting Computationeel Denken (CODE)

Rating
-
Sold
1
Pages
33
Uploaded on
25-10-2023
Written in
2021/2022

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

Institution
Course

Content preview

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

Written for

Institution
Study
Course

Document information

Uploaded on
October 25, 2023
Number of pages
33
Written in
2021/2022
Type
SUMMARY

Subjects

$7.83
Get access to the full document:

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Get to know the seller

Seller avatar
Reputation scores are based on the amount of documents a seller has sold for a fee and the reviews they have received for those documents. There are three levels: Bronze, Silver and Gold. The better the reputation, the more your can rely on the quality of the sellers work.
timb3 Universiteit Utrecht
Follow You need to be logged in order to follow users or courses
Sold
16
Member since
2 year
Number of followers
7
Documents
10
Last sold
1 month ago

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions