Vad är en variabel i ett programmeringsspråk?
En variabel är ett namngivet utrymme i primärminnet (main memory).
Varför är det nödvändigt att veta vilken datatyp en variabel har?
Det är datatypen som anger hur vi skall tolka det bitmönster som ligger lagrat i variabeln.
Vad är skillnaden mellan källkod och objektkod?
Källkod är den programkod som programmeraren skriver. Objektkod är den översättning av källkoden som går att köra på en dator.
Producerar ett syntaktiskt korrekt program alltid korrekta resultat?
Nej, ett syntaktiskt korrekt program kan innehålla fel, t.ex. logiska fel, som gör att programmet ger inkorrekta resultat.
Vad kallas ett program som översätter källkod till maskinkod?
Kompilator.
Vad kännetecknar en datastruktur av typen struct/record (aggregate type)?
Att det är en datastruktur sammansatt av data som kan ha olika typ.
Vad innebär det att en parameter till en subrutin överförs som värde (passed by value)?
Passed by value innebär att parametern överförs som ett kopierat värde och att detta kopierade värde lagras i en lokal variabel i subrutinen.
Vad innebär det att en parameter till en subrutin överförs som referens (passed by reference)?
Passed by reference innebär att parametern överförs som en referens till en plats där den ligger lagrad, vilket innebär att eventuella ändringar görs i den ursprungliga variabeln.
Vad gör en assemblator/assemblerare (assembler)?
En assemblator/assemblerare (assembler) omvandlar assemblerkod (assembly code) till maskinkod.
Vad kännetecknar en datastruktur av typen array?
Att alla element i datastrukturen är av samma datatyp, och att de enskilda elementen nås via index.
Vilka är de fyra stora programmeringsparadigmerna (programming paradigms)?
Imperativ, funktionell, objektorienterad och deklarativ (logik-) programmering.
Ange fyra vanliga primitiva datatyper.
Heltal (integer), flyttal (floating point number), tecken (character), boolean (sanningsvärde).
Vad gör en kompilator (compiler)?
En kompilator översätter källkod, skriven i ett programmeringsspråk, till exekverbar maskinkod.
Ett program kan ge upphov till tre olika typer av fel: syntaktiska fel, exekveringsfel och logiska fel. Vilken typ av fel är mest allvarliga och varför?
Logiska fel, eftersom de inte ger upphov till något felmeddelande.
Ett program kan ge upphov till tre olika typer av fel: syntaktiska fel, exekveringsfel och logiska fel. Vilket typ av fel är minst allvarliga och varför?
Syntaktiska fel, eftersom de upptäcks redan av kompilatorn.
Vad är skillnaden mellan en kompilator (compiler) och en interpretator (interpreter)?
En kompilator översätter programkod/källkod till körbar kod. En interpretator tolkar programkod/källkod vid själva körningen.
Vad är concurrent programming?
Programmering där man programmerar flera parallella exekveringsvägar (trådar) i samma program.
Beskriv kortfattat begreppen sekvens, selektion och iteration.
Sekvens = följd av instruktioner i ordning. Selektion = val beroende på tillstånd (if-satser). Iteration = upprepning av instruktioner (loopar).
En variabel pekar på ett bitmönster i lagrat i minnet; vad behöver vi veta för att kunna tolka bitmönstret på rätt sätt?
Vilken datatyp variabelns data har.
Vad innebär begreppen sekvens, selektion och iteration?
Sekvens: instruktioner i ordning. Selektion: olika instruktioner utförs beroende på tillstånd. Iteration: samma instruktioner utförs flera gånger.
Översättningsprocessen (translation process) av ett källkodsprogram till ett objektkodsprogram består av tre aktiviteter, vilka?
Lexical analysis, parsing och code generation.
Ge exempel på två olika sätt att beskriva algoritmer.
Flödesdiagram och pseudokod.
Vilken generation av programmeringsspråk kännetecknas av ett-till-ett-förhållande mellan språkinstruktioner och maskininstruktioner, maskin-beroende?
Andra generationen.
Vilken generation av programmeringsspråk kännetecknas av maskinoberoende, varje primitiv motsvarar en sekvens av maskinspråksinstruktioner?
Tredje generationen.