1/45
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Vad är ett source program (källkod)?
Källkoden som programmeraren skriver i ett högnivåspråk.
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
Vad gör en lexical analyzer?
Delar upp källkoden i tokens (minsta meningsfulla enheter).
Vad gör en parser?
Bygger upp ett parseträd (syntaxträd) och kontrollerar om koden följer språkets grammatik.
Vad gör en code generator?
Översätter syntaxträdet till maskinkod eller mellanliggande kod.
Vad är ett object program (objektkod)?
Den färdiga körbara koden (maskinkod/exekverbar fil).
Vilka tre aktiviteter ingår i översättningsprocessen av källkod till objektkod?
Lexical analysis, parsing och code generation.
Vad gör en assembler?
Översätter assemblerkod till maskinkod.
Vad gör en kompilator program?
Översätter källkod till körbar maskinkod.
Vad är skillnaden mellan en kompilator och en interpretator?
En kompilator översätter koden till körbar fil, en interpretator tolkar och kör koden direkt.
Vilka är de fyra stora programmeringsparadigmerna(programming paradigms)?
Imperativ, funktionell, objektorienterad och deklarativ (logikprogrammering).
Vad är den grundläggande byggstenen i imperativa språk?
Procedur
Vad är den grundläggande byggstenen i logikprogrammering?
Logiska formler (predikat).
Vad innebär sekvens, selektion och iteration?
Sekvens = instruktioner i ordning. Selektion = val (if-sats). Iteration = upprepning (loopar).
Vad är logikprogrammering?
Ett programmeringsparadigm där programmet består av fakta och regler. Man ställer frågor (queries) och systemet avgör om de är sanna eller falska.
Vad är resolution i logikprogrammering?
En härledningsteknik som används för att avgöra om en slutsats kan bevisas från fakta och regler.
Vad är ett objekt?
En kombination av data (attribut) och kod (metoder).
Vad är en klass? — (I objektorienterad programmering, vad kallas mallarna från vilka objekt skapas?)
En mall/ritning som beskriver vilka data och metoder ett objekt ska ha.
Vad innebär arv (inheritance)?
Att en klass kan ärva egenskaper och metoder från en annan klass utan att de behöver definieras på nytt.
Vad innebär inkapsling (encapsulation)?
Att dölja objektets inre detaljer så att användaren bara behöver känna till hur man anropar metoderna, inte hur de fungerar.
Vad innebär polymorfism?
Att samma metodnamn kan ge olika beteenden beroende på vilket objekt som anropar det.
Vad är dynamisk polymorfism?
När det bestäms vid körning vilken version av en metod som faktiskt används.
I objektorienterad programmering har man klasser och objekt. Utöver detta så finns det tre egenskaper som kännetecknar objektorienterad programmering, vilka?
Inheritance, Encapsulation och Polymorphism
Vad är concurrent programming?
Programmering där flera exekveringsvägar (trådar) körs parallellt i samma program.
Vad är concurrent processing?
När flera processer körs samtidigt på en CPU med time-sharing.
Vad är parallel processing?
När flera CPU-kärnor används för att köra kod parallellt på riktigt.
Vad är en tråd (thread)?
En parallell exekveringsväg inom samma program.
Vad är en variabel i ett programmeringsspråk?
Ett namngivet utrymme i primärminnet där man kan lagra ett värde.
Varför är det nödvändigt att veta vilken datatyp en variabel har?
För att datatypen bestämmer hur bitmönstret i variabeln ska tolkas.
Vad behöver vi veta för att tolka en variabels bitmönster korrekt?
Vilken datatyp variabeln har.
Vad kännetecknar en datastruktur av typen struct/record? (aggregate type)
Att den kan innehålla flera olika datatyper i samma struktur.
Vad kännetecknar en array?
Alla element har samma datatyp och nås med hjälp av index.
Vad är en literal i programmering?
Ett direkt angivet värde av en viss datatyp.
Vad är en konstant i programmering?
Ett namngivet värde som inte kan ändras.
Ange fyra vanliga primitiva datatyper.
Heltal (int), flyttal (float), tecken (char) och boolean.
Ge två sätt att beskriva algoritmer.
Flödesdiagram och pseudokod.
Vilken generation av språk har 1:1-förhållande mellan instruktioner och maskinkod och är maskinberoende?
Andra generationen (assembler).
Vilken generation av språk är maskinoberoende och där varje instruktion motsvarar flera maskininstruktioner?
Tredje generationen.
Producerar ett syntaktiskt korrekt program alltid korrekta resultat?
Nej, program kan vara syntaktiskt korrekta men innehålla logiska fel.
Vilken typ av fel är mest allvarliga och varför?
Logiska fel, eftersom de inte ger felmeddelande men leder till felaktiga resultat.
Vilken typ av fel är minst allvarliga och varför?
Syntaktiska fel, eftersom de upptäcks direkt av kompilatorn.
Vad innebär det att en parameter överförs som värde (passed by value)?
En kopia av värdet skickas till subrutinen, originalet påverkas inte.
Vad innebär det att en parameter överförs som referens (passed by reference)?
En referens till variabeln skickas, ändringar påverkar originalet.
Vad är syftet med att använda procedurenheter (subprogram, subrutin, procedur, funktion, metod, predikat etc.) vid programmering?
Används för att förenkla programutveckling genom abstraktion
Syntax är…
språkets regler för hur man får skriva kommandon, symboler och strukturer ex. var man måste ha parenteser