Technologie informatyczne WYKŁAD a więc zaczynamy...
Informacja to zbiór danych, zebranych w celu ich przetwarzania i otrzymania wyników (tzn. nowych informacji) Informacje przetwarzamy przy wykorzystaniu: sprzętu (hardware) i oprogramowania (software), które pozwalają na wykonanie przez komputer określonych zadań
definicja 1 Informatyka to dziedzina wiedzy i działalności człowieka, która zajmuje się przechowywaniem, przetwarzaniem i interpretowaniem informacji za pomocą komputerów i odpowiedniego oprogramowania
definicja 2 Informatyka to nauka o tym co można osiągnąć za pomocą procesów przetwarzania informacji (definicja niezależna od sprzętu) dziedziny informatyki: 1. rozwiązywanie zadań algorytmicznych 2. struktury danych 3. teoria języków programowania
Algorytm ścisły przepis prowadzący do rozwiązania określonego problemu. Algorytm można opisać słownie (w punktach), w postaci graficznej (schemat blokowy) lub jako program Język programowania to język umożliwiający zapisanie algorytmu w postaci pozwalającej na realizację komputerową. Typy: języki asemblera języki wysokiego poziomu języki specjalizowane
Asembler język programowania oparty na liście rozkazów procesora (inny dla różnych procesorów). Pozwala na szczegółowe zaprogramowanie działań, których nie można kontrolować w języku wysokiego poziomu. W asemblerze trudno jest pisać duże programy.
Języki wysokiego poziomu umożliwiają zapis algorytmów w sposób możliwie bliski językowi matematycznemu lub naturalnemu Basic - jeden z najprostszych C - połączenie języka wysokiego poziomu z elementami asemblera (najpopularniejszy C++) Fortran - powszechnie używany w zastosowaniach matematycznych i naukowych Java - przeznaczony głównie do tworzenia programów komputerowych działających w sieci Internet niezależnie od typu komputera posiadanego przez użytkownika
Pascal - język akademicki, stosowany np. do projektowania struktur danych Pearl - przeznaczony głównie do pracy z danymi tekstowymi, ale nie tylko (stosowany chętnie przez administratorów systemów komputerowych) Visual Basic - oparty na języku Basic ale unowocześniony, częściowo obiektowy (firmy Microsoft) Ruby - w pełni obiektowy język programowania stworzony w 1993 r. przez Japończyka Yukihiro Matsumoto Pyhon 1991 r., zastosowania: wyszukiwarka Google, serwis YouTube, struktury NASA
Najbardziej popularne języki programowania w roku 2014
Sposoby (paradygmaty) programowania programowanie proceduralne to paradygmat programowania zalecający dzielenie kodu na procedury, czyli fragmenty wykonujące ściśle określone operacje programowanie strukturalne to paradygmat zalecający hierarchiczne dzielenie kodu na bloki, z jednym punktem wejścia i jednym lub wieloma punktami wyjścia inaczej języki strukturalne to języki pozwalające na tworzenie własnych funkcji i procedur programowanie obiektowe to paradygmat programowania, w którym programy definiuje się za pomocą obiektów tzn. elementów łączących stan (czyli dane) i zachowanie (czyli procedury). Obiektowy program komputerowy wyrażony jest jako zbiór takich obiektów, komunikujących się pomiędzy sobą w celu wykonywania zadań.
Języki specjalizowane języki dołączone do konkretnych aplikacji, np. języki makropoleceń w edytorach tekstu, AutoLisp w pakiecie AutoCad, Visual Basic dla aplikacji w pakiecie MS Office HTML (HyperText Markup Language) język do opisu dokumentów interpretowany przez przeglądarki internetowe i pozwalający na formatowanie elementów na stronach WWW PHP język skryptowy do generowania stron internetowych w czasie rzeczywistym (zastosowanie: np. Facebook)
Języki specjalizowane języki skryptowe w grach komputerowych służą do sterowania przebiegiem gry fabułą, dialogami, zachowaniem wirtualnych postaci, a czasem nawet do sterowania działaniem całego interfejsu graficznego SQL ( Structured Query Language) jeden z języków do obsługi baz danych
Kompilacja proces przekształcania programu napisanego w języku programowania na język elementarnych rozkazów procesora kod źródłowy kod maszynowy Kompilację umożliwiają programy nazywane kompilatorami Program po kompilacji (i ewentualnie konsolidacji) jest gotowy do wielokrotnego wykonania. Skompilowany program jest ściśle związany z typem procesora, który ma go realizować. Konsolidacja proces dołączenia do kompilowanego programu dodatkowych elementów, np. podprogramów pochodzących z bibliotek programów, procedur i funkcji.
Interpretacja proces przekształcania programu napisanego w języku programowania ale inaczej niż kompilacja kod źródłowy jest na bieżąco tłumaczony instrukcja po instrukcji i natychmiast wykonywany przez dodatkowy program zwany interpreterem Interpreter nie tworzy wykonywanej wersji programu. Przy każdym uruchomieniu programu tłumaczenie dokonywane jest na nowo.
Kompatybilność cecha oprogramowania oraz sprzętu, która umożliwia bezproblemową współpracę systemów komputerowych, w szczególności wymianę danych. (od ang. compatibility zgodność)
obszary zastosowań informatyki programy użytkowe
Edytory tekstu - służą do redagowania na ekranie monitora tekstu przeznaczonego do druku Przykład: MS Word, WordPad, Writer Edytory graficzne - służą do tworzenia obrazów, rysunków, prezentacji graficznej danych a także do obróbki zdjęć, generowania obrazów 3D, tworzenia animacji, cyfrowego przetwarzania filmów, tworzenia grafiki prezentacyjnej Przykład: Paint, CorelDraw, Photoshop, GIMP, Draw, Impress, MS PowerPoint Arkusze kalkulacyjne - przeznaczone do obliczeń na tablicach danych liczbowych Przykład: MS Excel, Origin, Calc
Bazy danych - programy przeznaczone do gromadzenia powiązanych ze sobą w odpowiedni sposób danych w celu ich selektywnego wykorzystania Tworząc bazę danych musimy określić: jakiego rodzaju informacje chcemy przechowywać w bazie jaka jest struktura tych informacji i ich wzajemne powiązania czego oczekujemy po naszej bazie jakie informacje będziemy chcieli uzyskać z bazy Przykład: MS Access, MySQL, Base, Oracle
Programy dedykowane - przeznaczone do konkretnych zastosowań Przykład: programy do obsługi księgowości, kadr, magazynów, do ewidencji ludności, rejestracji w służbie zdrowia, prowadzenia rejestru pojazdów, itp.
Programy komunikacyjne - przeznaczone do połączenia komputerów w sieć lokalną w celu zapewnienia wewnętrznej komunikacji między pracownikami i korzystania ze wspólnych zasobów informacji oraz włączenia się i korzystania z Internetu. Przykład: sieciowe systemy operacyjne, przeglądarki internetowe z pocztą elektroniczną, np. Internet Explorer, Netscape, Mozilla Firefox programy : itd. dla sklepów i usług elektronicznych do tworzenia i zarządzania witrynami WWW, np. MS Front Page do pogawędek w sieci, np. Gadu-Gadu, Skype
Systemy DTP (DeskTop Publishing = programy + odpowiedni sprzęt) umożliwiają opracowanie i drukowanie publikacji o jakości zbliżonej do jakości profesjonalnego składu drukarskiego Przykład: MS Publisher, Adobe Page Maker i InDesign, QuarkXPress Pakiety zintegrowane łączą w jednym programie wiele z wymienionych powyżej funkcji, np. MS Office czy Apache OpenOffice ich zaletą jest łatwość wymiany informacji pomiędzy różnymi programami takiego pakietu
Projektowanie wspomagane komputerem CAD (Computer Aided Design) - wykorzystanie komputera do projektowania np. obiektów architektonicznych, układów elektronicznych, części maszyn, itp. Przykład: AutoCAD firmy Autodesk, ArchiCAD, Inventor, Mechanical Desktop, SolidWorks
CAD obejmuje: tworzenie projektów na płaszczyźnie z możliwością przejścia do wizualizacji przestrzennej (modelowanie 3D) tworzenie rysunków złożeniowych z kilku detali automatyczną aktualizację rysunków złożeniowych po dokonaniu zmiany na pojedynczym detalu pracę wielu konstruktorów nad jednym większym projektem automatyczne itd. tworzenie listy detali produktu kosztorysowanie współpracę z magazynem pozyskiwanie informacji o wielkościach fizycznych i mechanicznych projektowanego detalu
Wytwarzanie wspomagane komputerem CAM (Computer Aided Manufacturing) stosowanie technologii komputerowej do generowania danych sterujących częścią lub całością procesu przemysłowego. CAM przetwarza model przestrzenny obiektu stworzony w programie CAD a dane wyjściowe tego przetwarzania to instrukcje dla urządzenia produkcyjnego np. dla obrabiarek sterowanych numerycznie Przykład: SURFCAM, AlphaCAM, MasterCAM czy EdgeCAM
Konstruowanie wspomagane komputerem CAE (Computer Aided Engineering) grupa programów wspomagających obliczenia inżynierskie (np. wytrzymałościowe) oraz umożliwiających przeprowadzenie symulacji zachowania się konstrukcji w warunkach rzeczywistej eksploatacji. Przykład: Ansys, Autogear, Cosmos, MathLab, MathCAD
Systemy ekspertowe wykorzystanie komputera do wspomagania podejmowania decyzji, które są efektem współpracy ekspertów z danej dziedziny Programy edukacyjne (Multimedia) technika prezentacji multimedialnej polega na łączeniu grafiki, tekstu, animacji, fragmentów filmów, zapisanej cyfrowo mowy, wysokiej jakości dźwięku, itd. w celu uzyskania najbardziej atrakcyjnej formy przekazu informacji. Stosowane w nauczaniu, reklamie czy zabawie
Fizyka komputerowa Matematyka komputerowa Cybernetyka Nauki komputerowe Sztuczna inteligencja Chemia komputerowa Ekonomia komputerowa Socjologia komputerowa Biocybernetyka Nauki o poznaniu Sieci neuronowe Kliometria Biologia komputerowa
Matematyka komputerowa Przykłady: Dowody twierdzeń matematycznych wymagające przeanalizowania ogromnej ilości przypadków Konstrukcja tablicy całek przy użyciu programów do algebry symbolicznej (np. Mathematica, MathLab) Używanie metod sztucznej inteligencji do dowodzenia twierdzeń i wysuwania hipotez matematycznych Zagadnienia matematyczne, które trudno jest traktować analitycznie
Metodyka Symulacji Komputerowej polega na wykorzystaniu algorytmów numerycznych do przewidywania właściwości bardzo precyzyjnie zdefiniowanych systemów modelowych
Fizyka komputerowa Przykłady: Symulacja komputerowa zjawisk fizycznych, np. zachowania się plazmy w różnych warunkach eksperymentalnych dziury ozonowej zanieczyszczeń atmosferycznych Symulacja ewolucji gwiazd, galaktyk, wszechświata Symulacje w dziedzinie fizyki jądrowej Symulacje w dziedzinie mechaniki kwantowej, przewidywanie właściwości ciał stałych czy cząstek Symulacje meteorologiczne
Chemia komputerowa Przykłady: Obliczenia metodami chemii kwantowej stosunkowo małych układów cząsteczek Symulacje techniką Dynamiki Molekularnej i Monte Carlo wyznaczenie właściwości cząsteczek lub ośrodków ciągłych (np. widma IR lub Ramana, współczynniki dyfuzji, struktura molekularna roztworu) Modelowanie molekularne (np. obliczanie właściwości białek) Projektowanie leków
Biologia i biocybernetyka komputerowa Przykłady: Symulacje makroskopowe przepływu substancji i energii w przyrodzie Symulacje mikroskopowe w genetyce i biologii molekularnej Problemy powstawania życia i kodu genetycznego Struktura przestrzenna białek, określana na podstawie sekwencji aminokwasów Symulacja działania różnych narządów dla potrzeb biologii i medycyny Symulacja działania organizmu ludzkiego i zwierzęcego Symulacja działania leków na żywy organizm
Sztuczna inteligencja to dziedzina nauki zajmująca się projektowaniem inteligentnych systemów Przykłady: Rozwiązywanie problemów logicznych techniki planowania i przewidywania w dobrze zdefiniowanych sytuacjach Rozumowanie logiczne, np. projektowanie układów logicznych obwodów scalonych Problemy związane ze zrozumieniem języka naturalnego Programowanie automatyczne na podstawie opisu algorytmu przy pomocy języka naturalnego Ekspertyzy, komputerowe systemy doradcze Robotyka i komputerowe widzenie