Grundl ggande datavetenskap 4p
Sponsored Links
This presentation is the property of its rightful owner.
1 / 46

Grundläggande datavetenskap, 4p PowerPoint PPT Presentation


  • 140 Views
  • Uploaded on
  • Presentation posted in: General

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

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

Kapitel 1-9

Sammanfattning

Utgående från boken

Computer Science

av: J. Glenn Brookshear

ITM


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

  • Talsystem

    • Decimala, Binära, Hexadecimala

  • Binär addition

  • Två-komplement

  • Grindar

ITM


Kap1

Hexadecimalt

  • Hexa = 6, deci = 10

  • Multipel av fyra bitar

  • 00002 = 016=010

  • 11112 = F16=1510

  • 1010010011001000 = A4C8

ITM


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


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


Kap1

GrindarELLER, OCH, Exklusivt ELLER

A

>

A

=1

1

C

C

B

B

A

&

C

B

ITM


Kap. 2 - Datalagring

  • Maskininstruktioner

    • Op-kod, operand

  • Logiska operationer

    • AND, OR, XOR, SHIFT, ROTATE

  • Datakommunikation

    • Datahastigheter

ITM


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


Kap2

Maskininstruktioner forts.

  • Exempel på instruktioner

Översättning

ITM


Kap2

Övning logiska operationer

  • Utför följande logiska operationer:

  • Vilken logisk operation har använts?

10101010

OR 11011000

10101010

XOR 10101010

10101010

AND11011000

10001000

11111010

00000000

01111010

? 10010000

11100110

? 10101010

01111010

?10010000

XOR

OR

AND

11101010

11111010

10100010

ITM


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

  • Tidsdelning – Multitasking

  • Processadministration

  • Deadlock

ITM


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


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


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


Kap3

Deadlock forts.

ITM


Kap 4 – Nätverk och Internet

  • Topologier

  • Bryggor och routrar

  • Client/Server – Peer-to-peer

  • Internetadressering

  • WWW

  • Internets kommunikationsnivåer

    • TCP/IP

ITM


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


Kap4

Sammankoppling av nätverk

ITM


Kap4

Client/Server - Peer-to-peer

ITM


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


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


Kap4

ITM


Kap 5 - Algoritmer

  • Definition

  • Pseudokod

    • If-satser, loopar

  • Testning

ITM


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


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


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


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

  • Maskinkod

  • Assembler

  • Högnivåspråk

    • C++

  • Programmeringsmönster

    • Imperativt: Traditionellt

      • Procedurer

    • Objektorienterat: Dagens trend

      • Klasser, Objekt

ITM


Kap6

Imperativt programmeringsmönster

  • Sekvens av kommandon

  • Traditionella programmeringsmönstret

  • Används av CPU (fetch-decode-execute)

  • Man löser problem med algoritmer

ITM


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


Kap6

Klass

class Konto

{

private:

int kontoNr;

float saldo;

public:

void uttag(float ut);

void insattning(float in);

void visaSaldo(void);

};

  • Klassdefinition( C++ )

ITM


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


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


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

  • Vattenfallsmetoden

  • De senaste trenderna

  • Modultänkande

ITM


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


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

  • Fält

  • Listor

  • Stack

  • Köer

  • Träd

ITM


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


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


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


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


Kap8

Träd i en länkad lista

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

ITM


Kap 9 - Databaser

  • Relationsdatabas

  • SQL

  • Objektorienterade databaser

  • Databasintegritet

  • Traditionella filstrukturer

ITM


  • Login