Presentation laddar. Vänta.

Presentation laddar. Vänta.

2004-12-17ITM1 Grundläggande datavetenskap, 4p Kapitel 1-9Sammanfattning Utgående från boken Computer Science av: J. Glenn Brookshear.

Liknande presentationer


En presentation över ämnet: "2004-12-17ITM1 Grundläggande datavetenskap, 4p Kapitel 1-9Sammanfattning Utgående från boken Computer Science av: J. Glenn Brookshear."— Presentationens avskrift:

1 2004-12-17ITM1 Grundläggande datavetenskap, 4p Kapitel 1-9Sammanfattning Utgående från boken Computer Science av: J. Glenn Brookshear

2 2004-12-17ITM2 Innehåll Datalagring –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

3 2004-12-17ITM3 Kap. 1 - Datarepresentation Talsystem –Decimala, Binära, Hexadecimala Binär addition Två-komplement Grindar

4 2004-12-17ITM4 Hexadecimalt Hexa = 6, deci = 10 Multipel av fyra bitar 0000 2 = 0 16 =0 10 1111 2 = F 16 =15 10 1010010011001000 = A4C8 b3b2b1b0HD 000000 000111 001022 001133 010044 010155 011066 011177 100088 100199 1010A10 1011B11 1100C12 1101D13 1110E14 1111F15 b3b2b1b0HD 000000 000111 001022 001133 010044 010155 011066 011177 100088 100199 1010A10 1011B11 1100C12 1101D13 1110E14 1111F15 Kap1

5 2004-12-17ITM5 Två-komplement Ex: Skriv -59 10 med 8 bitar. 59 10 = 00111011 2 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 +1 1 1 0 0 0 1 0 1 Positiva talet Ett-komplementet Addera 1 Negativa svaret Kap1

6 2004-12-17ITM6 Två-komplement forts. Addition med två-komplement –Antalet bitar hålls konstant –Overflow kan ske 7 + (-5) 7 + (-7)5 + 4 0 1 0 1 + 0 1 0 0 1 0 0 1 Overflow !!! 0 1 1 1 + 1 0 1 1 1 0 0 1 0 Ignorera 0 1 1 1 + 1 0 0 1 1 0 0 0 0 Ignorera = 2= 0= -7 Kap1

7 2004-12-17ITM7 Grindar ELLER, OCH, Exklusivt ELLER =1 A B C ABC 000 011 101 110 & A B C ABC 000 010 100 111 > A B C ABC 000 011 101 111 1 Kap1

8 2004-12-17ITM8 Kap. 2 - Datalagring Maskininstruktioner –Op-kod, operand Logiska operationer –AND, OR, XOR, SHIFT, ROTATE Datakommunikation –Datahastigheter

9 2004-12-17ITM9 Maskininstruktioner En maskininstruktion består av –Op-kod – generell del –Operand – specifik del –Ex: 0010 0111 0100 1111 2 7 4 F (Hex) Op-kod Operand (SimpSim) Kap2

10 2004-12-17ITM10 Maskininstruktioner forts. Exempel på instruktioner MaskinkodOpkodOperandAssemblerBetydelse 31553155store R,[XY] store R1,[55] Spara det som ligger i register 1 i minnescell 55h 50125012addi R,S,T addi R0,R1,R2 Addera innehållen i register 1 och 2 (två-komplement) och lägg resultatet i register 0. C000C(000)haltStoppa programmet Översättning Kap2

11 2004-12-17ITM11 Övning logiska operationer Utför följande logiska operationer: Vilken logisk operation har använts? 10101010 AND11011000 10101010 OR 11011000 10101010 XOR 10101010 10001000 1111101000000000 01111010 ?10010000 01111010 ? 10010000 11100110 ? 10101010 11101010 1111101010100010 XOR ORAND Kap2

12 2004-12-17ITM12 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·10 9 · 8 / 0.5 ·10 6 = 480.000 sekunder = 5 dagar, 13 timmar och 20 minuter Kap2

