Wprowadzenie do informatyki Wykład 1 Informatyka jako dziedzina wiedzy [email protected] http://www.cs.put.poznan.pl/jnawrocki/ics/ Copyright, 2002 © Jerzy R. Nawrocki Co to jest informatyka? Dziedzina wiedzy zajmująca się problemami • przetwarzania, • przechowywania i • przesyłania danych. J.Nawrocki, Informatyka jako dziedzina wiedzy Engineering Science Mathematics Trzy filary informatyki J.Nawrocki, Informatyka jako dziedzina wiedzy • Matematyka • Nauki ścisłe (science) • Inżynieria Obszary informatyki 1. 2. 3. 4. 5. 6. 7. 8. 9. Algorytmy i struktury danych Języki programowania Architektura systemów liczących Obliczenia numeryczne i symboliczne Systemy operacyjne Inżynieria oprogramowania Bazy danych Sztuczna inteligencja i robotyka Komunikacja człowiek-komputer J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki 1. Algorytmy i struktury danych 2. 3. 4. 5. 6. 7. 8. 9. Języki programowania Architektura systemów liczących Obliczenia numeryczne i symboliczne Systemy operacyjne Inżynieria oprogramowania Bazy danych Sztuczna inteligencja i robotyka Komunikacja człowiek-komputer J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Algorytmy i struktury danych ? ? ? ? ? ? TGA GAT CTG ACT A C TGA T Pewien ciąg składa się z 6 elementów. Każdy element jest jedną z liter A, C, T, G. Należy zrekonstruować ten ciąg na podstawie zbioru 3-literowych podciągów tego ciągu. J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Algorytmy i struktury danych ? ? ? ? ? ? TGA GAT CTG ACT A C TGA T Pewien ciąg składa się z 6 elementów. Każdy element jest jedną z liter A, C, T, G. Należy zrekonstruować ten ciąg na podstawie zbioru 3-literowych podciągów tego ciągu. J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Algorytmy i struktury danych ? ? ? ? ? ? TGA GAT CTG ACT A C TGA T Pewien ciąg składa się z 6 elementów. Każdy element jest jedną z liter A, C, T, G. Należy zrekonstruować ten ciąg na podstawie zbioru 3-literowych podciągów tego ciągu. J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Algorytmy i struktury danych ? ? ? ? ? ? TGA GAT CTG ACT A C TGA T Pewien ciąg składa się z 6 elementów. Każdy element jest jedną z liter A, C, T, G. Należy zrekonstruować ten ciąg na podstawie zbioru 3-literowych podciągów tego ciągu. J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Algorytmy i struktury danych ? ? ? ? ? ? TGA GAT CTG ACT A C TGA T Pewien ciąg składa się z 6 elementów. Każdy element jest jedną z liter A, C, T, G. Należy zrekonstruować ten ciąg na podstawie zbioru 3-literowych podciągów tego ciągu. J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Algorytmy i struktury danych 112 123 134 132 123 114 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? J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Algorytmy i struktury danych 112 123 134 132 123 114 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? J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Algorytmy i struktury danych 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: „raczej” alg. wielomian. J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki 1. Algorytmy i struktury danych 2. Języki programowania 3. 4. 5. 6. 7. 8. 9. Architektura systemów liczących Obliczenia numeryczne i symboliczne Systemy operacyjne Inżynieria oprogramowania Bazy danych Sztuczna inteligencja i robotyka Komunikacja człowiek-komputer J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Języki programowania Kompilator .pas Analizator Generator J.Nawrocki, Informatyka jako dziedzina wiedzy .exe Obszary informatyki 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 wiedzy Obszary informatyki 1. Algorytmy i struktury danych 2. Języki programowania 3. Architektura systemów liczących 4. 5. 6. 7. 8. 9. Obliczenia numeryczne i symboliczne Systemy operacyjne Inżynieria oprogramowania Bazy danych Sztuczna inteligencja i robotyka Komunikacja człowiek-komputer J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Architektura systemów liczących 0 10 1 21 Jest mała i szybka 2 32 pamięć 0 10 3 333 operacyjna i duża 1 21 4 444 lecz wolna 2 32 5 555 3 43 pamięć dyskowa. 6 43 4 54 Jak zbudować z 7 54 5 65 8 65 nich pamięć, 9 111 która byłaby duża 10 222 i szybka? J.Nawrocki, Informatyka jako dziedzina 11 wiedzy 333 Obszary informatyki Architektura systemów liczących 0 10 1 21 Jest mała i szybka 2 32 pamięć 0 0 3 333 operacyjna i duża 1 0 4 444 lecz wolna 2 0 5 555 3 0 pamięć dyskowa. 6 43 4 0 Jak zbudować z 7 54 5 0 8 65 nich pamięć, 9 111 która byłaby duża 10 222 i szybka? J.Nawrocki, Informatyka jako dziedzina 11 wiedzy 333 Obszary informatyki Architektura systemów liczących 0 10 1 21 2 32 0 0 3 333 1 0 4 444 2 0 5 555 3 0 6 43 4 0 7 54 5 0 8 65 9 111 10 222 J.Nawrocki, Informatyka jako dziedzina 11 wiedzy 333 Pamięć wirtualna Odczyt komórki o adresie 1 Obszary informatyki Architektura systemów liczących 0 10 1 21 2 32 0 10 3 333 1 21 4 444 2 32 5 555 3 0 6 43 4 0 7 54 5 0 8 65 9 111 10 222 J.Nawrocki, Informatyka jako dziedzina 11 wiedzy 333 Pamięć wirtualna Odczyt komórki o adresie 1 Obszary informatyki Architektura systemów liczących 0 10 1 21 2 32 0 10 3 333 1 21 4 444 2 32 5 555 3 0 6 43 4 0 7 54 5 0 8 65 9 111 10 222 J.Nawrocki, Informatyka jako dziedzina 11 wiedzy 333 Pamięć wirtualna Odczyt komórki o adresie 1 Obszary informatyki Architektura systemów liczących 0 10 1 21 2 32 0 10 3 333 1 21 4 444 2 32 5 555 3 0 6 43 4 0 7 54 5 0 8 65 9 111 10 222 J.Nawrocki, Informatyka jako dziedzina 11 wiedzy 333 Pamięć wirtualna Odczyt komórki o adresie 7 Obszary informatyki Architektura systemów liczących 0 10 1 21 2 32 0 10 3 333 1 21 4 444 2 32 5 555 3 43 6 43 4 54 7 54 5 65 8 65 9 111 10 222 J.Nawrocki, Informatyka jako dziedzina 11 wiedzy 333 Pamięć wirtualna Odczyt komórki o adresie 7 Obszary informatyki Architektura systemów liczących 0 10 1 21 2 32 0 10 3 333 1 21 4 444 2 32 5 555 3 43 6 43 4 54 7 54 5 65 8 65 9 111 10 222 J.Nawrocki, Informatyka jako dziedzina 11 wiedzy 333 Pamięć wirtualna Odczyt komórki o adresie 9 Obszary informatyki Architektura systemów liczących 0 10 1 21 2 32 0 111 3 333 1 222 4 444 2 333 5 555 3 43 6 43 4 54 7 54 5 65 8 65 9 111 10 222 J.Nawrocki, Informatyka jako dziedzina 11 wiedzy 333 Pamięć wirtualna Odczyt komórki o adresie 9 Obszary informatyki Architektura systemów liczących 0 10 1 21 2 32 0 111 3 333 1 222 4 444 2 333 5 555 3 43 6 43 4 54 7 54 5 65 8 65 9 111 10 222 J.Nawrocki, Informatyka jako dziedzina 11 wiedzy 333 Pamięć wirtualna Odczyt komórki o adresie log. ladr: str = ladr / 3 prz = ladr mod 3 Obszary informatyki Architektura systemów liczących 0 1 2 3 4 5 0 10 Tablica 1 21 stron 2 32 str blok jest 3 333 0 0 0 4 444 1 0 0 5 555 2 3 1 6 43 3 0 1 7 54 8 65 fadr = blok(str) + prz 9 111 10 222 J.Nawrocki, Informatyka jako dziedzina 11 wiedzy 333 111 222 333 43 54 65 Pamięć wirtualna Odczyt komórki o adresie log. ladr: str = ladr / 3 prz = ladr mod 3 Obszary informatyki Architektura systemów liczących 0 1 2 3 4 5 0 10 Tablica 1 21 stron 2 32 str blok 3 333 0 -1 4 444 1 -1 5 555 2 3 6 43 3 0 7 54 8 65 fadr = blok(str) + prz 9 111 10 222 J.Nawrocki, Informatyka jako dziedzina 11 wiedzy 333 111 222 333 43 54 65 Pamięć wirtualna Odczyt komórki o adresie log. ladr: str = ladr / 3 prz = ladr mod 3 Obszary informatyki 1. 2. 3. Algorytmy i struktury danych Języki programowania Architektura systemów liczących 4. Obliczenia numeryczne i symboliczne 5. 6. 7. 8. 9. Systemy operacyjne Inżynieria oprogramowania Bazy danych Sztuczna inteligencja i robotyka Komunikacja człowiek-komputer J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Obliczenia numeryczne i symboliczne 2x = 10 3x = 1 x2 = 2 Jak rozwiązać układ równań lub pojedyncze równanie? J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Obliczenia numeryczne i symboliczne a2 + b2 = + b*b); 0.0000000000E+00 2 b 1 + (a/b) = begin a:= 3e-25; b:= 4e-25; if a > b then begin a:= 3e-25; b:= 4e-25; m:= sqrt(a*a writeln(m) end. a 1 + (b/a)2 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 wiedzy Obszary informatyki 1. 2. 3. 4. Algorytmy i struktury danych Języki programowania Architektura systemów liczących Obliczenia numeryczne i symboliczne 5. Systemy operacyjne 6. 7. 8. 9. Inżynieria oprogramowania Bazy danych Sztuczna inteligencja i robotyka Komunikacja człowiek-komputer J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Informatyka jako dziedzina wiedzy Jak uniknąć zastoju w systemie? Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; AllocateHD; AllocateLP; UseHDandLP; UseHDandLP; ReleaseHD; ReleaseLP; ReleaseLP; ReleaseHD; J.Nawrocki, Informatyka jako dziedzina wiedzy Ale proste! Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; AllocateHD; AllocateLP; UseHDandLP; UseHDandLP; ReleaseHD; ReleaseLP; ReleaseLP; ReleaseHD; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; AllocateHD; AllocateLP; UseHDandLP; UseHDandLP; ReleaseHD; ReleaseLP; ReleaseLP; ReleaseHD; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; AllocateHD; AllocateLP; UseHDandLP; UseHDandLP; ReleaseHD; ReleaseLP; ReleaseLP; ReleaseHD; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; AllocateHD; AllocateLP; UseHDandLP; UseHDandLP; ReleaseHD; ReleaseLP; ReleaseLP; ReleaseHD; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; AllocateHD; AllocateLP; UseHDandLP; UseHDandLP; ReleaseHD; ReleaseLP; ReleaseLP; ReleaseHD; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B ? AllocateLP; AllocateHD; AllocateHD; AllocateLP; UseHDandLP; UseHDandLP; ReleaseHD; ReleaseLP; ReleaseLP; ReleaseHD; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateHD; AllocateHD; AllocateLP; UseHDandLP; UseHDandLP; ReleaseHD; ReleaseLP; ReleaseLP; ReleaseHD; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateLP; AllocateHD; AllocateHD; UseHDandLP; UseHDandLP; ReleaseHD; ReleaseLP; ReleaseLP; ReleaseHD; J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Systemy operacyjne A LP HD B AllocateLP; AllocateLP; AllocateHD; AllocateHD; UseHDandLP; UseHDandLP; ReleaseHD; ReleaseLP; ReleaseLP; ReleaseHD; J.Nawrocki, Informatyka jako dziedzina wiedzy Ale proste! Obszary informatyki 1. 2. 3. 4. 5. Algorytmy i struktury danych Języki programowania Architektura systemów liczących Obliczenia numeryczne i symboliczne Systemy operacyjne 6. Inżynieria oprogramowania 7. Bazy danych 8. Sztuczna inteligencja i robotyka 9. Komunikacja człowiek-komputer J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Inżynieria oprogramowania Kiedy i za ile? Jak oszacować czas i koszt realizacji przedsięwzięcia programistycznego? J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki 1. 2. 3. 4. 5. 6. Algorytmy i struktury danych Języki programowania Architektura systemów liczących Obliczenia numeryczne i symboliczne Systemy operacyjne Inżynieria oprogramowania 7. Bazy danych 8. Sztuczna inteligencja i robotyka 9. Komunikacja człowiek-komputer J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Bazy danych 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 wiedzy Obszary informatyki 1. 2. 3. 4. 5. 6. 7. Algorytmy i struktury danych Języki programowania Architektura systemów liczących Obliczenia numeryczne i symboliczne Systemy operacyjne Inżynieria oprogramowania Bazy danych 8. Sztuczna inteligencja i robotyka 9. Komunikacja człowiek-komputer J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Sztuczna inteligencja i robotyka Politechnika Poznańska Jak rozpoznawać obrazy lub pismo? J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki 1. 2. 3. 4. 5. 6. 7. 8. Algorytmy i struktury danych Języki programowania Architektura systemów liczących Obliczenia numeryczne i symboliczne Systemy operacyjne Inżynieria oprogramowania Bazy danych Sztuczna inteligencja i robotyka 9. Komunikacja człowiek-komputer J.Nawrocki, Informatyka jako dziedzina wiedzy Obszary informatyki Komunikacja człowiek-komputer Jak odwzorowywać na ekranie obiekty 3-wymiarowe w czasie rzeczywistym? J.Nawrocki, Informatyka jako dziedzina wiedzy Podsumowanie Wreszcie! Informatyka jest bogatą dziedziną, łączącą w sobie elementy matematyczne, przyrodnicze (science) i inżynierskie. J.Nawrocki, Informatyka jako dziedzina wiedzy Sprawy organizacyjne Plan wykładów: www.cs.put.poznan.pl/jnawrocki/ics/ Przedmiot kończy się egzaminem Dyżury: czwartki, 13:30 - 15:00, pok. 416 J.Nawrocki, Informatyka jako dziedzina wiedzy Literatura • Per Brinch Hansen, Podstawy systemów operacyjnych, Warszawa, WNT, 1979. J.Nawrocki, Informatyka jako dziedzina wiedzy Ocena wykładu 1. Wrażenie ogólne? (1 - 6) 2. Zbyt wolno czy zbyt szybko? 3. Czy dowiedziałeś się czegoś ważnego? 4. Co poprawić i jak? J.Nawrocki, Informatyka jako dziedzina wiedzy