Technologie informacyjne (wyk. 1) Podstawowe pojęcia związane z informatyką, zarys historii informatyki, komputerowy zapis informacji dr Tomasz Ordysiński [email protected] tomaszordysinski.pl Podstawowe pojęcia informatyki - defincja Przedmiotem informatyki jest całokształt problematyki związanej ze zbieraniem, przechowywaniem, przekształcaniem, wyszukiwaniem, przesyłaniem i udostępnianiem danych, czyli ogólnie przetwarzaniem danych, w celu zapewnienia sprawnego i celowego działania określonego systemu. Nazwa ,,informatyka’’ powstała w wyniku skojarzenia dwóch pojęć: INFORmacja + autoMATYKA Podstawowe pojęcia informatyki – dane, informacja, wiedza DANE- to każde dowolne przedstawienie faktów, liczb, pojęć w sformalizowanej postaci, umożliwiające przekazywanie i dokonywanie na nich różnorodnych czynności przetwarzania. Dane to surowe fakty, znaki zapisane na jakimś medium. Narzuca się formalizm zapisu. INFORMACJE (teoria ilościowa) - stworzona przez Shannona; zwraca się uwagę na wpływ wielkości informacji na stopień określoności lub nieokreśloności obiektu. Podstawowymi kategoriami tej teorii są entropia i prawdopodobieństwo. INFORMACJE (teoria jakościowa) - bada się własności informacji oraz jej znaczenia w aspekcie użytkowym. W tym ujęciu przyjmuje się, że informacja oznacza znaczenie, treści, jakie przy zastosowaniu odpowiedniej konwencji przyporządkowuje się danym. WIEDZA - wykracza poza informacje, gdyż powoduje zdolność do rozwiązywania problemów, inteligentnego zachowania się i działania. Podstawowe pojęcia informatyki – komputer, oprogramowanie, system komputerowy Elektroniczna maszyna cyfrowa – urządzenie elektryczne potrafiące wykonać 4 podstawowe działania arytmetyczne. Komputer – elektroniczna maszyna cyfrowa stosowana do gromadzenia, przetwarzania i wyszukiwania informacji przy pomocy odpowiedniego oprogramowania. Oprogramowanie – zbiór programów, wykonanie przez komputer pewnych zadań. Algorytm – „przepis” na rozwiązanie pewnego zadania przy pomocy skończonej liczby kroków. Program – algorytm zapisany za pomocą języka „zrozumiałego” dla komputera. Hardware – zbiór wszystkich urządzeń komputerowych. Software – zbiór programów zainstalowanych na twardym dysku komputera. które pozwalają na System komputerowy SYSTEM KOMPUTEROWY HARDWARE + SOFTWARE Główne cechy komputera Zdolność zapamiętywania dużej ilości danych (pamięć dyskowa, taśmowa, nośniki optyczne), Możliwość automatycznego wykonywania rozkazów (program komputerowy), Programowalność – zdolność do zmiany sposobu działania programu, Bardzo duża szybkość obliczeń (procesor wykonuje wiele milionów operacji arytmetycznych na sekundę), Możliwość prezentacji wyników w różnej formie (pliku, tabeli wykresu itp.) Elastyczność budowy sprzętu komputerowego, Kierunki zastosowań informatyki (1) Obliczenia naukowe i inżynierskie Obliczenia numeryczne stanowią klasyczny i najstarszy kierunek zastosowań komputerów. Specyficzne cechy tego typu zastosowań to: skomplikowane obliczenia, algorytmy; liczba danych wejściowych w tego typu zastosowaniach (i wyjściowych) jest niewielka; stosunkowo niewielkie wymagania odnośnie urządzeń zewnętrznych; sprawne i wydajne translatory różnych języków programowania. Masowe przetwarzanie danych (ekonomicznych) Cechami zastosowań w masowym przetwarzaniu danych są: operowanie na bardzo dużych zbiorach i bazach danych; posługiwanie się raczej nieskomplikowanymi algorytmami przetwarzania danych; stosowanie rozbudowanych, efektywnych systemów kontroli; potrzeba tworzenia czytelnych i estetycznych wydruków komputerowych; duże wymagania odnośnie urządzeń peryferyjnych i przesyłania danych; konieczność stosowania różnorodnych programów użytkowych, tj. arkusze kalkulacyjne, bazy danych, edytory tekstowe, programy multimedialne itd. Kierunki zastosowań informatyki (2) Symulacja i modelowanie Komputerowe modele symulacji mogą służyć trzem celom: prognostycznym- za pomocą modelu bada się co zdarzy się w przyszłości i w oparciu o tę wiedzę modyfikuje się podejmowane działania; diagnostycznym- model pomaga znaleźć przyczynę obserwowanych zjawisk lub dokładniej i taniej prześledzić ich przebieg; dydaktycznym- model pozwala tanio i bezpiecznie zdobyć doświadczenie wymagane przy wykonywaniu wielu prac. Sterowanie procesami Sterowanie daje całkowicie inne zastosowania, które powodują szereg uwarunkowań: wymagają specjalnych urządzeń do sprzężenia komputera ze sterowanym procesem (np. czujniki); rola komputera sprowadza się do gromadzenia i raportowania danych; konieczność pracy w tzw. trybie rzeczywistym- komputer w obliczeniach musi uwzględniać czynnik czasu i wysyłać sygnały sterujące dokładnie w tym momencie, kiedy są potrzebne. Inne (poligrafia, edukacja, biuro, rozrywka) Generacje komputerów (1) GENERACJA „0” GENERACJA „1” technika przekaźnikowa, komputer MARK I, praca w systemie dziesiętnym; technika lampowa, komputer ENIAC (1946r.) dane do komputera wprowadza się z taśm, kart perforowanych lub dalekopisów; realizowały jeden program napisany w języku wewnętrznym (kod 0,1 ), nie posiadały systemu operacyjnego; głównie do obliczeń naukowo-technicznych, duża awaryjność. GENERACJA „2” tranzystory pojawiły się pod koniec lat 50, w Polsce – komputer XYZ, ZAM2; pojawienie się pamięci zewnętrznych (dyski magnetyczne, taśmy magnetyczne, bębny); wprowadzenie wieloprogramowości komputerów; komputery wyposażone w system operacyjny; wprowadzenie języków symbolicznych (języki pisane kodem 0, 1zostały zastąpione symbolem); zwiększenie szybkości przetwarzania do 100 tysięcy operacji na sekundę; Generacje komputerów (2) GENERACJA „3” układy scalone: ODRA 1300. wieloprogramowość i wieloprocesowość rozpowszechnienie pamięci dyskowych stosunkowo ,,bogaty’’ zestaw oprogramowania systemowego możliwość pisania programów w językach wyższego rzędu (symbole zastępuje się komendami w języku angielskim) tworzenie sieci komputerowych rozwój urządzeń zewnętrznych (peryferyjnych- do wprowadzania i wyprowadzania danych) szybkość wykonywania operacji wzrasta do 10 milionów działań na sekundę. GENERACJA „4” układy scalone VLSI- bardzo duża skala integracji; ULSI (ultra); technika mikroprocesorowa; różnorodne oprogramowanie użytkowe, początek lat 80 GENERACJA „4 PLUS” – superkomputery o bardzo dużej mocy obliczeniowej: japoński NEC, amerykański CRAY GENERACJA „5” /i dalsze/ technika sztucznej inteligencji; możliwość posługiwania się językiem naturalnym umiejętność wnioskowania i uczenia się przez maszynę poprzez wykorzystanie sieci neuronowych, automatyczne pozyskiwanie wiedzy Zakres informatyki Zakres zainteresowań informatyki obejmuje: sprzęt komputerowy- hardware (jego parametry techniczne, eksploatacyjne oraz dane dotyczące obsługi, konserwacji itp.) oprogramowanie komputerowe- software (systemy operacyjne, języki programowania, oprogramowanie użytkowe itp.) konstrukcje i eksploatację urządzeń do automatycznego przekazywania danych na odległość (sieci komputerowe, sieci telekomunikacyjne) projektowanie i wdrażanie systemów informatycznych potrzeby określonych jednostek (np. przedsiębiorstw) na INFORMACJA CYFROWA (1) Def.1. Informacją cyfrową nazywamy informację przedstawioną w postaci słów cyfrowych Def.2. Słowem cyfrowym nazywamy dowolny ciąg składający się z symboli 0 i/lub 1 Długość słowa Oznaczenie symboliczne Nazwa 1 4 8 16 32 64 a0 a3...a0 a7.....a0 a15.......a0 a31.........a0 a63...........a0 bit tetrada, kęs bajt słowo 16-bitowe, słowo podwójne słowo, dwusłowo słowo 64-bitowe, czterosłowo 1b - oznacza 1 bit 1B - oznacza 1 bajt 1B=8b 1kB=1024B (210) 1MB=1024kB 1GB=1024MB Przykład: 20 MB jest ilością informacji ośmiokrotnie większą niż 20Mb INFORMACJA CYFROWA (2) W słowach cyfrowych wyróżnia się najstarszą i najmłodszą pozycję, tj. bit najbardziej znaczący zwany najstarszym (ang. MSB - Most Significant Bit) oraz bit najmniej znaczący zwany najmłodszym (ang. LSB - Least Significant Bit) an-1 ......................... a0 MSB LSB Analogicznie możemy mówić o starszym i najmłodszym bajcie lub o starszej lub młodszej tetradzie DZIESIĘTNY SYSTEM LICZBOWY Do zapisu dowolnej liczby system wykorzystuje dziesięć symboli (cyfr): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Dowolną liczbę w systemie dziesiętnym możemy przedstawić jako następująca sumę: n 1 ai 10i (an-1...a1a0)D = an-1*10(n-1) +...+ a1*101 + a0*100 = i 0 gdzie: i - numer pozycji w liczbie, ai - dowolna z cyfr od 0 do 9, n - ilość cyfr (pozycji) w liczbie Przykład: 424D = 4*102 + 2*101 + 5*100 pozycja jedynek (0) pozycja dziesiątek (1) pozycja setek (2) DWÓJKOWY SYSTEM LICZBOWY Do zapisu dowolnej liczby system wykorzystuje dwa symbole (cyfry): 0, 1 Dowolną liczbę w systemie dwójkowym możemy przedstawić jako następująca sumę: n 1 a i 2i (an-1...a1a0)B = an-1*2(n-1) +...+ a1*21 + a0*20 = i 0 gdzie: i - numer pozycji w liczbie, ai - dowolna z cyfr (0 lub 1), n - ilość cyfr (pozycji) w liczbie Przykład: 10100B = 1*24 + 0*23 + 1*22 + 0*21 + 0*20 KONWERSJA LICZB 2. 10100B = 1*24 + 0*23 + 1*22 + 0*21 + 0*20 = = 1*16 + 0*8 + 1*4 + 0*2 + 0*1 = 20D 20:2 = 10 10:2 = 5 5:2 = 2 2:2 = 1 1:2 = 0 czyli reszta=0 reszta=0 reszta=1 reszta=0 reszta=1 20D = 10100B kierunek odczytu wyniku 1. HEKSADECYMALNY (SZESNASTKOWY) SYSTEM LICZBOWY Do zapisu dowolnej liczby system wykorzystuje szesnaście symboli (cyfr i liter): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Dowolną liczbę w systemie heksadecymalnym możemy przedstawić jako następująca sumę: n 1 ai 16i (an-1...a1a0)H = an-1*16(n-1) +...+ a1*161 + a0*160 = i 0 gdzie: i - numer pozycji w liczbie, ai - dowolna cyfra heksadecymalna, n - ilość cyfr (pozycji) w liczbie Przykład: 1C2H = 1*162 + C*161 + 2*160 KONWERSJA LICZB (1) 1. 1C2H = 1*162 + C*161 + 2*160 = = 1*256 + 12*16 + 2*1 = 450D 450:16 = 28 28:16 = 1 1:16 = 0 czyli reszta=2 reszta=C reszta=1 450D = 1C2H kierunek odczytu wyniku 2. reszty zapisujemy w postaci cyfry heksadecymalnej KONWERSJA LICZB (2) Do konwersji zapisu binarnego na heksadecymalny i odwrotnie wykorzystuje się tabelę: cyfra heksadecymalna 0 1 2 3 4 5 6 7 8 9 A B C D E F liczba binarna 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 liczba dziesiętna 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 KONWERSJA LICZB (3) 1. każdą cyfrę hex. zapisujemy w postaci czwórki cyfr binarnych 1C2H = = 0001 1100 0010 = = 000111000010 = odrzucamy nieznaczące zera na początku liczby binarnej = 111000010B 2. 111000010B = = 0001 1100 0010B = = 1C2H liczbę binarną dzielimy od końca na czwórki ewentualnie dopisując nieznaczące zera w ostatniej (pierwszej) czwórce każdą czwórkę binarną zapisujemy w postaci cyfry hex. OPERACJE RACHUNKOWE NA LICZBACH BINARNYCH DODAWANIE MNOŻENIE 0 + 0 =0 0 * 0 =0 0 + 1 =1 0 * 1 =0 1 + 0 =1 1 * 0 =0 1 + 1 =10 1 * 1 =1 DODAWANIE TRZECH BITÓW bit A bit B bit C SUMA PRZENIESIENIE 0 0 0 1 0 1 1 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 DODAWANIE LICZB BINARNYCH PRZYKŁAD PRZENIESIENIE 1001001 1101101 + 1001001 10110110 SUMA LICZBY UJEMNE W UKŁADZIE BINARNYM – KOD U2 W zapisie U2 (uzupełnień do 2) liczbę binarną można przedstawić jako: an-1...a0 = -an-1.2n-1+an-2.2n-2+ ... +a0.20 Najstarszy bit nie jest tylko bitem znaku ale niesie wraz ze swoją wagą wartość ujemną. PRZYKŁADY: 1101U2 = -1.23+1.22+0.21+1.20 = -8+4+1 = -3D 0111U2 = -0 .23+1.22+1.21+1.20 = 4+2+1 = 7D KOD U2 – ZAKRESY LICZB Zakresy liczb w kodzie U2: -2n-1 X 2n-1-1 np. dla n=5 liczby od -16D (10000U2) do +15D (01111U2). W zakresie tym muszą się znaleźć nie tylko argumenty ale i wynik. Sposób zamiany ujemnej liczby dziesiętnej na kod U2: 1. Zamiana na zwykłą liczbę binarną 2. Dopisanie „0” z przodu, jeżeli słowo jest zbyt krótkie do zadanego 3. Negacja poszczególnych bitów 4. Dodanie „1” Zamiana na liczbę przeciwną KODOWANIE INFORMACJI (1) Kodowaniem nazywamy przyporządkowanie poszczególnym obiektom zbioru kodowanego odpowiadających im elementów zwanych słowami kodowymi, przy czym każdemu słowu kodowemu musi odpowiadać dokładnie jeden element kodowany. Zbiorem kodowanym może być zbiór dowolnych obiektów (cyfr, liter, symboli graficznych, stanów logicznych, poleceń do wykonania itp.) A 111 100 B 010 C 001 Proces kodowania może być opisem słownym, wzorem (zależnością matematyczną), tabelą kodową itp. Kodem liczbowym nazywamy taki kod, który liczbom dowolnego systemu będzie przyporządkowywał słowa kodowe w postaci zerojedynkowej (binarnej). WYBRANE METODY KODOWANIA Kody binarne kod naturalny NKB – zwykła zamiana na liczbę binarną kod prosty BCD – każdej z liczb z układu dziesiętnego przyporządkowuję się tetradę w kodzie binarnym. Kodowanie znaków (tekstów) kod ASCII - w 1977 roku ANSI (American National Standards Institute) zatwierdził kod ASCII (The American Standard Code for Information Interchange). Jest to system zapisu w pamięci komputera podstawowych znaków graficznych i poleceń sterujących. (nieefektywny do zapisu liczb !!)