grundl ggande datavetenskap 4p
Download
Skip this Video
Download Presentation
Grundläggande datavetenskap, 4p

Loading in 2 Seconds...

play fullscreen
1 / 46

Grundläggande datavetenskap, 4p - PowerPoint PPT Presentation


  • 170 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Grundläggande datavetenskap, 4p' - gazit


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
grundl ggande datavetenskap 4p

Grundläggande datavetenskap, 4p

Kapitel 1-9

Sammanfattning

Utgående från boken

Computer Science

av: J. Glenn Brookshear

ITM

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

Innehåll

ITM

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

ITM

slide4

Kap1

Hexadecimalt

  • Hexa = 6, deci = 10
  • Multipel av fyra bitar
  • 00002 = 016=010
  • 11112 = F16=1510
  • 1010010011001000 = A4C8

ITM

slide5

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

slide6

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

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

ITM

slide9

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

slide10

Kap2

Maskininstruktioner forts.

  • Exempel på instruktioner

Översättning

ITM

slide11

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

datakommunikation

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

kap 3 operativsystem
Kap. 3 - Operativsystem
  • Tidsdelning – Multitasking
  • Processadministration
  • Deadlock

ITM

slide14

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

time sharing

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

slide16

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

slide17

Kap3

Deadlock forts.

ITM

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

ITM

slide19

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

slide20

Kap4

Sammankoppling av nätverk

ITM

slide21

Kap4

Client/Server - Peer-to-peer

ITM

slide22

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

slide23

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

slide24

Kap4

ITM

kap 5 algoritmer
Kap 5 - Algoritmer
  • Definition
  • Pseudokod
    • If-satser, loopar
  • Testning

ITM

slide26

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

slide27

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

slide28

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

slide29

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

kap 6 programmeringsspr k
Kap 6 - Programmeringsspråk
  • Maskinkod
  • Assembler
  • Högnivåspråk
    • C++
  • Programmeringsmönster
    • Imperativt: Traditionellt
      • Procedurer
    • Objektorienterat: Dagens trend
      • Klasser, Objekt

ITM

slide31

Kap6

Imperativt programmeringsmönster

  • Sekvens av kommandon
  • Traditionella programmeringsmönstret
  • Används av CPU (fetch-decode-execute)
  • Man löser problem med algoritmer

ITM

slide32

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

slide33

Kap6

Klass

class Konto

{

private:

int kontoNr;

float saldo;

public:

void uttag(float ut);

void insattning(float in);

void visaSaldo(void);

};

  • Klassdefinition( C++ )

ITM

slide34

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

slide35

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

slide36

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

kap 7 programvaruutveckling
Kap 7 - Programvaruutveckling
  • Vattenfallsmetoden
  • De senaste trenderna
  • Modultänkande

ITM

slide38

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

slide39

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

kap 8 dataabstraktioner
Kap 8 - Dataabstraktioner
  • Fält
  • Listor
  • Stack
  • Köer
  • Träd

ITM

slide41

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

slide42

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

slide43

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

slide44

Kap8

  • 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

slide45

Kap8

Träd i en länkad lista

  • Ett binärträd implementerad med en länkad lista

ITM

kap 9 databaser
Kap 9 - Databaser
  • Relationsdatabas
  • SQL
  • Objektorienterade databaser
  • Databasintegritet
  • Traditionella filstrukturer

ITM

ad