1 / 46

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p. Kapitel 1-9 Sammanfattning. Utgående från boken Computer Science av: J. Glenn Brookshear. Datalagring Bitar, minnen, talsystem, två-komplement, grindar, lagrings-enheter, datakommunikation Datamanipulation Maskinspråk, datorarkitektur, programexekvering

gazit
Download Presentation

Grundläggande datavetenskap, 4p

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 Innehåll ITM

  3. Kap. 1 - Datarepresentation • Talsystem • Decimala, Binära, Hexadecimala • Binär addition • Två-komplement • Grindar ITM

  4. Kap1 Hexadecimalt • Hexa = 6, deci = 10 • Multipel av fyra bitar • 00002 = 016=010 • 11112 = F16=1510 • 1010010011001000 = A4C8 ITM

  5. 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 Två-komplement • Ex: Skriv -5910 med 8 bitar. 5910 = 001110112 ITM

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

  7. Kap1 GrindarELLER, OCH, Exklusivt ELLER A > A =1 1 C C B B A & C B ITM

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

  9. Kap2 Maskininstruktioner • En maskininstruktion består av • Op-kod – generell del • Operand – specifik del • Ex: 0010 0111 0100 1111 27 4 F (Hex) Op-kodOperand (SimpSim) ITM

  10. Kap2 Maskininstruktioner forts. • Exempel på instruktioner Översättning ITM

  11. Kap2 Övning logiska operationer • Utför följande logiska operationer: • Vilken logisk operation har använts? 10101010 OR 11011000 10101010 XOR 10101010 10101010 AND 11011000 10001000 11111010 00000000 01111010 ? 10010000 11100110 ? 10101010 01111010 ? 10010000 XOR OR AND 11101010 11111010 10100010 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 = 480.000 sekunder = 5 dagar, 13 timmar och 20 minuter ITM

  13. Kap. 3 - Operativsystem • Tidsdelning – Multitasking • Processadministration • Deadlock ITM

  14. 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 = 230.000 instruktioner ITM

  16. 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. Kap4 Nätverkstopologier 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. Kap4 Sammankoppling av nätverk ITM

  21. Kap4 Client/Server - Peer-to-peer ITM

  22. Kap4 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 ITM

  23. 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 • 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 ITM

  24. Kap4 ITM

  25. Kap 5 - Algoritmer • Definition • Pseudokod • If-satser, loopar • Testning ITM

  26. 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. Kap5 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) ITM

  28. Kap5 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) ITM

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

  34. Kap6 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() ITM

  35. Kap6 C++ • Vad skrivs ut i följande program? 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; } int main() { int i=0; while (i != 1) { --i; } cout << i; return 0; } 1 0 2 ITM

  36. 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; } 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; } • Vad skrivs ut i följande program? AB AC BC C eller ABC ? C ITM

  37. Kap 7 - Programvaruutveckling • Vattenfallsmetoden • De senaste trenderna • Modultänkande ITM

  38. 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. 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. 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. 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. 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. Kap8 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 ITM

  45. 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

More Related