OOP1 Flashcards
Vad är ett framework?
Framework är en programmeringsplattform som kan innehålla olika kodspråk. Förenklat är det en plattform eller ram för programmering. .NET är ett framework.
Framework, eller ramverk, är en kodsamling som
möjliggör utvecklingen av mer komplexa applikationer
(iOS, Android, Windows, Linux) exmepler på frameworks.
Förklara vad terminalen är?
Terminalen är ett sätt att navigera sig runt alla sin filera på sin dator och som man kan använda för att mata in data.
Vad är en IDE? Ge exempel på ett IDE.
Integrated Development Environment
En utvecklingsmiljö. Innehåller en textredigerare där vi kan skriva vår kod.
Hittar syntaxfel och ger förslag när vi programmerar. Genom IDE:t kan du köra dina program.
VsCode, vsStudio,
Vad är en parser?
En syntaxanalyserare. Man kan översätta det till tolk på svenska. När man matar in kommandon och läser in datafiler så behöver man en parser.
Vad är en kompilator?
En kompilator tolkar programkod (läsbart av människor) och gör om den till
maskinkod, bytekod (som endast kanläsas av andra parsers) eller något annat
språk.
All kod tänkt att användas med .NET kompileras till Bytekod
för .NET’s runtime.
● .NET kompilerar koden till maskinkod under körning, detta
kallas för Just In Time-kompilering.
Förklara vad en algoritm är?
En algoritm kan sägas vara instruktioner hur en dator skall lösa en uppgift. Man liknar detta ofta vid ett recept där man har ett antal ingredienser som skall sättas ihop enligt en tydlig instruktion. I datorn använder man istället programmeringsspråk för att beskriva hur receptet skall tillagas.
Vem var Alan Touring?
Han var den genom sin algoritm som kunde översätta tyskarnas meddelanden. Han fick fram vart tyskarna var och hur dom skulle kunna anfalla.
Den har ett nuvarande tillstånd (state) som i praktiken i
dagens datorer motsvarar minnet (hårddisk + RAM)
Den har ett känt antal instruktioner den kan använda
för att ändra sitt tillstånd.
En dator är en universell turing maskin, vilket program
som helst kan i teorin köras på alla andra universella
turingmaskiner, förutsatt att instruktionerna skrivs om på
ett tolkningsbart sätt.
Ge exempel på någon algoritm.
Bubble sort och Merge sort. Sorterar på olika sätt sin kod.
Facebook
Google
Deep Learning
AI
Självkörande bilar
Vad är en iritation?
Iteration är ett annat ord för upprepning. Inom programmering handlar detta om att en funktion eller process åstadkommer något genom att upprepa beräkningar eller andra operationer tills ett önskat resultat uppnåtts
Vilket framwork kompilerar och parsar c#?
C# kompileras och parsas (tolkas) av .NET frameworket.
Javascript parsas av webbläsaren
HTML tolkas av en webbläsaren (OBS: inget
programeringsspråk)
Källkod?
byteskod?
maskinkod?
Källkoden
är läsbar av människor. Likt det mänskliga språket. Inte optimerat för snabb körning.
Byteskod
är ej läsbart av människor, Läsbart av .NETs parser
Plattformsoberoende
Delvis optimerat för snabb körning
Maskinkod
Ej läsbart av människor,
“Ettor och nollor” BinbärKod.
Optimerat för snabb körning och är beroende av en plattform. Instruktioner för en processor.
Vad är en applikation?
Ett program är en applikation.
En applikation är en samling kod som är redo att användas i en given miljö och lösa olika problem.
Vad menas med miljö?
Där programmet ska användas i. Att förutsättningarna finns. Processor, kärna, parser framework. i Vissa sammanhang kallas detta för stack. En hög med frameworks.
Vad kallas Framework och parser gemensamt för?
Runtime! Runtime är också den tid programmet är till för att köras.
Vad är programkod?
Är instruktioner till programmet och hur det ska (parsas) tolkas.
Vad är det för skillnad på c# och .Net?
C# är ett programmeringsspråk och .Net är ett ramverk “FrameWork”
Vad är skillnaden på en algoritm och ett program?
En algoritm är en serie av instruktioner för att lösa ett problem.
Ett program är en samling körbar data för att lösa ett eller flera problem.
Vad är The Structure Theorem?
Ett resultat i ett programmeringsspråk.
Sequence (kör framåt)
Repetition (While)
Selection (if)
Vad är pseudokod?
Ett sätt att förklara algoritmer. En slags skiss för att förklara ett programmeringprogram. Används ofta i ett tidigt skede.
Vad är flowchart?
Även kallad flödesdiagram. Detta används i praktiken för dokumentation och som en typ av visuell pseudokod. Det är en arbetssprocess, lösning på problem. En programåtgärd.
Flödesdiagram. Start/slut symbol.
Avlång cirkel
Flödesdiagram. Tillstånd.
avlång fyrkant
Flödesdiagram. Beslut.
Fyrkant
Flödesdiagram. Inmatning.
Sne fyrkant
Vad är Big O Notation?
O(n)
O(n2)
O(2N)
Beskriver effektiviteten i en algoritm - med andra ord , den tid det tar för en algoritm för att köras som en funktion av storleken för insignalen till samma algoritm.
O(n) - Växer i samma takt som den inmatade data ökar
O(n2) - Varje inmatning växer komplexiteten med två. Nästlade iterationer.
O(2N) - Ökar exponentiellt