Bindingen en scope

20 belangrijke vragen over Bindingen en scope

Geef een omschrijving van het begrip binding

Een binding is een vaste associatie tussen een identifier en een entiteit, zoals een waarde, variabel of procedure

Geef een omschrijving van het begrip bindable

Een bindable entity is een entity die gebonden wordt aan een identifier.
C's bindable entities zijn tpes, varibelen en functie procedures.
Java's bindable entities zijn values, local variabelen , instance en klasse variabelen, methoden en klasse packages.
Ada's bindable entities bevatten types, values, variabelen, procedures, exceptions, packages en taken
In Haskell kunnen alle waarden worden gebonden

Geef een omschrijving van het begrip scope

De scope van een declaratie is het deel van de programmatekst waarover de declaratie actief is. Voor de scope van een binding is het deel van de programmatekst waarover de binding gaat
  • Hogere cijfers + sneller leren
  • Niets twee keer studeren
  • 100% zeker alles onthouden
Ontdek Study Smart

Geef een omschrijving van het begrip blok

Deel van het programma waarin de declaraties gelden.

Geef een omschrijving van het begrip blokstructuur

De structuur waarom de blokken zijn georganiseerd

Geef een omschrijving van het begrip zichtbaarheid

Als een inner blok een declaratie I bevat, dan gebeurt alles met I binnen dat binnen (inner) blok en niet door het buiten (outer) blok. De buiten blok declaratie van I is dan niet zichtbaar door de binnendeclarartie van I.

Geef een omschrijving van het begrip binding occurrence

Een binding occurence van indentifier I is een occurence waar I gebonden is aan een entiteit X

Geef een omschrijving van het begrip applied occurence

Een applied occurence van I is een occurence waar gebruik gemaakt is van de entity X die gebonden is aan I. Op elke applied occurence zeggen we I denotes X (I duidt X)

Geef een omschrijving van het begrip statische en dynamische scoping

Een taal is statisch gecoped als de body van een procedure wordt uitgevoerd in de omgeving van de procedure definitie Dus kunnen we tijdens de compilatietid beslissen welke binding voorval van een identifier correspondeert bij een gegeven toegepaste voorval.
Een taal is dynamisch gescoped als de body van een procedure uitgevoerd wordt in de omgeving van de procedure aanroep. Deze omgeving verandert van de ene procedure aanroep naar de andere procedure aanroep, dus kunnen we pas tijdens run-time zien welke bindings er zijn van een identiefier correspondeert me een toegewezen voorval.
Haskell, Javaen andere moderne talen kennen statische scoping.

Geef een omschrijving van het begrip vrije naam

<TODO>

Geef een omschrijving van het begrip declaratie

In deze cursus gebruiken we het woord declaratie bij een nieuwe variabele declaratie en bij een  nieuwe typedeclaratie. Bij de declaratie van een functie gebruiken we het woord definitie.
Een typedeclaratie dindt een identiefier aan een type
Een constante declaratie bindt een constante aan een waarde

Geef een omschrijving van het begrip collaterale declaratie

Componeert subdeclarates die onafhankelijk moet worden uitgewerkt. Bijvoorbeeld val e= 2,3 and pi=3,14 and twicepi = 2*pi (dit is FOUT) en val e= 2.3 and pi =3.14 val twicepi = 2*pi (dit is GOED)
Java en Haskell kennen geen collaterale declaraties

Geef een omschrijving van het begrip sequentiele declaratie

Sequentiele declaraties zijn declaraties die na elkaar moeten worden uitgewerkt. Elke declaratie kan bindingen gebruiken die hiervoor gemaakt zijn, maar niet die hierna nog gemaakt moeen worden

Geef een omschrijving van het begrip recursieve declaratie

Een recursieve declaratie is een declaratie die de bindingen die hij zelf produceert gebruikt.
Alle moderne programmeertalen ondersteunen recursieve declaratie, maar kunnen meestal alleen gebruikt worden op type en procedure definities.

Geef een omschrijving van het begrip blokopdracht

Een blokopdracht is een vorm van een commando die een lokale declaratie (of roep van declaraties) D en een subcommando C bevat. D bindings geproduceerd door D worden gebruikt om C uit te voeren.

Geef een omschrijving van het begrip blokexpressie

Een blokexpressie s eenexpressie die 1 of meer lokale declaraties bevat

Geef een omschrijving van het begrip blokdeclaratie

Een blokdeclaratie is een declaratie die 1 of meer lokale declaraties bevat.
Voorbeelden zijn blokdeclaraties zijn klassedeclaraties in Java en een moduledeclaratie in Haskell

Beschrijf de voor en nadelen van statische scoping en dynamische scoping

Nadeel:
- Methodeabstracties zijn moeilijker te begrijpen
- Nadelg effect op de verwerkingssnelheid, omdat deze vorm van scooping plaatsvindt tijdens de verwerking van het programma

Bepaal de omgeving (environment) op elke plaats in een gegeven programma

<TODO>

Leg het kwalificatieprincipe uit en geef 3 voorbeelden van toepassingen van het kwaliteitsprincipe

Het kwaliteitsprincipe zegt dat lokale declaraties mogelijk zijn bij alle syntactische klassen waarin expressies voorkomen.
Toepassingen van het kwalificatieprincipe zijn blokexpressies, blokopdrachten en blokdeclaraties.
In Javakomen blokopdrachten en blokdeclaraties (KLassedeclaraties) voor.
In Haskell komen blokexpressies (let-expressie) en blokdeclararties (moduledeclaraties) voor

De vragen op deze pagina komen uit de samenvatting van het volgende studiemateriaal:

  • Een unieke studie- en oefentool
  • Nooit meer iets twee keer studeren
  • Haal de cijfers waar je op hoopt
  • 100% zeker alles onthouden
Onthoud sneller, leer beter. Wetenschappelijk bewezen.
Trustpilot-logo