Föreläsning 10: Kapitel 6 Programming Languages

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/45

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

46 Terms

1
New cards

Vad är ett source program (källkod)?

Källkoden som programmeraren skriver i ett högnivåspråk.

2
New cards
3
New cards

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

4
New cards

Vad gör en lexical analyzer?

Delar upp källkoden i tokens (minsta meningsfulla enheter).

5
New cards

Vad gör en parser?

Bygger upp ett parseträd (syntaxträd) och kontrollerar om koden följer språkets grammatik.

<p>Bygger upp ett parseträd (syntaxträd) och kontrollerar om koden följer språkets grammatik.</p>
6
New cards

Vad gör en code generator?

Översätter syntaxträdet till maskinkod eller mellanliggande kod.

7
New cards

Vad är ett object program (objektkod)?

Den färdiga körbara koden (maskinkod/exekverbar fil).

8
New cards

Vilka tre aktiviteter ingår i översättningsprocessen av källkod till objektkod?

Lexical analysis, parsing och code generation.

9
New cards

Vad gör en assembler?

Översätter assemblerkod till maskinkod.

10
New cards

Vad gör en kompilator program?

Översätter källkod till körbar maskinkod.

11
New cards

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.

12
New cards

Vilka är de fyra stora programmeringsparadigmerna(programming paradigms)?

Imperativ, funktionell, objektorienterad och deklarativ (logikprogrammering).

13
New cards

Vad är den grundläggande byggstenen i imperativa språk?

Procedur

14
New cards

Vad är den grundläggande byggstenen i logikprogrammering?

Logiska formler (predikat).

15
New cards

Vad innebär sekvens, selektion och iteration?

Sekvens = instruktioner i ordning. Selektion = val (if-sats). Iteration = upprepning (loopar).

16
New cards

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.

17
New cards

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.

18
New cards

Vad är ett objekt?

En kombination av data (attribut) och kod (metoder).

19
New cards

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.

20
New cards

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.

21
New cards

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.

22
New cards

Vad innebär polymorfism?

Att samma metodnamn kan ge olika beteenden beroende på vilket objekt som anropar det.

23
New cards

Vad är dynamisk polymorfism?

När det bestäms vid körning vilken version av en metod som faktiskt används.

24
New cards

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

25
New cards

Vad är concurrent programming?

Programmering där flera exekveringsvägar (trådar) körs parallellt i samma program.

26
New cards

Vad är concurrent processing?

När flera processer körs samtidigt på en CPU med time-sharing.

27
New cards

Vad är parallel processing?

När flera CPU-kärnor används för att köra kod parallellt på riktigt.

28
New cards

Vad är en tråd (thread)?

En parallell exekveringsväg inom samma program.

29
New cards

Vad är en variabel i ett programmeringsspråk?

Ett namngivet utrymme i primärminnet där man kan lagra ett värde.

30
New cards

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.

31
New cards

Vad behöver vi veta för att tolka en variabels bitmönster korrekt?

Vilken datatyp variabeln har.

32
New cards

Vad kännetecknar en datastruktur av typen struct/record? (aggregate type)

Att den kan innehålla flera olika datatyper i samma struktur.

33
New cards

Vad kännetecknar en array?

Alla element har samma datatyp och nås med hjälp av index.

34
New cards

Vad är en literal i programmering?

Ett direkt angivet värde av en viss datatyp.

35
New cards

Vad är en konstant i programmering?

Ett namngivet värde som inte kan ändras.

36
New cards

Ange fyra vanliga primitiva datatyper.

Heltal (int), flyttal (float), tecken (char) och boolean.

37
New cards

Ge två sätt att beskriva algoritmer.

Flödesdiagram och pseudokod.

38
New cards

Vilken generation av språk har 1:1-förhållande mellan instruktioner och maskinkod och är maskinberoende?

Andra generationen (assembler).

39
New cards

Vilken generation av språk är maskinoberoende och där varje instruktion motsvarar flera maskininstruktioner?

Tredje generationen.

40
New cards

Producerar ett syntaktiskt korrekt program alltid korrekta resultat?

Nej, program kan vara syntaktiskt korrekta men innehålla logiska fel.

41
New cards

Vilken typ av fel är mest allvarliga och varför?

Logiska fel, eftersom de inte ger felmeddelande men leder till felaktiga resultat.

42
New cards

Vilken typ av fel är minst allvarliga och varför?

Syntaktiska fel, eftersom de upptäcks direkt av kompilatorn.

43
New cards

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.

44
New cards

Vad innebär det att en parameter överförs som referens (passed by reference)?

En referens till variabeln skickas, ändringar påverkar originalet.

45
New cards

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

46
New cards

Syntax är…

språkets regler för hur man får skriva kommandon, symboler och strukturer ex. var man måste ha parenteser