13 2004-12-17ITM13 Kap. 3 - Operativsystem Tidsdelning – Multitasking Processadministration Deadlock

14 2004-12-17ITM14 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 Kap3

15 2004-12-17ITM15 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·10 6 instruktioner/s = 230.000 instruktioner Kap3

16 2004-12-17ITM16 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 Kap3

17 2004-12-17ITM17 Deadlock forts. Kap3

18 2004-12-17ITM18 Kap 4 – Nätverk och Internet Topologier Bryggor och routrar Client/Server – Peer-to-peer Internetadressering WWW Internets kommunikationsnivåer –TCP/IP

19 2004-12-17ITM19 Dator Ringnät Bussnät Stjärnnät Oregelbundet nät Dator Nätverkstopologier Kap4

20 2004-12-17ITM20 Sammankoppling av nätverk Kap4

21 2004-12-17ITM21 Client/Server - Peer-to-peer Kap4

22 2004-12-17ITM22 Internetadressering IP-adress –212.112.162.203 (32 bitar) Network identifier –Registrerad och unik domänidentifierare –212.112.162 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 –212.112.162.203 = www.aftonbladet.se Kap4

23 2004-12-17ITM23 WWW World Wide Web Webb-läsare (browser) Hypertext –Klickbara länkar HTML - Hypertext Markup Language HTTP – Hypertext Transfer Protocol URL - Uniform Resource Locator –http://www.aftonbladet.se/sport/idag/sport.html –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 Kap4

24 2004-12-17ITM24 Kap4

25 2004-12-17ITM25 Kap 5 - Algoritmer Definition Pseudokod –If-satser, loopar Testning

26 2004-12-17ITM26 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 Kap5

27 2004-12-17ITM27 Pseudokod - exempel 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) Kap5

28 2004-12-17ITM28 Loop-kontroll 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) Kap5

29 2004-12-17ITM29 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 Testning av programvara Kap5

30 2004-12-17ITM30 Kap 6 - Programmeringsspråk Maskinkod Assembler Högnivåspråk –C++ Programmeringsmönster –Imperativt: Traditionellt Procedurer –Objektorienterat: Dagens trend Klasser, Objekt

31 2004-12-17ITM31 Imperativt programmeringsmönster Sekvens av kommandon Traditionella programmeringsmönstret Används av CPU (fetch-decode-execute) Man löser problem med algoritmer Kap6

32 2004-12-17ITM32 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 Kap6

33 2004-12-17ITM33 Klass Klassdefinition ( C++ ) class Konto { private: int kontoNr; float saldo; public: void uttag(float ut); void insattning(float in); void visaSaldo(void); }; Kap6

34 2004-12-17ITM34 Kännetecken för OOP Inkapsling –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() Kap6

35 2004-12-17ITM35 C++ Vad skrivs ut i följande program? 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; } 102 Kap6

36 2004-12-17ITM36 C++ Vad skrivs ut i följande program? 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 ? Kap6 C 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; }

37 2004-12-17ITM37 Kap 7 - Programvaruutveckling Vattenfallsmetoden De senaste trenderna Modultänkande

38 2004-12-17ITM38 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 Kap7

39 2004-12-17ITM39 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 Kap7

40 2004-12-17ITM40 Kap 8 - Dataabstraktioner Fält Listor Stack Köer Träd

41 2004-12-17ITM41 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; Kap8

42 2004-12-17ITM42 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 Kap8

43 2004-12-17ITM43 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” Kap8

44 2004-12-17ITM44 Kö FIFO = First In First Out –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 Kap8

45 2004-12-17ITM45 Träd i en länkad lista Ett binärträd implementerad med en länkad lista Kap8

46 2004-12-17ITM46 Kap 9 - Databaser Relationsdatabas SQL Objektorienterade databaser Databasintegritet Traditionella filstrukturer


Ladda ner ppt "2004-12-17ITM1 Grundläggande datavetenskap, 4p Kapitel 1-9Sammanfattning Utgående från boken Computer Science av: J. Glenn Brookshear."

Liknande presentationer


Google-annonser