Informatyka jako dziedzina wiedzy Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki Wykład 1
J.Nawrocki, Informatyka jako dziedzina Plan wykładu Obszary wiedzy informatycznej Program przedmiotu Egzamin
J.Nawrocki, Informatyka jako dziedzina Co to jest informatyka? Dziedzina wiedzy zajmująca się problemami przetwarzania, przechowywania i przesyłania danych. 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 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 R 1 R 1 S S + 1 S S + 1 R2 > 0 Tak Nie Start Stop Podstawy programowania Język schematów blokowych
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ść Dany jest zbiór A zawierający n liczb całkowitych dodatnich. Czy można go podzielić na takie dwa zbiory B, C, że suma liczba w zbiorze B jest równa sumie liczb w zbiorze C ? {1, 2, 2} = {2, 1}
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 : 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 Odczyt komórki o adresie 1
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 Odczyt komórki o adresie log. 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 log. ladr: str = ladr / 3 prz = ladr mod 3
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 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 E-25 = b 1 + (a/b) 2 =
J.Nawrocki, Informatyka jako dziedzina Przedmiot Dokumenty elektroniczne Bazy danych (Access) Strony internetowe i HTML Cel: Zaprezentowanie informatyki Programowanie imperatywne i język C Struktury danych i modularyzacja Metody numeryczne Przetwarzanie tekstów i AWK Współbieżność Gramatyki i translatory Asembler i koncepcja von Neumanna Budowa komputera Inżynieria oprogramowania Obliczalność i złożoność obliczeniowa Ochrona danych
J.Nawrocki, Informatyka jako dziedzina Egzamin Termin ??? 5 zadań; od 0 do 10 pkt za zadanie Od 28 pkt 3.0; od 33 pkt 3.5; od 38 pkt 4.0,... Indeks lub legitymacja Kalkulatory zabronione Pisemny: 1 kartka ściągi formatu A4 (obie strony)
J.Nawrocki, Informatyka jako dziedzina Podsumowanie Struktury dyskretne: grafy Podstawy progr.: schematy blokowe 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!