Informatyka jako dziedzina wiedzy Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład 3
J.Nawrocki, Informatyka jako dziedzina 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 Trzy filary informatyki Matematyka Nauki ścisłe (science) Inżynieria Mathematics Science Engineering
J.Nawrocki, Informatyka jako dziedzina Curriculum Obszary wiedzy 1.Struktury dyskretne (43) 2.Podstawy programowania (38) 3.Algorytmy i złożoność (31) 4.Architektura i organizacja (36) 5.Systemy operacyjne (18) 6.Obliczenia w sieciach (15) 7.Języki programowania (21) 8.Komunikacja człowiek-komputer (8) 9.Grafika i wizualizacja (3) 10.Systemy inteligentne (10) 11.Zarządzanie informacją (10) 12.Społeczne aspekty informatyki (16) 13.Inżynieria oprogramowania (31) 14.Obliczenia i metody numeryczne (0)
J.Nawrocki, Informatyka jako dziedzina Struktury dyskretne Graf nieskierowany Klika
J.Nawrocki, Informatyka jako dziedzina Struktury dyskretne Cykl w grafie Drzewo Ojciec Dzieci
J.Nawrocki, Informatyka jako dziedzina Struktury dyskretne Acykliczny graf skierowany (DAG) Cykl w grafie
J.Nawrocki, Informatyka jako dziedzina Silnia(0) = 1 Silnia(1) = 1 Silnia(2) = 2 Silnia(3) = 6 Silnia(4) = 24 Silnia(5) = 120 Podstawy programowania s 1 n > 1 Tak s s * n n n - 1 Nie Wynik s int Silnia (int n) { int s = 1; while (n > 1) { s = s * n; n = n – 1;} return s; } Silnia(n) = n! = n n! = (n-1)! n
J.Nawrocki, Informatyka jako dziedzina Algorytmy i złożoność Klasy algorytmów : Wielomianowe: p: czas(n) p(n) n=6
J.Nawrocki, Informatyka jako dziedzina Algorytmy i złożoność Klasy algorytmów : Wykładnicze: p: czas(n) p(n) n=6
J.Nawrocki, Informatyka jako dziedzina Algorytmy i złożoność Klasy algorytmów : Wykładnicze: p: czas(n) p(n) n=6 k n 0 n n 0 2 n > n k
J.Nawrocki, Informatyka jako dziedzina Algorytmy i złożoność Klasy algorytmów : Wielomianowe: p: czas(n) p(n) Wykładnicze: p: czas(n) p(n) Klasy problemów : Wielomianowe: alg. wielomianowy NP-trudne : najpraw. alg. wielomian n=6
J.Nawrocki, Informatyka jako dziedzina Architektura i organizacja Jest mała i szybka pamięć operacyjna i duża lecz wolna pamięć dyskowa. Jak zbudować z nich pamięć, która byłaby duża i szybka ?
J.Nawrocki, Informatyka jako dziedzina Architektura i organizacja Pamięć wirtualna 7 Odczyt komórki o adresie 7
J.Nawrocki, Informatyka jako dziedzina Architektura i organizacja Pamięć wirtualna 9 Odczyt komórki o adresie 9
J.Nawrocki, Informatyka jako dziedzina Architektura i organizacja Pamięć wirtualna Tablica stron fadr = blok(str) + prz Odczyt komórki o adresie logicz. ladr: str = ladr / 3 prz = ladr mod 3
J.Nawrocki, Informatyka jako dziedzina Architektura i organizacja Pamięć wirtualna Tablica stron fadr = blok(str) + prz Odczyt komórki o adresie logicz. ladr: str = ladr / 3 prz = ladr mod 3
J.Nawrocki, Informatyka jako dziedzina Systemy operacyjne Jak uniknąć zastoju w systemie? AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; LP HD B A
J.Nawrocki, Informatyka jako dziedzina Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; LP HD B A Ale proste!
J.Nawrocki, Informatyka jako dziedzina Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; LP HD B A ?
J.Nawrocki, Informatyka jako dziedzina Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; LP HD B A
J.Nawrocki, Informatyka jako dziedzina NC: Obliczenia w sieciach... NC4: WWW jako przykład obliczeń typu klient-serwer NC5: Budowanie aplikacji NC9:
J.Nawrocki, Informatyka jako dziedzina Języki programowania AnalizatorGenerator.pas.exe Kompilator
J.Nawrocki, Informatyka jako dziedzina Języki programowania Dany jest ciąg cyfr, nawiasów, znaków +, -, *, /. Czy ten ciąg jest poprawnie zbudowanym wyrażeniem arytmetycznym? * * 2 3 = 7 = ???
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 Jak rozpoznawać obrazy lub pismo? Politechnika Poznańska
J.Nawrocki, Informatyka jako dziedzina Zarządzanie informacją Jak manipulować dużą ilością danych? Podaj nazwiska tych, u których dochód na głowę > zł
J.Nawrocki, Informatyka jako dziedzina Inżynieria oprogramowania LOOPLOOP Syndrom LOOP ate (późno) oor quality (kiepska jakość) ver budget (przekroczony budżet) vertime (nadgodziny) Loop
J.Nawrocki, Informatyka jako dziedzina Inżynieria oprogramowania Kiedy i za ile? Co za miesiąc?
J.Nawrocki, Informatyka jako dziedzina Inżynieria oprogramowania Data: 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: Opowieści użytkownika
J.Nawrocki, Informatyka jako dziedzina Inżynieria oprogramowania Plan wydania: Gra planistyczna Pisze opowieści It was not OK. Dzieli opowieść It was not OK. Dla opowieści szac. pracochłon. i ryzyko. Ponadto dostępny czas It was not OK. 90h, małe 2 tyg= 24 h/osobę
J.Nawrocki, Informatyka jako dziedzina Inżynieria oprogramowania Pracochł., ryzyko dostępny czas More colors 9 godz Opowieści są OK. More colors Wybiera zakres More colors More func. 9 h 6 h Plan wydania: Gra planistyczna 2 tyg * 2 osoby= 48 h
J.Nawrocki, Informatyka jako dziedzina Obliczenia i metody numeryczne Jak rozwiązać układ równań lub pojedyncze równanie? 3x = 1 2x = 10 x 2 = 2
J.Nawrocki, Informatyka jako dziedzina Obliczenia i metody numeryczne a 2 + b 2 a 1 + (b/a) 2 begin a:= 3e-25; b:= 4e-25; m:= sqrt(a*a + b*b); writeln(m) end. begin a:= 3e-25; b:= 4e-25; if a > b then m:= a*sqrt(1+ (b/a)*(b/a)) else m:= b*sqrt(1+ (a/b)*(a/b)); writeln(m) end E-25 = b 1 + (a/b) 2 =
J.Nawrocki, Informatyka jako dziedzina Podsumowanie 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) Wreszcie!