1.Pojęcia: informatyka, system informatyczny, algorytm klasyczny
Informatyka- przedmiotem informatyki jest problematyka związana z wprowadzaniem, przechowywaniem, przekształcaniem, przesyłaniem i udostępnianiem informacji. Ogólnie: przetwarzanie informacji w sposób zautomatyzowany.
System informatyczny-jest to zbiór powiązanych ze sobą elementów, którego funkcją jest przetwarzanie danych przy użyciu techniki komputerowej. Na systemy informatyczne składają się obecnie takie elementy jak: sprzęt, oprogramowanie, zasoby osobowe, elementy organizacyjne i informacyjne.
Algorytm klasyczny- skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego rodzaju zadań. Algorytm ma przeprowadzić system z pewnego stanu początkowego do pożądanego stanu końcowego.
2. Struktura funkcjonalna, informacyjna i przestrzenna systemu informatycznego
-funkcjonalna- zbiór zadań i celów systemu oraz ich wzajemnych współzależności; wiąże ona bezpośrednio system informacyjny z wytwórczymi i zarządczymi funkcjami obiektu gospodarczego; struktura ta jest nadrzędna w stosunku do pozostałych struktur, można ja rozpatrywać w przekroju struktury organizacyjnej lub w przekroju struktury procesów gospodarczych; wieloprzekrojowe ujęcie struktury funkcjonalnej pozwala zaprezentować systemy kompleksowo i obiektywnie z punktu widzenia celów systemów wytwarzania i zarządzania.
-informacyjna- składa się z zasobów i zbiorów meta informacji.; struktura informacyjna jest ściśle powiązana z jego funkcjonalną
- przestrzenna- rozmieszczenie systemów obiektu określonego w strukturach: funkcjonalnej, informacyjnej i technicznej.
3. Pojęcia: układ cyfrowy, mikroprocesor, jednostka arytmetyczno-logiczna ALU
- Układy cyfrowe to rodzaj układów elektronicznych, w których sygnały napięciowe przyjmują tylko określoną liczbę poziomów, którym przypisywane są wartości liczbowe. Najczęściej liczba poziomów napięć jest równa dwa, a poziomom przypisywane są cyfry 0 i 1, wówczas układy cyfrowe realizują operacje zgodnie z algebrą Boole'a i z tego powodu nazywane są też układami logicznymi. Obecnie układy cyfrowe budowane są w oparciu o bramki logiczne realizujące elementarne operacje znane z algebry Boola: iloczyn logiczny (AND, NAND), sumę logiczną (OR, NOR), negację NOT, różnicę symetryczną (XOR) itp.
- Mikroprocesor- układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji (LSI) zdolny do wykonywania operacji cyfrowych według dostarczonego ciągu instrukcji. Mikroprocesor łączy funkcje centralnej jednostki obliczeniowej (CPU) w pojedynczym półprzewodnikowym układzie scalonym.
-Jednostka arytmetyczno-logiczna ALU -to jedna z głównych części procesora, prowadząca proste operacje na liczbach całkowitych.
ALU jest układem cyfrowym, służącym do wykonywania operacji arytmetycznych (takich jak dodawanie, odejmowanie itp.), operacji logicznych (np. Ex-Or) pomiędzy dwiema liczbami oraz operacje jednoargumentowe takie jak przesunięcie bitów, negacja. ALU jest podstawowym blokiem centralnej jednostki obliczeniowej komputera.
4. Układ binarny, dziesiętny, szesnastkowy
-układ binarny(dwójkowy)- system liczbowy, w którym podstawą jest liczba 2. Do zapisu liczb potrzebne są więc tylko dwie cyfry: 0 i 1. Dzięki temu cyfry dwójkowe mogą być przedstawiane przy pomocy bitów, które również przyjmują dwa stany. Liczny binarne zapisujemy najczęściej z określoną liczbą bitów(np.4,8,16..itp).
-Układ dziesiętny-to pozycyjny system liczbowy, w którym podstawą pozycji są kolejne potęgi liczby 10. Do zapisu liczb potrzebne jest więc w nim 10 cyfr: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Jak w każdym pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu. Część całkowitą i ułamkową oddziela separator dziesiętny.
-układ szesnastkowy- pozycyjny system liczbowy, w którym podstawą jest liczba 16. Do zapisu liczb w tym systemie potrzebne jest szesnaście cyfr. W najpowszechniejszym standardzie poza cyframi dziesiętnymi od 0 do 9 używa się pierwszych sześciu liter alfabetu łacińskiego: A, B, C, D, E, F (dużych lub małych). Cyfry 0-9 mają te same wartości co w systemie dziesiętnym, natomiast litery odpowiadają następującym wartościom: A = 10, B = 11, C = 12, D = 13, E = 14 oraz F = 15.
5.Kod ASCII, UNICODE
-ASCII- 7-bitowy kod przyporządkowujący liczby z zakresu 0-127: literom (alfabetu angielskiego), cyfrom, znakom przestankowym i innym symbolom oraz poleceniom sterującym. Przykładowo litera "a" jest kodowana liczbą 97, a znak spacji jest kodowany liczbą 32.
Litery, cyfry oraz inne znaki drukowane tworzą zbiór znaków ASCII. Jest to 95 znaków o kodach 32-126. Pozostałe 33 kody (0-31 i 127) to tzw. kody sterujące służące do sterowania urządzeniem odbierającym komunikat, np. drukarką czy terminalem.
-UNICODE - komputerowy zestaw znaków mający w zamierzeniu obejmować wszystkie pisma używane na świecie. Definiują go dwa standardy – Unicode oraz ISO 10646. Znaki obu standardów są identyczne. Standardy te różnią się w drobnych kwestiach, m.in. Unicode określa sposób składu.
Rozwijany jest przez konsorcjum, w którego skład wchodzą ważne firmy komputerowe, producenci oprogramowania, instytuty naukowe, agencje międzynarodowe oraz grupy zainteresowanych użytkowników. Konsorcjum współpracuje z organizacją ISO.
6. Pamięć zewnętrzna(dyski i dyskietki magnetyczne, taśmy-streamery, płytki CD i DVD, pamięć półprzewodnikowa- pendrive)
-Dysk- Dysk twardy, napęd dysku twardego– rodzaj pamięci masowej, wykorzystujący nośnik magnetyczny do przechowywania danych. Nazwa "dysk twardy" wynika z zastosowania twardego materiału jako podłoża dla właściwego nośnika, w odróżnieniu od dyskietek w których nośnik magnetyczny naniesiono na podłoże elastyczne.
Dyskietka- inaczej dysk miękki – dysk wymienny, przenośny nośnik magnetyczny o niewielkiej pojemności, umożliwiający zarówno odczyt jak i zapis danych. Najmniejszą fizyczną ilością danych jaką można zapisać i odczytać z dyskietki jest sektor. Jego pojemność informacyjna wynosi w większości systemów plików 512 bajtów.
Taśmy- streamery urządzenie do przechowywania informacji (zwane też napędem taśmowym). Do streamera wkłada się taśmy, podobnie jak do stacji dyskietek wkłada się dyskietki. Na taśmie streamera można zapisać więcej informacji niż na dyskietce, ale zarówno zapis jak i odczyt przebiega znacznie wolniej.
-płyta CD- poliwęglanowy krążek z zakodowaną cyfrowo informacją do bezkontaktowego odczytu światłem lasera optycznego. Zaprojektowany w celu nagrywania i przechowywania dźwięku, przy użyciu kodowania PCM, który dzisiaj jest tylko jednym ze standardów cyfrowego zapisu dźwięku. Taką płytę nazywa się CD-Audio. Dzięki dużej jak na swoje czasy pojemności, niezawodności i niskiej cenie, dysk kompaktowy stał się najpopularniejszym medium do zapisywania danych. Standardowa płyta CD ma średnicę 120 mm i jest w stanie pomieścić 700 MB danych lub 80 minut dźwięku.
-płyta DVD- standard zapisu danych na optycznym nośniku danych, podobnym do CD-ROM (te same wymiary: 12 lub 8 cm) lecz o większej pojemności uzyskanej dzięki zwiększeniu gęstości zapisu. Nośniki w zależności od typu mogą pomieścić od 4,38 GB do ponad 17 GB danych
-pendrive- Pamięć USB- urządzenie przenośne zawierające pamięć nieulotną typu Flash EEPROM, zaprojektowane do współpracy z komputerem poprzez port USB i używane do przenoszenia danych między komputerami oraz urządzeniami obsługującymi pamięci USB.
Do komputera dołączany jest najczęściej bezpośrednio przez złącze USB. Szybkość uzależniona od wersji USB oraz od szybkości zastosowanej pamięci Flash.
7.Języki programowania niskiego poziomu i wysokiego poziomu, generacje języków programowania
- Język niskiego poziomu- typ języka programowania, który w małym stopniu abstrahuje od konstrukcji jednostki centralnej komputera. Innymi słowy, język ten wykazuje duże podobieństwo do kodu maszynowego, zaś kompilacja jest w miarę nieskomplikowana. Najbardziej typowym przykładem języka niskiego poziomu jest asembler.
Język wysokiego poziomu– typ języka programowania, którego składnia i słowa kluczowe mają maksymalnie ułatwić rozumienie kodu programu dla człowieka, tym samym zwiększając poziom abstrakcji i dystansując się od sprzętowych niuansów. Kod napisany w języku wysokiego poziomu nie jest bezpośrednio „zrozumiały” dla komputera – większość kodu stanowią tak naprawdę normalne słowa, np. w języku angielskim. Aby umożliwić wykonanie programu napisanego w tym języku należy dokonać procesu kompilacji.
-Generacje języków
Języki pierwszej generacji - są to języki maszynowe, czyli języki procesorów. Instrukcje są w nich zapisywane w postaci liczb binarnych.
Języki drugiej generacji - języki symboliczne, asemblery. Języki niskiego poziomu, pod względem składni tożsame z maszynowymi, z tą różnicą że zamiast liczb używa się tu łatwiejszych do zapamiętania mnemoników.
Języki trzeciej generacji - języki wysokiego poziomu, proceduralne. W językach tych jedna instrukcja jest tłumaczona na kilka instrukcji procesora, najczęściej od 5 do 10. Pierwszym językiem tego typu był ALGOL. Do tej grupy należą między innymi: FORTH, BASIC - języki niestrukturalne, Pascal, C, FORTRAN - języki strukturalne, C++, Java - języki zorientowane obiektowo.
Języki czwartej generacji - języki bardzo wysokiego poziomu, nieproceduralne. Korzystając z tych języków programista skupia się na problemie, a nie na sposobie jego rozwiązania. Syntaktyka wielu języków czwartej generacji przypomina składnię języka naturalnego. Są one często używane do dostępu do baz danych. Przykładem języka z tej grupy jest: SQL.
Języki piątej generacji - języki sztucznej inteligencji, języki systemów ekspertowych. Języki najbardziej zbliżone do języka naturalnego. Przykładem jest PROLOG.
8.TRANSLACJA:
-KOMPLIKATOR- jest translatorem, operującym operującym na całym tekście programu źródłowego generując tekst przykładu jako całość.
-INTERPRETER-operuje na poszczególnych jednostkach syntaktycznych programu źródłowego i generuje ich przykłady.
Jeśli wykonywany program początkowo zapisany w języku zewnętrznym to używając komplikatora:
-możemy przystąpić do wykonania programu w postaci docelowej dopiero po zakończeniu translacji.
-Oznacza to że uzyskany tekst będącym przekładem tekstu źródłowego w całości wprowadzany jest do maszyny cyfrowej.
Jeśli wykonywany program początkowo zapisany w języku zewnętrznym to używając interpretatora:
-możemy wykonywać przekłady poszczególnych jednostek syntaktycznych, nie czekając na cały proces translacji.
-Oznacza to że cały czas operujemy na tekście źródłowym tłumacząc tylko te jednostki syntaktyczne, które są potrzebne aby poszczególny fragment programu mógł zadziałać.
KOMPLIKATORY to :
-Fortran
-Pascal
-C, C++
INTERPRETY to:
-Python
-MatLab
-HTML
-Java
11.WARIANTY UZYKANIA OPROGRAMOWANIA
1.Opracowanie system we własnym zakresie
Podstawowe zalety:
-możliwość poprawy I modyfikacji oprogramowania we własnym zakresie
-wysoka przyjazność oprogramowania
Podstawowe wady:
-długi czas wykonywania,
-konieczność dodatkowego zatrudnienia,
2. Zlecenie opracowania systemu zewnętrznej firmie.
Podstawowe zalety:
-wysoka przyjazność oprogramowania,
-krótki czas opracowania przy wydzieleniu odpowiednich sił.
Podstawowe wady:
-konieczność dokładnej specyfikacji wymagań,
-duży koszt.
3. Wdrożenie systemu standardowego. Podstawowe zalety:
-krótki czas wdrożenia,
-niezawodność oprogramowania,
-najmniejszy koszt.
Podstawowe wady:
-Konieczność całkowitego dostosowania się do systemu (organizacyjnegoi funkcjonalnego),
-niska przyjazność oprogramowania.
4. Dokonanie wymaganych modyfikacji systemu standardowego.
Podstawowe zalety:
-możliwie krótki czas wdrożenia,
-umiarkowany koszt,
-przyjazność oprogramowania.
Podstawowe wady:
-konieczność dokładnej specyfikacji wymagań dla uzyskania kompleksowej funkcjonalności z zachowaniem pierwotnej,
-konieczność powtórnego opracowania części raportów.
12.Baza danych – kolekcja danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego specjalizowanego do gromadzenia i przetwarzania tych danych.
Główne ich zastosowanie to porządkowanie danych.
13.SZTUCZNA INTELIGENCJA jest to pojęcie stosowane w informatyce i oznacza rozwiązywanie problemów sposobami wzorowanym na naturalnych działaniach i procesach poznawczych człowieka za pomocą symulujących je programów komputerowych.
Wersja słaba AI: Komputer pozwala formułować i sprawdzać hipotezy dotyczące mózgu.
Program= symulacje ale nie "prawdziwe" myślenie.
W tej wersji AI nie ma wielu oponentów gdyż jest wiele dowodów na jej oczywistą przydatność.
Możliwa jest komputerowa symulacja inteligentnego działania nie-biologicznymi metodami.
Wersja silna AI: komputer odpowiednio zaprogramowany jest w istotny sposób równoważny mózgowi i może mieć stany poznawcze.
Wersja często atakowana, ciągłe spory filozoficzne, czy jest to możliwe, ale eksperci się tym martwią.
Symulacja inteligencji to nie "prawdziwa inteligencja" umysł nie jest programem a mózg nie jest komputerem.
Stąd następująca definicja:
sztuczna inteligencja- to tylko to czego jeszcze nie potrafią zrobić sztuczne systemy.