IDSV - Chapter 6 - Programming Languages Flashcards

(61 cards)

1
Q

Varför behövs programmeringsspråk?

A

För att skriva instruktioner till datorer på ett enklare sätt än maskinspråk.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad är maskinspråk?

A

Det språk som datorer förstår, bestående av 1:or och 0:or.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad kännetecknar 1:a generationens programmeringsspråk?

A

Program skrivs direkt i sifferkod och är mycket svårt och felbenäget.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad är assemblyspråk?

A

Det 2:a generationens språk med mnemoniska namn och variabler.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad är en assembler?

A

Ett program som översätter assemblyspråk till maskinspråk.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vad kännetecknar 3:e generationens programmeringsspråk?

A

Hög-nivå-språk som FORTRAN och COBOL, vilket möjliggör mer mänsklig läsbarhet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vad är en kompilator?

A

Ett program som översätter hela programmet från högnivåspråk till maskinspråk innan körning.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vad är en interpreter?

A

Ett program som kör programmet rad för rad direkt från högnivåspråket.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vad betyder cross-platform?

A

Att ett program fungerar både på olika datorer och olika operativsystem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Vad är imperativ programmering?

A

En programmeringsstil där man beskriver steg-för-steg-algoritmer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Vad är deklarativ programmering?

A

En programmeringsstil där man beskriver vad problemet är, inte hur man löser det.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Vad är funktionell programmering?

A

En stil där program består av funktioner som kombineras.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vad är objektorienterad programmering (OOP)?

A

En stil där program består av objekt som innehåller både data och funktioner.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Vad är skillnaden mellan assembler och kompilator?

A

Assembler översätter assemblyspråk till maskinspråk; kompilator översätter högnivåspråk till maskinspråk.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vad är en array?

A

En lista/tabell av värden av samma typ.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vad är en aggregate (struct)?

A

En samling av olika datatyper under ett namn.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Vad är en deklaration i programmering?

A

En definition av variabler, konstanter eller datastrukturer som ska användas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Vad är en variabel?

A

Ett namn som pekar på minnesplatser där värden kan ändras.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Vad är en konstant?

A

Ett värde som inte ändras under programmets gång.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Vad är kontrollsatser?

A

Strukturer som styr vilken kod som körs och i vilken ordning.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Nämn några vanliga kontrollstrukturer.

A
  • if-else
  • while
  • for
  • switch/case
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Vad är överlagring (overloading)?

A

När samma symbol kan betyda olika saker beroende på datatyp.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Vad är en procedurenhet?

A

Ett kodblock som gör en specifik uppgift, kallas funktion eller metod.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Vad är parametrar i en funktion?

A

Värden som skickas in i funktionen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Vad är ett returvärde?
Värde som skickas tillbaka från funktionen.
26
Vad är lokala variabler?
Variabler som gäller endast inom funktionen.
27
Vad är scripting languages?
En enklare typ av imperativa språk, ofta för automatisering.
28
Nämn några vanliga skriptspråk.
* Perl * PHP * VBScript
29
Varför använda konstanter istället för literals?
Gör koden lättare att förstå och ändra.
30
Vad är skillnaden mellan deklaration och imperativ sats?
* Deklaration = bestämma variabler och typer * Imperativ = ge instruktioner
31
Vad är vanliga datatyper?
* int * float * char * boolean
32
Vad är skillnaden på array och aggregate (struct)?
* Array = många av samma typ * Aggregate/struct = olika typer i samma 'paket'
33
Vad är globala variabler?
Globala variabler gäller i hela programmet ## Footnote För många globala variabler = dålig stil → svårare att felsöka.
34
Vilka är fördelarna med att använda globala variabler?
* Återanvändning av kod * Mindre risk för fel * Enklare att underhålla och ändra * Gör programmet mer strukturerat
35
Vad betyder dataabstraktion?
Dataabstraktion = att gömma detaljer och bara visa det som är relevant
36
Vad är abstrakta datatyper (ADT)?
Man bygger egna datatyper, exempel på inbyggda ADT: listor, stackar, köer
37
Varför behövs dataabstraktion?
* Hantera data som en helhet * Göra koden tydligare * Skydda data från felaktig användning
38
Vad är en stack?
LIFO – Last In, First Out ## Footnote Används i bl.a. funktionsanrop och historik (undo)
39
Vilka operationer finns för en stack?
* push(x) → lägg till överst * pop() → ta bort översta
40
Vad är en kö?
FIFO – First In, First Out ## Footnote Används i t.ex. köer till skrivare
41
Vilka operationer finns för en kö?
* enqueue(x) → lägg sist * dequeue() → ta först
42
Hur implementeras ADT i många programmeringsspråk?
Ofta med klasser, exempel: Java, C++, Python
43
Vad innebär inkapsling?
Man döljer hur datan hanteras internt och låter användaren bara jobba med metod-anrop
44
Ge ett exempel på inkapsling i Java.
class BankAccount { private float balance; public void deposit(float amount) { balance += amount; } public void withdraw(float amount) { balance -= amount; } public float getBalance() { return balance; } }
45
Vad är syftet med OOP?
Program ses som en samling objekt
46
Vad består ett objekt av?
* Data (attribut/variabler) * Metoder (funktioner)
47
Vad är en klass?
En ritning för objektet
48
Vad är en instans?
Ett faktiskt exempel byggt från klassen
49
Vad innebär arv inom OOP?
En klass kan ärva egenskaper från en annan
50
Vad är polymorfism?
Samma metodnamn kan bete sig olika beroende på objektet
51
Vad är en kompilator?
Översätter hela programmet till maskinkod på en gång
52
Vad är en interpreter?
Läser och kör programmet rad för rad
53
Vad är syntax i programmeringsspråk?
Formella regler som beskriver hur programmet måste skrivas
54
Vad är ett syntaxfel?
Uppstår om reglerna bryts
55
Vad är idéen bakom logikprogrammering?
Beskriva vad som är sant istället för hur ett problem ska lösas
56
Vad är Prolog?
Ett deklarativt språk som bygger på logik
57
Vad gör programmeraren i Prolog?
Anger fakta och regler, datorn drar slutsatser
58
Vilka är användningsområdena för logikprogrammering?
* Expert-system * AI * Språkförståelse * Problemlösning * Planering
59
Sammanfatta OOP-principer.
* Inkapsling * Arv * Polymorfism
60
Sammanfatta skillnader mellan kompilator och interpreter.
* Kompilator översätter hela programmet * Interpreter kör programmet rad för rad
61
Sammanfatta logikprogrammering.
Programmeraren anger fakta/regler, datorn drar slutsatser