Forts. i programmering Flashcards

1
Q

Hur organiseras filer i en dator?

A

I en hierarkisk trädstruktur

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

Vad är ‘relativa sökvägar’?

A

De anges i förhållande till det working directory man befinner sig i för tillfället:
\images\img001.jpg

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

Vad är ‘absoluta sökvägar’?

A

Anges i förhållande till roten av filsystemet:
C:\documents\images\img001.jpg

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

Vad är tecknet ‘~’ en förkorninga av?

A

Hemkatatlogen i sökvägen:
\User\xchaag\Documents –>
~\Documents

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

Vad är ‘PATH’?

A

En miljövariabel som finns för att man ska kunna köra program även om man inte står i aktuell katalog

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

Vad är en interpreterare?

A

Ett speciellt programm som kan tolka kod man skriver

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

Vad är standardmoduler?

A

Funktioner som följer med vid installation av python, men måste importeras innan man vill använda de.
Vanliga ex; Math, Random

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

Hur importerar man en modul?

A

Genom att skriva “import ‘modulnamn’” innan modulen ska användas i koden

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

Hur går man till väga för att använda bibliotek i python?

A

Man måste installera de innan de kan importeras. För att göra detta skrivs “pip install ‘bibliotekets_namn’” i terminalen

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

Vad är en fördel med att ha olika miljöer till olika projekt?

A

Det tillåter oss att ha olika moduler intallerade till de olika projekten, risk för att de olika modulerna och biblioteken krockar annars

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

Vad är debugging?

A

När man åtgärdar fel i programmet genom att stega sig igenom programmet

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

Vad är breakpoints?

A

Markeringar som sätts ut där man vill att stegandet ska börja. När programmet körs går det som vanligt fram hit och börjar sedan rad för rad på användarens kommando.

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

Vad gör ‘continue’ i en debugger?

A

Hoppar vidare till nästa breakpoint eller till programslutet

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

Vad gör ‘step in’ i en debugger?

A

Om det finns ett funktionsanrop på raden, så följ med in i funktionen. Annars, gå vidare till nästa rad

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

Vad gör ‘step over’ i en debugger?

A

Gå vidare till nästa rad. Om det finns ett funktionsanrop på raden, gör det bakom kulisserna

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

Vad gör ‘step out’ i en debugger?

A

Om du klivit in i en funktion så kliv ut och fortsätt efter funktionsanropet (resten av funktionen utförs automatiskt)

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

Vad är ett kompileringsfel?

A

Syntaxfel och liknande. Saker som gör att Python inte förstår koden

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

Vad är exekveringsfel?

A

Uppstår under programmets gång; tex att man försöker öppna en fil som inte finns eller att man stegar utanför gränserna i en datastruktur

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

Vad är logiska fel?

A

Fel i själva logiska uppbyggnaden av programmet. Uppstår ofta i komplicerade villkorssatser

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

Vad innebär abstraktion?

A

