Presentation laddar. Vänta.

Presentation laddar. Vänta.

Grundläggande datavetenskap, 4p

Liknande presentationer


En presentation över ämnet: "Grundläggande datavetenskap, 4p"— Presentationens avskrift:

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


Ladda ner ppt "Grundläggande datavetenskap, 4p"

Liknande presentationer


Google-annonser