Mat-wykł. - Politechnika Poznańska

advertisement
Wprowadzenie do informatyki
Wykład 3
Informatyka jako dziedzina wiedzy
[email protected]
http://www.cs.put.poznan.pl/jnawrocki/wsb-wdi/
Copyright, 2004 © Jerzy R. Nawrocki
Co to jest informatyka?
Dziedzina wiedzy zajmująca się
problemami
• przetwarzania,
• przechowywania i
• przesyłania danych.
J.Nawrocki, Informatyka jako dziedzina
Definiowanie informatyki
ACM = Association for Computing Machinery
IEEE = Institution of Electrical and
Electronics Engineers
IEEE CS = IEEE Computer Society
J.Nawrocki, Informatyka jako dziedzina
Engineering
Science
Mathematics
Trzy filary informatyki
J.Nawrocki, Informatyka jako dziedzina
• Matematyka
• Nauki ścisłe
(science)
• Inżynieria
Curriculum 2001 - Obszary wiedzy
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Struktury dyskretne (43)
Podstawy programowania (38)
Algorytmy i złożoność (31)
Architektura i organizacja (36)
Systemy operacyjne (18)
Obliczenia w sieciach (15)
Języki programowania (21)
Komunikacja człowiek-komputer (8)
Grafika i wizualizacja (3)
Systemy inteligentne (10)
Zarządzanie informacją (10)
Społeczne aspekty informatyki (16)
Inżynieria oprogramowania (31)
Obliczenia i metody numeryczne (0)
J.Nawrocki, Informatyka jako dziedzina
Struktury dyskretne
Graf
nieskierowany
J.Nawrocki, Informatyka jako dziedzina
Klika
Struktury dyskretne
Ojciec
Cykl w grafie
J.Nawrocki, Informatyka jako dziedzina
Dzieci
Drzewo
Struktury dyskretne
Cykl w grafie
Acykliczny graf skierowany
(DAG)
J.Nawrocki, Informatyka jako dziedzina
Podstawy programowania
Silnia(n) = n! = 123 .. n
n! = (n-1)!  n
s1
Silnia(0) = 1 Silnia(1) = 1
Silnia(2) = 2 Silnia(3) = 6
Silnia(4) = 24 Silnia(5) = 120
int Silnia (int n) {
int s = 1;
while (n > 1) {
s = s * n;
n = n – 1;}
return s;
}
n>1
Nie
Tak
ss*n
nn-1
J.Nawrocki, Informatyka jako dziedzina
Wynik  s
Algorytmy i złożoność
n=6
112
123
134
132
123
114
Klasy algorytmów:
Wielomianowe: p: czas(n)  p(n)
1600
1400
1200
1000
800
600
400
200
0
5
J.Nawrocki, Informatyka jako dziedzina
10
15
20
25
30
35
40
Algorytmy i złożoność
n=6
112
123
134
132
123
114
Klasy algorytmów:
„Wykładnicze”: p: czas(n)  p(n)
2500
2000
1500
1000
500
0
1
J.Nawrocki, Informatyka jako dziedzina
2
3
4
5
6
7
8
9
10
11
Algorytmy i złożoność
n=6
112
123
134
132
123
114
Klasy algorytmów:
„Wykładnicze”: p: czas(n)  p(n)
2500
2000
1500
1000
500
0
1
2
3
4
5
6
7
8
9
10
11
k n0 nn0  2n > nk
J.Nawrocki, Informatyka jako dziedzina
Algorytmy i złożoność
n=6
Klasy algorytmów:
Wielomianowe: p: czas(n)  p(n)
112
123
134
132
123
114
„Wykładnicze”: p: czas(n)  p(n)
Klasy problemów:
Wielomianowe:  alg. wielomianowy
NP-trudne: najpraw.  alg. wielomian.
J.Nawrocki, Informatyka jako dziedzina
Architektura i organizacja
0
1
2
3
4
5
0
0
0
0
0
0
0
1
2
3
4
5
6
7
8
9
10
11
10
21 Jest mała i szybka
32
pamięć operacyjna i
333
duża lecz wolna
444
pamięć dyskowa.
555
43 Jak zbudować z nich
pamięć, która byłaby
54
65
duża i szybka?
111
222
333
J.Nawrocki, Informatyka jako dziedzina
Architektura i organizacja
0
1
2
3
4
5
10
21
32
43
54
65
0
1
2
3
4
5
6
7
8
9
10
11
10
21
32
333
444
555
43
54
65
111
222
333
J.Nawrocki, Informatyka jako dziedzina
Pamięć wirtualna
Odczyt komórki
o adresie 7
Architektura i organizacja
0
1
2
3
4
5
111
222
333
43
54
65
0
1
2
3
4
5
6
7
8
9
10
11
10
21
32
333
444
555
43
54
65
111
222
333
J.Nawrocki, Informatyka jako dziedzina
Pamięć wirtualna
Odczyt komórki
o adresie 9
Architektura i organizacja
0
1
2
3
4
5
111
222
333
43
54
65
str
0
1
2
3
Tablica
stron
blok jest
0
0
0
0
3
1
0
1
fadr = blok(str) + prz
0
1
2
3
4
5
6
7
8
9
10
11
10
21
32
333
444
555
43
54
65
111
222
333
J.Nawrocki, Informatyka jako dziedzina
Pamięć wirtualna
Odczyt komórki o
adresie logicz. ladr:
str = ladr / 3
prz = ladr mod 3
Architektura i organizacja
0
1
2
3
4
5
111
222
333
43
54
65
Tablica
stron
str blok
0 -1
1 -1
2 3
3 0
fadr = blok(str) + prz
0
1
2
3
4
5
6
7
8
9
10
11
10
21
32
333
444
555
43
54
65
111
222
333
J.Nawrocki, Informatyka jako dziedzina
Pamięć wirtualna
Odczyt komórki o
adresie logicz. ladr:
str = ladr / 3
prz = ladr mod 3
Systemy operacyjne
A
LP
HD
B
AllocateLP;
AllocateHD;
UseHDandLP;
ReleaseHD;
ReleaseLP;
J.Nawrocki, Informatyka jako dziedzina
Jak uniknąć
zastoju w
systemie?
Systemy operacyjne
A
LP
HD
B
AllocateLP;
AllocateHD;
AllocateHD;
AllocateLP;
UseHDandLP;
UseHDandLP;
ReleaseHD;
ReleaseLP;
ReleaseLP;
ReleaseHD;
J.Nawrocki, Informatyka jako dziedzina
Ale
proste!
Systemy operacyjne
A
LP
HD
B
?
AllocateLP;
AllocateHD;
AllocateHD;
AllocateLP;
UseHDandLP;
UseHDandLP;
ReleaseHD;
ReleaseLP;
ReleaseLP;
ReleaseHD;
J.Nawrocki, Informatyka jako dziedzina
Systemy operacyjne
A
LP
HD
B
AllocateLP;
AllocateHD;
AllocateHD;
AllocateLP;
UseHDandLP;
UseHDandLP;
ReleaseHD;
ReleaseLP;
ReleaseLP;
ReleaseHD;
J.Nawrocki, Informatyka jako dziedzina
NC: Obliczenia w sieciach
...
NC4: WWW jako przykład obliczeń typu klient-serwer
NC5: Budowanie aplikacji WWW
...
NC9:
J.Nawrocki, Informatyka jako dziedzina
Języki programowania
Kompilator
.pas
Analizator
J.Nawrocki, Informatyka jako dziedzina
Generator
.exe
Języki programowania
1+2*3
=7
1+*23
= ???
Dany jest ciąg cyfr, nawiasów,
znaków +, -, *, /.
Czy ten ciąg jest poprawnie
zbudowanym wyrażeniem
arytmetycznym?
J.Nawrocki, Informatyka jako dziedzina
Grafika i wizualizacja
Jak odwzorowywać
na ekranie obiekty
3-wymiarowe w
czasie
rzeczywistym?
J.Nawrocki, Informatyka jako dziedzina
Systemy inteligentne
Politechnika Poznańska
Jak rozpoznawać
obrazy lub
pismo?
J.Nawrocki, Informatyka jako dziedzina
Zarządzanie informacją
Pesel
#Głów
70010112345
4
56062877777
3
Pesel
70010112345
56062877777
Dochód
48000
33000
Imię
Jan
Ewa
Jak
manipulować
Nazwisko dużą ilością
Klinton
danych?
Busz
Podaj nazwiska tych, u których
dochód na głowę > 11 000 zł
J.Nawrocki, Informatyka jako dziedzina
Inżynieria oprogramowania
Syndrom LOOP
Loop
L ate (późno)
Over budget (przekroczony budżet)
O vertime (nadgodziny)
Poor quality (kiepska jakość)
J.Nawrocki, Informatyka jako dziedzina
Inżynieria oprogramowania
Kiedy i za ile?
J.Nawrocki, Informatyka jako dziedzina
Co za miesiąc?
Inżynieria oprogramowania
Opowieści użytkownika
Data: 6.11.01
Typ: Nowa: X Naprawa:__ Rozbudowa:__
Numer opowieści: 23
OPOWIEŚĆ: Dla każdego konta oblicz saldo dodając
wszystkie wpłaty i odejmując wszystkie wypłaty.
Rozmiar:
J.Nawrocki, Informatyka jako dziedzina
Inżynieria oprogramowania
Plan wydania: Gra planistyczna
2 tyg= 24 h/osobę
90h, małe
Pisze opowieści
Dla  opowieści szac.
pracochłon. i ryzyko.
Ponadto dostępny czas
J.Nawrocki, Informatyka jako dziedzina
Dzieli opowieść
Inżynieria oprogramowania
Plan wydania: Gra planistyczna
9 godz
Opowieści są OK.
Pracochł., ryzyko
dostępny czas
2 tyg * 2 osoby= 48 h
J.Nawrocki, Informatyka jako dziedzina
Wybiera zakres
Obliczenia i metody numeryczne
2x = 10
3x = 1
Jak rozwiązać układ równań
lub pojedyncze równanie?
x2 = 2
J.Nawrocki, Informatyka jako dziedzina
Obliczenia i metody numeryczne
 a2 + b2
=
begin
a:= 3e-25; b:= 4e-25;
m:= sqrt(a*a
writeln(m)
end.
+ b*b);
a  1 + (b/a)2
2
b

1
+
(a/b)
=
begin
a:= 3e-25; b:= 4e-25;
if a > b then
m:= a*sqrt(1+
else
(b/a)*(b/a))
m:= b*sqrt(1+
writeln(m)
end.
(a/b)*(a/b));
5.0000000000E-25
J.Nawrocki, Informatyka jako dziedzina
Podsumowanie
Wreszcie!
Struktury dyskretne: grafy
Algorytmy i złożoność: podział zbioru
Architektura: pamięć wirtualna
Systemy operacyjne: problem zastoju
Języki progr: kompilator i wyr. arytm.
Systemy inteligentne: rozpozn. pisma
Zarządzanie informacją: bazy danych
Inżynieria oprogr.: gra planistyczna
Metody numeryczne: sqrt(a*a+b*b)
J.Nawrocki, Informatyka jako dziedzina
Download