Att skjuta problem framför sig. Man ska se det som att språket man använder sig av har alla de funktioner man vill ha (mer abstrakta funktioner som ex skriv_faktura() eller berakna_rabatt(). Man skjuter problemet framför sig på ett kontrollerat sätt genom att skriva upp vilka funktioner som behövs till sig själv i framtiden

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

Vad innebär stepwise refinement eller stegvis förfining som det heter på svenska?

A

Vi ser vårt problem som om det består av ett antal delproblem och där sedan varje sådant delproblem kan ses som bestående av ett antal delproblem osv osv. Kopplas ihop med begreppet abstraktion

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

Hur långt bör man dra stegvis förfining?

A

Tills att varje delproblem kan skrivas med mellan 10-50 rader kod

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

Vad är datastrukturer?

A

Representation av det man vill jobba med - representerar ‘riktiga objekt’

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

Vad är procedurer?

A

Steg-för-steg instruktioner som säger vad programmet ska göra

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

Vad pratar man om när man säger instansvariabler och operationer?

A

Vi pratar om klasser!
Egenskaper=instansvariabel; Egenskaper hos objektet i fråga, kan vara egentligen var som helst som bekriver objektet
Operationer=metoder; Vad objektet kan utföra, en bil kan ex tuta och köra, dett blir dess operationer

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

Vad är objektorienterad programmering?

A

Bättre struktur, data knutna till ett objekt knyts samman med operationer man kan göra på detta objekt

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

Vad är en “klass”?

A

En riktning. Används för att skapa nya objekt. Sätter upp regler för objekt inom denna klass.

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

Vad kallas objekten i klassers egenskaper?

A

Instansvariabler. Dessa fungerar som vanliga variabler men är knutna till objektet

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

Vad kallas objektets i en klass operationer?

A

Metoder. Fungerar som vanliga funktioner, men är knutna till objekt

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

Hur skriver man en klassdefinition i python?

A

class ‘Namn_på_din_klass’:
def __init__(self, parameter, osv, osv)
self.parameter1 = parameter1
Denna funktion körs ALLTID när ett nytt objekt skapas. Resterande metoder (funktioner) under en klass måste kallas på som vanligt.

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

Hur skapar man ett objekt till sin klass?

A

Genom att skriva:
valfri_variabel = klassens_namn(parameter, osv, osv)

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

Hur får jag ut en egenskap/instansvariabel på ett specifikt objekt i en klass?

A

objektets_variabelnamn.instansvariabel
Glöm inte att skriva print() runt om om du vill få resultatet skrivet i terminalen

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

Hur skickar jag in någonting i en speciell metod i en klass för ett specifikt objekt?

A

objektets_variabelnamn.metodens_namn(argument)

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

Vad menas med ‘self’ när vi pratar om klasser?

A

Att objektet refererar till sig själv. När vi definerar en metod(funktion) är det viktigt att första parametern är ‘self’. Detta för
att klassen ska veta vilket objekt det
är som ska använda sig av
funktionen som finns i “ritningen”

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

Hur skriver man en metod för en klass?

A

def funktionens_namn(self, parameter, osv, osv)
Man MÅSTE alltid inleda parametrarna med self

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

Vad är __init__?

A

En konstruktor, dvs en metod (funktion) som körs automatiskt då ett nytt objekt skapas

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

Vad är information hiding/encapsulation/inkapsling?

A

Gömmer information från programmeraren, ex interna variabler som används hela tiden.
Ex: Vi vill veta hur vi ska öppna en fil, men inte exakt hur detta görs och vilka interna variabler som används

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

Vad står API för?

A

Application Programming Interface.

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

Hur kan vi skriva en variabel så den göms (python)?

A

Med dubbelt understrykningsstreck innan:
__variabel. Finns en tyst överenskommelse att man inte använder dessa variablenamn utanför klasserna

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

Vad står UML för?

A

Unified Modelling Language

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

Vad är numpy?

A

Ett pytonbibliotek för numerisk beräkning.

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

Vad är numpy.array?

A

En multidimentionell datatyp som möjliggör effektiv lagring och hantering av stora mängder data

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

Vad gör funktionen np.shape(array_namn)? (numpy)

A

Kan också skrivas array_namn.shape. Funktionen anger storleken på arrayen i formatet: dim1, dim2, … dimn

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

Hur många dimensioner kan numpy arrays ha?

A

Hur många som helst

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

ny_array = np.array([10,13,12,19,25])
Vad skriver följande kod ut?
1. print ( ny_array [ 1 : 3 ] )
2. print ( ny_array [ 1, 3, 4 ] )
3. print ( ny_array [ ny_array > 13 ] )

A

[13 12]
[13 19 25]
[19 25]

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

Vad skriver denna funktion ut?
ny_array = np.zeros([3, 6])
print(ny_array)

A

[[0,0,0,0,0,0],
[0,0,0,0,0,0],
[0,0,0,0,0,0]]
Funktionen np.zeros([]) skriver ut en valfri storlek på en array med bara 0or

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

Vad gör denna matematiska operation med en array?
ny_array + 3

A

Adderar 3 på ALLA värden in arrayen

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

Vad gör denna matematiska operation med en array?
ny_array[ :, 2 ] + 3

A

Plockar ut de värden med indexvärde 2 och adderar 3 till dessa värden

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

Vad gör denna matematiska operation i en array?
ny_array + ny_array

A

Adderar värdena på arrayen med respektive värde på den andra arrayen (följer indexering = samma indexvärden adderas ihop)

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

Vad gör denna matematiska operatin med en array?
ny_array[ny_array<3] = 0

A

Alla värden i ny_array som är mindre än tre skrivs om till 0

51
Q

Vad gör denna matematiska operation med en array?
ny_array[ny_array>5] += 10

A

Alla värden i arrayen som är större än 5 adderas med 10

52
Q

np.mean() ska skrivas med vissa parametrar inom paranteserna, vilka?

A

(namn_på_array, axis=n(n=varlfritt nr))

53
Q

Vad ger np.mean() för svar?

A

Medelvärdet för en array

54
Q

np.sum() ska skrivas med vissa parametrar inom paranteserna, vilka?

A

(namn_på_array, axis=n(n=valfritt nr))

55
Q

Vad ger np.sum() för svar?

A

Summan av en array

56
Q

Vad bestämmer ‘axis’ i funtionerna sum och mean i arrays?

A

Vilken dimension som funktionen ska beräknas på.
axis=0 beräknar för kolumner
axis=1 beräknar för rader

57
Q

Hur stora värden kan man tilldela axis?

A

Det beror på arrayens dimentioner
Om en array har 2 dimentioner kan axis=0,1
Om en array har 3 kan axis=0,1,2
Om en array har 4 kan axis=0,1,2,3
Osv

58
Q

Vad gör np.arange() funktionen?

A

Skapar en array av siffror från ett värde till ett annat med specifika mellanrum

59
Q

Vilka parametrar står i paranteserna får np.arange() funktionen?

A

np.arrange(From, To, [diff])
From bestämmer vilket värde arrayen ska börja på
To bestämmer vilket värde arrayen ska stanna innan
diff bestämmer mellanrummen som ska vara mellan varje värde

60
Q

Vad gör np.min() resp np.max() funktionerna?

A

Ger min resp maxvärdet av en array. Om en axis matas in som parameter i funktionen ges max/min för dimentionen axis är bestämt till

61
Q

Vad gör np.argmax() resp np.argmin() funktionerna?

A

Ger index på min eller max värdet i en array. Om axis anges som parameter ges svaret längs dimentionen som axis anger

62
Q

Vad gör funktionen panads.DataFrame()?

A

Skapar en Pandas DataFrame

63
Q

Vad gör din_dataframe.columns?

A

Retunerar en lista av alla kolumner (dvs namn på kolumnerna, inte det som står under kolumnerna) som finns i din_dataframe

64
Q

Vad gör din_dataframe.index?

A

returnerar hur många rader ‘tabellen’ har. Om 3 är hur många index som finns är det 4 rader, då rad 1 har index = 0

65
Q

Vad gör din_dataframe.values?

A

Returnerar något som liknar en array, vär varje [] innehåller var rads alla värden.

66
Q

Hur skriver vi kod som returnerar kolumndata från en viss kolumn?

A

print(din_dataframe[‘namn_på_kolumnen’]

67
Q

Hur skriver vi kod som returnerar raddata från en viss rad, dock formaterad som en tabell?

A

din_dataframe.iloc[index]

68
Q

Vad är rekursion?

A

En funktion/procedur/metod som anropar sig själv.

69
Q

Hur skriver man kod som läser in en csv fil med pandas?

A

df_csv = pd.read_csv(‘file.csv’)

70
Q

Hur skriver man kod som läser in en excel fil med pandas?

A

df_csv = pd.read_excel(‘file.xlsx’)

71
Q

Vad är en csv fil?

A

En textfil fär varje rad är en ny rad och varje kolumn separeras med ett kommatecken

72
Q

Vad gör funktionen din_dataframe.head()? (pandas)

A

Visar de första eller sista N raderna av en DataFrame.
Man definerar vilka rader man vill visa i parantesen
print(din_dataframe.head(3)), visar tre första raderna

73
Q

Vad gör funktionen din_dataframe.describe()? (pandas)

A

Ger information och summerande statistik om en DataFrame

74
Q

Vad gör funktionen din_dataframe.groupby()? (pandas)

A

Grupperar en kolumn, utifrån kolumnnamet som sätts inom parantesen.

75
Q

df.to_csv(‘output.csv’)
df.to_excel(‘output.xlsx’)
Vad gör dessa funktioner? (pandas)

A

Sparar en DataFrame till en csv- eller excelfil

76
Q

Vad är ett histogram?

A

Ett diagram som visar frekvens fördelningen (ser ut som ett stapeldiagram typ)
Vanligtvis: X-axel = dataintervall, Y-axel = frekvens

77
Q

Vad är ett linjediagram (line plot)?

A

Diagram som används för att visualisera trender och mönster. Visar förändring över tid eller kontinuerliga värden.

78
Q

Vad är scatterplot?

A

Ett diagram som visar sambandet mellan två variabler där varje punkt representerar ett par värden.
Används för att identifiera korrelationer eller mönster

79
Q

Vad är ett stapeldiagram (bar plot)?

A

Ett diagram som visar antal för olika kategorier

80
Q

Vad är ett boxplot?

A

Ett diagram som visar fördelning av data.

81
Q

Vad är en chartchunk?

A

Önädiga grafiska datarepresentationer som ofta kan vara missvisande.
Kan göras med 3D effekter som blir svåra att läsa.

82
Q

Vilka aspekter är viktiga när man gör grafer?

A

Tydliga axellabels för att förklara variablerna.
Skalor och enheter bör vara lätt att förstå.
Undvik chartchunk
Användning av färger för att förstärka budskapet.

83
Q

Vad är matplotlib?

A

Ett sandard pythonpaket för visualiseringar

84
Q

Hur importeras matplotlib?

A

import matplotlib.pyplot (as plt)(frivilligt)

85
Q

Vad är funktionerna för att skapa olika typer av diagram?

A

Linjeplot ax.plot(), Histogram ax.hist(), Stapeldiagram ax.bar(), scatter
ax.scatter(), boxplot, ax.boxplot()

86
Q

Hur skriver man kod för att redigera figurer?

A

ax.set_xticks(),
ax.set_yticks(),
ax.set_xticklabels(),
ax.set_yticklabels(),
ax.set_title(),
ax.set_ylim(),
ax.legend()

87
Q

Vad är ett termineringsvillkor?

A

I en rekurion är det viktigt att det finns ett termineringsvillkor som gör att rekursionen bryts, dvs att den slutar kalla på sig själv när villkoret uppfylls.

88
Q

Vad är basfall?

A

I en rekursion är det viktigt att definera ett basfall för att undvika att hamna i en oändlig loop. Basfallet representerar det enklaste eller minsta fallet som kan lösas direkt utan att behöva göra ytterligare rekursiva anrop.
Ex n = 0, och ett termineringsvillkor som gör att loopen bryts när basfallet uppnås

89
Q

Vad menas med trädstruktur?

A

Den kanske viktigaste abstrakta datastrukturen inom IT.
Hierarkisk struktur, många användningsområden:
Filsystem, kompilatorer, analysera naturligt språk, organisations hierarkier, sorteringsalgoritmer etc

90
Q

Vad kallas en nod utan barn?

A

Löv

91
Q

Hur många barn kan noder ha?

A

0 eller flera, är det 0 kallas det dock för löv

92
Q

Vilka noder har föräldrar?

A

Alla utom roten

93
Q

Vad gör denna trädfunktion: create

A

Skapar ett träd

94
Q

Vad gör denna trädfunktion: insert

A

Lägger till ny nod

95
Q

Vad gör denna trädfunktion: size

A

Räknar antal noder

96
Q

Vad gör denna trädfunktion: height

A

Räknar längsta väg

97
Q

Vad är ett villkor för binära träd?

A

Max två barn per nod. Vanlig struktur för sortering, parsing

98
Q

Vad är en riktad graf?

A

Där en relation mellan två noder bara kan gå åt ett håll
Ex; A –> B men INTE B –> A

99
Q

Vad är en oriktad graf?

A

Relationen mellan två noder går åt båda hållen

100
Q

Vad är en viktad graf?

A

I en viktad graf är relationerna mellan olika noder olika “stora”

101
Q

Vad är en databas?

A

En samling relaterade data

102
Q

Vad är en relationsdatabas?

A

Datan lagras i tabeller, en tabell för varje entitet. Relationerna sitter mellan tabellerna

103
Q

Vad är en primärnyckel?

A

Något varje tabell måste ha. Ett specifikt val av en minimal uppsättning attribut som unikt specificerar en tupel i en relation.

104
Q

Vad är en foreign key (främmande nyckel)?

A

En främmande nyckel är en uppsättning attribut i en tabell som refererar till primärnyckeln i en annan tabell, som länkar dessa två tabeller.

105
Q

Vad är DBMS?

A

Database Management System.
Programvaran som hanterar kopplingarna i databasen

106
Q

Vad är SQL?

A

Språket genom vilket man talar med DBMS

107
Q

Nämn några fördelar med databaser?

A

Strukturerad lagring
Återanvändning
Kan användas av flera applikationer

108
Q

Hur hämtar man alla id som har ett speciellt villkor från en tabell?

A

select * from p where ditt_villkor (ex color = “Red”)

109
Q

Hur får man ut innehållet från en viss column i en tabell?

A

select kolumn_namn from p;
för att få ut alla möjliga färger, dvs inga upprepningar:
select distinct color from p;

110
Q
A
111
Q

Hur skriver man ut innehållet för ett specifikt id?

A

select * from p; (;=vilket index du vill)?

112
Q

Vad är skillnaden på grafik och GUI?

A

Grafik är bibliotek skapade för ren grafik och visualisering.
GUI (grafical user interface) är bibliotek skapade för att bygga grafiska gränssnitt, ofta uppbyggt runt knappar och formulär

113
Q

Vad är turtle användbart för?

A

Grafikbibliotek
Enkla spel, ritingar och matematiska mönster

114
Q

Hur skapas animeringar oftast?

A

Följer en loop.
1. Visa objekt
2. Ta bort objekt
3. Ändra objektets egenskaper
4. Visa objektet igen

115
Q

Vad är pygame anävndbart för?

A

Grafikbibliotek
Största spelbiblioteket för python.
Passar bra till massa grafik och färg

116
Q

Vad är arcade anävndbart för?

A

Grafikbibliotek.
Har en inbyggd loop.
Passar bra till massa grafik och färg.

117
Q

Vilket av grafik och GUI har ett fokus på widgets?

A

GUI

118
Q

Vad är Native GUI?

A

Den anpassar sitt utseende efter resterande program på platformen som används för stunden.
Är bra för standardprogram

119
Q

Vad är egendesignat GUI?

A

Ett eget utseende skapas som följer programmet oavsett platsform det används på.
Bra för spel osv, sådant som inte är standard

120
Q

Vad är tkinter användbart för?

A

GUI-bibliotek, egendesignat
Väldigt enkelt och daterat utseende
Fungerar bra för simpla grejer (inlogg ex)

121
Q

Vad är pysimpleGUI användbart till?

A

Bygger på tkinter, GUI bibliotek
Egendesignat
Snyggare variant
Har som syfte att på ett enkelt sätt jobba med GUIn

122
Q

Vad är QT for python användbart för?

A

GUI-bibliotek
Native
Krångligt och överkurs (professionellt)
Till för att bygga seriösa gränssnitt

123
Q

Vad är Kivy användbart för?

A

GUI bibliotek
Egendesignat
Fokuserat på mobiler och touchkontroller, men funkar även på datorer.
Färdoga program kan enkelt packas ner till appar
Bra för specialprogram

124
Q

Vad är flet användbart för?

A

GUI bibliotek
Egendesignat
Främst för mobiler
Byggs med controls (flutter widgets)