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 ITM1 Grundläggande datavetenskap, 4p Kapitel 1-9Sammanfattning Utgående från boken Computer Science av: J. Glenn Brookshear

2 ITM2 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 ITM3 Kap. 1 - Datarepresentation Talsystem –Decimala, Binära, Hexadecimala Binär addition Två-komplement Grindar

4 ITM4 Hexadecimalt Hexa = 6, deci = 10 Multipel av fyra bitar = 0 16 = = F 16 = = A4C8 b3b2b1b0HD A B C D E F15 b3b2b1b0HD A B C D E F15 Kap1

5 ITM5 Två-komplement Ex: Skriv med 8 bitar = Positiva talet Ett-komplementet Addera 1 Negativa svaret Kap1

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

7 ITM7 Grindar ELLER, OCH, Exklusivt ELLER =1 A B C ABC & A B C ABC > A B C ABC Kap1

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

9 ITM9 Maskininstruktioner En maskininstruktion består av –Op-kod – generell del –Operand – specifik del –Ex: F (Hex) Op-kod Operand (SimpSim) Kap2

10 ITM10 Maskininstruktioner forts. Exempel på instruktioner MaskinkodOpkodOperandAssemblerBetydelse store R,[XY] store R1,[55] Spara det som ligger i register 1 i minnescell 55h 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. C000C(000)haltStoppa programmet Översättning Kap2

11 ITM11 Övning logiska operationer Utför följande logiska operationer: Vilken logisk operation har använts? AND OR XOR ? ? ? XOR ORAND Kap2

12 ITM12 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 = sekunder = 5 dagar, 13 timmar och 20 minuter Kap2

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

14 ITM14 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 ITM15 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 = instruktioner Kap3

16 ITM16 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 ITM17 Deadlock forts. Kap3

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

19 ITM19 Dator Ringnät Bussnät Stjärnnät Oregelbundet nät Dator Nätverkstopologier Kap4

20 ITM20 Sammankoppling av nätverk Kap4

21 ITM21 Client/Server - Peer-to-peer Kap4

22 ITM22 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 – = Kap4

23 ITM23 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 ITM24 Kap4

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

26 ITM26 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 ITM27 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 ITM28 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 ITM29 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 ITM30 Kap 6 - Programmeringsspråk Maskinkod Assembler Högnivåspråk –C++ Programmeringsmönster –Imperativt: Traditionellt Procedurer –Objektorienterat: Dagens trend Klasser, Objekt

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

32 ITM32 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 ITM33 Klass Klassdefinition ( C++ ) class Konto { private: int kontoNr; float saldo; public: void uttag(float ut); void insattning(float in); void visaSaldo(void); }; Kap6

34 ITM34 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 ITM35 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 ITM36 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 ITM37 Kap 7 - Programvaruutveckling Vattenfallsmetoden De senaste trenderna Modultänkande

38 ITM38 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 ITM39 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 ITM40 Kap 8 - Dataabstraktioner Fält Listor Stack Köer Träd

41 ITM41 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 ITM42 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 ITM43 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 ITM44 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 ITM45 Träd i en länkad lista Ett binärträd implementerad med en länkad lista Kap8

46 ITM46 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