Ladda ner presentationen
Presentation laddar. Vänta.
1
Grundläggande datavetenskap, 4p
(rev. Jan-Erik Jonsson) Grundläggande datavetenskap, 4p Kapitel 1-9 Sammanfattning Utgående från boken Computer Science av: J. Glenn Brookshear ITM
2
Innehåll Datalagring Datamanipulation Operativsystem
Bitar, minnen, talsystem, två-komplement, grindar, lagrings-enheter, datakommunikation Datamanipulation Maskinspråk, datorarkitektur, programexekvering Operativsystem Processer, tidsdelning, multitasking, bootning, process-administration Nätverk och Internet Topologier, WWW, nätverks-protokoll, HTML, XML Algoritmer Iteration, rekursion, effektivitet Programmeringsspråk Procedurer, objektorientering, objekt, klasser, C++ Programvaruutveckling Metoder, testning Dataabstraktioner Fält (arrayer), listor, köer, objekt, klasser, egendefinierade Databaser Relationsdatabaser, SQL, filstrukturer ITM
3
Kap. 1 - Datarepresentation
Talsystem Decimala, Binära, Hexadecimala Binär addition Två-komplement Grindar ITM
4
Hexadecimalt Hexa = 6, deci = 10 Multipel av fyra bitar
1 2 3 4 5 6 7 8 9 A 10 B 11 C 12 13 E 14 F 15 b3 b2 b1 b0 H D 1 2 3 4 5 6 7 8 9 A 10 B 11 C 12 13 E 14 F 15 Kap1 Hexadecimalt Hexa = 6, deci = 10 Multipel av fyra bitar 00002 = 016=010 11112 = F16=1510 = A4C8 ITM
5
Två-komplement Ex: Skriv -5910 med 8 bitar. 5910 = 001110112 Kap1
+1 Positiva talet Ett-komplementet Addera 1 Negativa svaret ITM
6
Två-komplement forts. Addition med två-komplement
Kap1 Två-komplement forts. Addition med två-komplement Antalet bitar hålls konstant Overflow kan ske 7 + (-5) (-7) = 2 = 0 = -7 Ignorera Ignorera Overflow !!! ITM
7
Grindar ELLER, OCH, Exklusivt ELLER
Kap1 A > A =1 1 C C B B A & C A B C 1 B A B C 1 A B C 1 ITM
8
Kap. 2 - Datalagring Maskininstruktioner Logiska operationer
Op-kod, operand Logiska operationer AND, OR, XOR, SHIFT, ROTATE Datakommunikation Datahastigheter ITM
9
Maskininstruktioner En maskininstruktion består av
Kap2 Maskininstruktioner En maskininstruktion består av Op-kod – generell del Operand – specifik del Ex: F (Hex) Op-kod Operand (SimpSim) ITM
10
Maskininstruktioner forts.
Kap2 Maskininstruktioner forts. Exempel på instruktioner Maskinkod Opkod Operand Assembler Betydelse 3155 3 155 store R,[XY] store R1,[55] Spara det som ligger i register 1 i minnescell 55h 5012 5 012 addi R,S,T addi R0,R1,R2 Addera innehållen i register 1 och 2 (två-komplement) och lägg resultatet i register 0. C000 C (000) halt Stoppa programmet Översättning ITM
11
Övning logiska operationer
Kap2 Övning logiska operationer Utför följande logiska operationer: Vilken logisk operation har använts? AND OR XOR ? ? ? XOR OR AND ITM
12
Kap2 Datakommunikation Anta att en hårdisk rymmer 30 GB. Hur lång tid skulle det ta att fylla den med en överföringshastighet på 0.5 Mbps? 30·109 · 8 / 0.5 ·106 = sekunder = 5 dagar, 13 timmar och 20 minuter ITM
13
Kap. 3 - Operativsystem Tidsdelning – Multitasking
Processadministration Deadlock ITM
14
Utveckling av operativsystem
Kap3 Utveckling av operativsystem Tidsdelning (time-sharing) Flera program och användare kan dela på samma processor. Processerna får en liten tid var att exekvera innan nästa står på tur. För användarna ser det ut som om dom var ensamma och dom kan interagera med sina processer. Multitasking Tidsdelning för enanvändarsystem Flerprocessordatorer ITM
15
Kap3 Time-sharing Anta att en dator har tidsdelning med tidluckor med längd 40 ms och att det normalt tar 8 ms att positionera läshuvudet över rätt spår samt ytterligare 15 ms att rotera skivat till rätt läge för läsning. A: Hur stor andel av en tidlucka måste datorn vänta på läsinstruktionen? B: Om datorn kan utföra 10 instruktioner per s, hur många instruktioner skulle kunna utföras under denna tid? A: (15+8) ms / 40 ms= 57.5 % B: (15+8) ·10-3 s · 10·106 instruktioner/s = instruktioner ITM
16
Processadministration
Kap3 Processadministration Processtabell Hanteras av schemaläggaren Processens minnesarea Prioritet Redo eller Väntar Tidlucka (time slice) Hanteras av dispatchern Är ca 50 millisekunder Process switch / Context switch Avbrott (Interrupt) Signal till CPU:n att avsluta pågående processaktivitet Avbrottshanterare Program som hanterar vad som händer efter ett avbrott ITM
17
Kap3 Deadlock forts. ITM
18
Kap 4 – Nätverk och Internet
Topologier Bryggor och routrar Client/Server – Peer-to-peer Internetadressering WWW Internets kommunikationsnivåer TCP/IP ITM
19
Nätverkstopologier Kap4 Bussnät Ringnät Oregelbundet nät Stjärnnät
Dator Dator Dator Dator Dator Dator Dator Dator Dator Dator Bussnät Ringnät Dator Dator Dator Dator Dator Dator Dator Dator Dator Oregelbundet nät Dator Dator Stjärnnät ITM
20
Sammankoppling av nätverk
Kap4 Sammankoppling av nätverk ITM
21
Client/Server - Peer-to-peer
Kap4 Client/Server - Peer-to-peer ITM
22
Internetadressering IP-adress Network identifier Host address
Kap4 Internetadressering IP-adress (32 bitar) Network identifier Registrerad och unik domänidentifierare Host address Adressen som identifierar en dator inom ett domän 203 Domännamn: mh.se Toppdomän: org, com, se, au, nu DNS – Domain Name Server = ITM
23
WWW World Wide Web Webb-läsare (browser) Hypertext
Kap4 WWW World Wide Web Webb-läsare (browser) Hypertext Klickbara länkar HTML - Hypertext Markup Language HTTP – Hypertext Transfer Protocol URL - Uniform Resource Locator Protokoll - host - sökväg - dokumentnamn ftp://ftp.cs.wisc.edu/connectivity_table/ En url är en fullständig sökväg till ett dokument ITM
24
Kap4 ITM
25
Kap 5 - Algoritmer Definition Pseudokod Testning If-satser, loopar
ITM
26
Definition av en algoritm
Kap5 Definition av en algoritm En algoritm är en ordnad uppsättning entydiga anvisningar som utförs stegvis och definierar en avslutande process. Beskrivning av hur ett visst problem ska lösas ITM
27
Pseudokod - exempel Kap5 if (skottår) // Indentering, indragning
then (dagligt värde årligt värde delat med 366) else (dagligt värde årligt värde delat med 365) if (inget regn) // Nästlade satser then (if (hett ute) then (bada) else (spela golf) ) else (titta på tv) ITM
28
Loop-kontroll Kap5 while (condition) do ( body) check the condition
execute the body check the condition… osv. while (någon sover i hörsalen) do ( höj rösten) repeat (activity) until (condition) repeat (ät chips) until (chipspåsen är tom) ITM
29
Testning av programvara
Kap5 Testning av programvara Svårt att bevisa att programmet löser problemet på bästa sätt Ex Kedjeproblemet Oftast testkör man programmet. Ej 100%-ig täckning Man vet endast att programmet fungerar för de testfall man har kört ITM
30
Kap 6 - Programmeringsspråk
Maskinkod Assembler Högnivåspråk C++ Programmeringsmönster Imperativt: Traditionellt Procedurer Objektorienterat: Dagens trend Klasser, Objekt ITM
31
Imperativt programmeringsmönster
Kap6 Imperativt programmeringsmönster Sekvens av kommandon Traditionella programmeringsmönstret Används av CPU (fetch-decode-execute) Man löser problem med algoritmer ITM
32
Objektorienterat programmeringsmönster
Kap6 Objektorienterat programmeringsmönster Aktiva objekt Objektet består av data Objektet kan själva manipulera data Moduler Färdiga komponenter Objekt kan kommunicera med varandra Dagens trend ITM
33
Klass Klassdefinition ( C++ ) Kap6 class Konto { private: int kontoNr;
float saldo; public: void uttag(float ut); void insattning(float in); void visaSaldo(void); }; Klassdefinition ( C++ ) ITM
34
Kännetecken för OOP Inkapsling Arv Polymorfism Kap6
Endast objektet kommer åt en skyddad egenskap. private, public cout << konto1.saldo är INTE tillåtet. konto1.visaSaldo() är tillåtet. Arv En klass kan ärva egenskaper från en annan klass. Klassen Personbil kan ärva från t.ex Fordon. Polymorfism Samma meddelande (metod) ger olika svar från olika klasser. Triangel.rita() Kvadrat.rita() ITM
35
C++ 1 2 Vad skrivs ut i följande program? Kap6 int main() { int i=0;
while (i != 1) { --i; } cout << i; return 0; int main() { int i=1; while (i == 1) { --i; } cout << i; return 0; int main() { int i=0; do { i++; } while (i ==1) cout << i; return 0; } 1 2 ITM
36
C++ AB AC BC C eller ABC ? C Vad skrivs ut i följande program? Kap6
int main() { int a, b, c; a=1; b=2; c=3; if (a==b) if (a==1) cout << “A”; else cout << “B”; cout << “C”; return 0; } int main() { int a, b, c; a=1; b=2; c=3; if (a==b) if (a==1) cout << “A”; else cout << “B”; cout << “C”; return 0; } AB AC BC C eller ABC ? C ITM
37
Kap 7 - Programvaruutveckling
Vattenfallsmetoden De senaste trenderna Modultänkande ITM
38
De senaste trenderna Vattenfallsmodellen Steg-för-steg-modellen
Kap7 De senaste trenderna Vattenfallsmodellen Analys ► Design ► Implementering ► Testning Steg-för-steg-modellen Prototypframtagning Förfining av prototypen CASE (computer-aided software engineering) Projektplanering Projekthantering Dokumentation Göra prototyper Gränssnittsprogrammering Kodgenerering ITM
39
Moduler Modultänkande
Kap7 Moduler Modultänkande Objekt i OOP Procedurer Moduler kan utvecklas separat med ett överenskommet gränssnitt. NASA tappade en Marssond på grund av missförstånd av gränssnittet NASA använde det metriska systemet: meter Lockheed Martin använde engelska mått: fot ITM
40
Kap 8 - Dataabstraktioner
Fält Listor Stack Köer Träd ITM
41
Tvådimensionellt fält
Kap8 Tvådimensionellt fält Läs av temperaturen var tredje timme under en vecka float avl[8][7]; // avl[Tid,Dag] avl[2][3] = 13.0; avl[5][6] = -1.7; ITM
42
Länkad lista Varje element har en pekare till nästa i listan Fördelar:
Kap8 Länkad lista Varje element har en pekare till nästa i listan Fördelar: enkelt att lägga till och radera data enkelt att sortera data Nackdel: något krångligare teknik ITM
43
Stack Minne reserveras för en kontinuerlig lista (gulmarkerat)
Kap8 Stack Minne reserveras för en kontinuerlig lista (gulmarkerat) Stacken kan bli full StackPointer (SP) innehåller adressen till den senast inlagda posten StackPointer flyttas när data ”poppas” och ”pushas” ITM
44
Kö FIFO = First In First Out Kap8 Tillägg görs vid svansen (bak)
Radering görs vid huvudet (fram) HeadPointer (HP) pekar till början av kön TailPointer (TP) pekar till slutet av kön Om kön är tom pekar både HP och TP på samma element ITM
45
Träd i en länkad lista Ett binärträd implementerad med en länkad lista
Kap8 Träd i en länkad lista Ett binärträd implementerad med en länkad lista ITM
46
Kap 9 - Databaser Relationsdatabas SQL Objektorienterade databaser
Databasintegritet Traditionella filstrukturer ITM
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.