INF1-2013-Wykl-01-Dzienne [tryb zgodności]
Transkrypt
INF1-2013-Wykl-01-Dzienne [tryb zgodności]
Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 2/58 Dane podstawowe dr inż. Jarosław Forenc Informatyka 1 Politechnika Białostocka, Wydział Elektryczny, Katedra Elektrotechniki Teoretycznej i Metrologii ul. Wiejska 45D, 15-351 Białystok WE-204 Politechnika Białostocka - Wydział Elektryczny e-mail: [email protected] Elektrotechnika, semestr II, studia stacjonarne I stopnia tel. (0-85) 746-93-97 http://we.pb.edu.pl/~jforenc Rok akademicki 2012/2013 Dydaktyka - slajdy prezentowane na wykładzie konsultacje: Wykład nr 1 (27.02.2012) wtorek, godz. 10:00-11:30, WE-204 środa, godz. 12:30-14:00, WE-204 dr inż. Jarosław Forenc Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 3/58 Przedmioty „Informatyka 1” i „Informatyka 2” Informatyka 1 semestr II wykład: 15 godz. (J. Forenc) pracownia specjalistyczna: 30 godz. (A. Choroszucho, J. Forenc) ECTS: 4 pkt. kod przedmiotu: ES1C200 009 Informatyka 2 semestr III wykład: 15 godz. pracownia specjalistyczna: 30 godz. ECTS: 3 pkt. kod przedmiotu: ES1C300 016 Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 4/58 Program wykładu (1/2) 1. Informacja analogowa i cyfrowa. Pozycyjne i niepozycyjne systemy liczbowe. Konwersje pomiędzy systemami liczbowymi. 2. Jednostki informacji cyfrowej. Kodowanie informacji. Kodowanie znaków. 3. Kodowanie liczb. Reprezentacja liczb w systemach komputerowych: stałoprzecinkowa i zmiennoprzecinkowa. Standard IEEE 754. 4. Architektura komputerów. Klasyfikacja systemów komputerowych (taksonomia Flynna). Architektura von Neumana i architektura harwardzka. Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 5/58 Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 6/58 Program wykładu (2/2 (2/2) Literatura (1 (1/2) 5. Budowa i zasada działania komputera. Procesor, pamięć wewnętrzna i zewnętrzna. Komunikacja z urządzeniami zewnętrznymi, interfejsy komputerowe. 1. B. Pochopień: „Arytmetyka systemów cyfrowych”. Wydawnictwo Politechniki Śląskiej, Gliwice, 2003. 2. S. Gryś: „Arytmetyka komputerów”. PWN, Warszawa, 2007. 6. Algorytmy. Definicja algorytmu. Klasyfikacje i sposoby przedstawiania algorytmów. Rekurencja. Złożoność obliczeniowa. 7. Sortowanie. Klasyfikacje algorytmów sortowania. Wybrane algorytmy sortowania. 3. U. Stańczyk, E. Wróbel, B. Pochopień: „Arytmetyka systemów cyfrowych w teorii i praktyce”. Wydawnictwo Politechniki Śląskiej, Gliwice, 2010. 4. W. Stallings: „Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność”. WNT, Warszawa, 2004. 8. Zaliczenie wykładu. 5. A.S. Tanenbaum: „Strukturalna organizacja systemów komputerowych”. Helion, Gliwice, 2006. 6. K. Wojtuszkiewicz: „Urządzenia techniki komputerowej. Część 1. Jak działa komputer? Część 2. Urządzenia peryferyjne i interfejsy”. PWN, Warszawa, 2007. Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 7/58 Literatura (2/2 (2/2) Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Wykład nr 1 - 27.02.2013 8. P. Wróblewski: „Algorytmy, struktury danych i techniki programowania. Wydanie IV”. Helion, Gliwice, 2009. Wykład nr 3 - 13.03.2013 9. A. Drozdek: C++. Algorytmy i struktury danych. Helion, Gliwice, 2004. Wykład nr 5 - 27.03.2013 11. S. Prata: „Język C. Szkoła programowania. Wydanie V”. Helion, Gliwice, 2006. 8/58 Terminy zajęć i zaliczeń 7. W. Malina, M. Szwoch: „Metodologia i techniki programowania”. PWN, Warszawa, 2008. 10. T.H. Cormen, Ch.E. Leiserson, R.L. Rivest, C. Stein: „Wprowadzenie do algorytmów”. Wydawnictwo Naukowe PWN, Warszawa, 2012. dr inż. Jarosław Forenc Wykład nr 2 - 06.03.2013 Wykład nr 4 - 20.03.2013 Wykład nr 6 - 03.04.2013 Wykład nr 7 - 10.04.2013 Wykład nr 8 - 17.04.2013 Zaliczenie nr 1 - 17.04.2013 (środa), 10:15-12:00, WE-Aula III Zaliczenie nr 2 - 24.04.2013 (środa), 10:15-12:00, WE-Aula III Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 9/58 Zaliczenie wykładu - efekty kształcenia (EK1) Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 10/58 Zaliczenie wykładu - efekty kształcenia (EK1) Student, który zaliczył przedmiot: Student, który zaliczył przedmiot: identyfikuje i opisuje zasadę działania podstawowych elementów systemu komputerowego identyfikuje i opisuje zasadę działania podstawowych elementów systemu komputerowego Student, który zalicza na ocenę dostateczny (3): Student, który zalicza na ocenę dobry (4) (oprócz wymagań na ocenę 3): wymienia podstawowe elementy systemu komputerowego i podaje ich przeznaczenie krótko charakteryzuje klasyfikację Flynna systemów komputerowych opisuje strukturę i zasadę działania wybranych elementów systemu komputerowego wyjaśnia podstawowe pojęcia związane z architekturą i zasadą działania systemów komputerowych wymienia różnice pomiędzy architekturą von Neumana i architekturą harwardzką systemów komputerowych dokonuje konwersji liczby całkowitej bez znaku z systemu dziesiętnego na system o dowolnej podstawie i odwrotnie dokonuje konwersji liczby całkowitej ze znakiem na wybrany kod (ZM, U1, U2) i odwrotnie wyjaśnia na czym polega zapis zmiennoprzecinkowy liczby rzeczywistej oraz postać znormalizowana tego zapisu charakteryzuje wybrane kody liczbowe (NKB, BCD, Graya) i alfanumeryczne (ASCII, ISO-8859, Unicode) Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 11/58 Zaliczenie wykładu - efekty kształcenia (EK1 (EK1) Student, który zaliczył przedmiot: identyfikuje i opisuje zasadę działania podstawowych elementów systemu komputerowego Student, który zalicza na ocenę bardzo dobry (5) (oprócz wymagań na ocenę 4): Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 12/58 Zaliczenie wykładu - efekty kształcenia (EK2) Student, który zaliczył przedmiot: formułuje algorytmy komputerowe rozwiązujące typowe zadania inżynierskie występujące w elektrotechnice Student, który zalicza na ocenę dostateczny (3): przedstawia cel stosowania oraz zasadę działania pamięci podręcznej przedstawia rozwiązanie prostego problemu w postaci schematu blokowego opisującego algorytm komputerowy omawia sposób kodowania wartości specjalnych w standardzie IEEE 754 podaje definicję algorytmu komputerowego i wymienia metody opisu algorytmów przedstawia sposób sortowania wektora liczb stosując wybraną, prostą metodę sortowania Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 13/58 Zaliczenie wykładu - efekty kształcenia (EK2) Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 14/58 Zaliczenie wykładu - efekty kształcenia (EK2) Student, który zaliczył przedmiot: Student, który zaliczył przedmiot: formułuje algorytmy komputerowe rozwiązujące typowe zadania inżynierskie występujące w elektrotechnice formułuje algorytmy komputerowe rozwiązujące typowe zadania inżynierskie występujące w elektrotechnice Student, który zalicza na ocenę dobry (4) (oprócz wymagań na ocenę 3): Student, który zalicza na ocenę bardzo dobry (5) (oprócz wymagań na ocenę 4): przedstawia rozwiązanie złożonego problemu w postaci schematu blokowego opisującego algorytm komputerowy wyjaśnia pojęcie rekurencji i podaje przykłady algorytmów rekurencyjnych wyjaśnia pojęcie złożoności obliczeniowej algorytmu, podaje złożoności obliczeniowe przykładowych algorytmów przedstawia sposób sortowania wektora liczb stosując metodę sortowania szybkiego (Quick-Sort) Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 15/58 Zaliczenie wykładu Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Plan wykładu nr 1 Na zaliczeniu każdy efekt kształcenia będzie oceniany oddzielnie Podstawowe pojęcia: informatyka i informacja Ocena końcowa jest średnią arytmetyczną z dwóch ocen: Informacja analogowa i cyfrowa ocena końcowa Systemy liczbowe ocena punkty średnia 5 5,0 4,75 - 5,00 5 liczby i cyfry 5- 4,8 4,25 - 4,74 4,5 systemy pozycyjne i niepozycyjne 4,5 4,5 3,75 - 4,24 4 4 4,0 3,25 - 3,74 3,5 4- 3,8 3,00 - 3,24 3 3,5 3,5 konwersje pomiędzy systemami liczbowymi 3 3,0 systemy liczbowe a język C 2 2,0 Systemy pozycyjne dziesiętny, dwójkowy, o podstawie „p” Systemy niepozycyjne system rzymski dr inż. Jarosław Forenc 16/58 Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 17/58 Informatyka Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 18/58 Informacja Informatyka (ang. computer science) Informatyka dziedzina nauki i techniki zajmująca się gromadzeniem, przetwarzaniem i wykorzystywaniem informacji dziedzina nauki i techniki zajmująca się gromadzeniem, przetwarzaniem i wykorzystywaniem informacji w języku polskim termin informatyka zaproponował w październiku 1968 r. prof. Romuald Marczyński na konferencji poświęconej „maszynom matematycznym” wzorem nazwy były francuskie informatique i niemieckie Informatik Informacja - wielkość abstrakcyjna, która może być: przechowywana w pewnych obiektach przesyłana pomiędzy pewnymi obiektami przetwarzana w pewnych obiektach stosowana do sterowania pewnymi obiektami Informatykę można rozpatrywać jako: samodzielną dyscyplinę naukową Dane - surowe fakty i liczby narzędzie wykorzystywane przez inne nauki Przetwarzanie danych - logicznie powiązany zespół czynności pozwalających na uzyskanie z danych niezbędnych informacji gałąź techniki przemysł wytwarzający sprzęt i oprogramowanie Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 19/58 Informacja Informacja analogowa i cyfrowa Co oznaczają poniższe dane? Sygnał analogowy może przyjmować dowolną wartość z ciągłego przedziału (nieskończonego lub ograniczonego zakresem zmienności) 00010101000001110001010000010000 00010101 Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 00000111 00010100 00010000 Kod binarny? wartości mogą zostać określone w każdej chwili czasu dzięki funkcji matematycznej opisującej dany sygnał Sygnał cyfrowy dziedzina i zbiór wartości są dyskretne 1 5 0 7 1 4 15 lipca 1410 roku 1 0 Liczba: 15 071 410 ? Data !!! sygnał ciągły, który może zmieniać swoją wartość tylko w określonych chwilach czasu i może przyjmować tylko określone wartości dr inż. Jarosław Forenc 20/58 Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 21/58 Informacja analogowa i cyfrowa umożliwia wyrażenie wyniku liczenia przedmiotów oraz mierzenia wielkości powtarzalne (np. kopia DVD i VHS) możliwość przesyłania na duże odległości Cyfra - umowny znak (symbol) stosowany do zapisu liczby możliwość szyfrowania sygnału (kryptografia) liczba znaków służących do zapisu jest zależna od systemu liczbowego i przyjętego sposobu zapisu niższe koszty przetwarzania Wady sygnałów cyfrowych: ograniczenie częstotliwości próbkowania (sygnał analogowy zamieniony na cyfrowy i ponownie na analogowy nie jest już tym samym sygnałem) Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 23/58 Liczby i cyfry - 10 znaków system szesnastkowy - 16 znaków system rzymski - 7 znaków Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 24/58 W przypadku zapisu cyfr o wartościach większych od 9 stosowane są kolejne litery alfabetu, np. w systemie szesnastkowym: Cyfry arabskie (pochodzą z Indii) arabskie, standardowe europejskie indyjsko-arabskie ٣ ٤ ٥ ٦ ٧ ٨ ٩ ٠ ۶ ٧ ٨ ٩ ٠ wschodnio-indyjsko-arabskie ٢ system dziesiętny Liczby i cyfry Cyfry rzymskie ١ 22/58 Liczba - pojęcie abstrakcyjne, abstrakcyjny wynik obliczeń, wartość odporne na zakłócenia ٢ dr inż. Jarosław Forenc Liczby i cyfry Zalety sygnałów cyfrowych: ١ Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 ٣ ۴ ۵ Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 25/58 Liczby i cyfry Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 26/58 Liczby i cyfry Inne przykłady zapisu cyfr i liczb: Inne przykłady zapisu cyfr i liczb: cyfry etruskie cyfry w pisowni chińskiej liczby w piśmie klinowym (Babilończycy) system prekolumbijski cyfry grecko-jońskie Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 27/58 Systemy liczbowe Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 28/58 System dziesiętny System liczbowy - zbiór zasad umożliwiających zapis liczb za pomocą cyfr oraz wykonywanie działań na tych liczbach Pozycyjny - znaczenie cyfry jest zależne od miejsca (pozycji), które zajmuje ona w liczbie system dziesiętny - liczba 777 (każda cyfra ma inne znaczenie) Niepozycyjny - znaczenie cyfry jest niezależne od miejsca położenia w liczbie system rzymski - liczba III np. liczba: 1408,25 p D - podstawa systemu pozycyjnego - zbiór dozwolonych cyfr w systemie dziesiętnym: p = 10, D = {0,1,2,3,4,5,6,7,8,9} cyfry umieszczane są na kolejnych pozycjach każda cyfra posiada swoją wartość, nazywaną wagą pozycji wagi pozycji są kolejnymi potęgami podstawy systemu (tutaj 10) Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 29/58 Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 30/58 System dziesiętny System dziesiętny liczba: 1408,25(10) cyfra na pozycji określa ile razy należy wziąć wagę na danej pozycji X (10 ) = 1408,25(10 ) = = 1⋅103 + 4 ⋅10 2 + 0 ⋅101 + 8 ⋅100 + 2 ⋅10 −1 + 5 ⋅10 − 2 = 1000 + 400 + 0 + 8 + 0,2 + 0,05 K + x4 ⋅10 4 + x3 ⋅103 + x2 ⋅10 2 + x1 ⋅101 + x0 ⋅100 + + x−1 ⋅10 −1 + x− 2 ⋅10 − 2 + x−3 ⋅10 −3 + x− 4 ⋅10 − 4 + K Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 31/58 System dwójkowy Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc System dwójkowy liczba: 1101,101(2) w systemie dwójkowym: p = 2, D = {0,1} cyfra na pozycji określa ile razy należy wziąć wagę na danej pozycji 1101,101( 2 ) = = 1 ⋅ 23 + 1 ⋅ 2 2 + 0 ⋅ 21 + 1 ⋅ 2 0 + 1 ⋅ 2 −1 + 0 ⋅ 2 − 2 + 1 ⋅ 2 −3 = 8 + 4 + 0 + 1 + 0,5 + 0 + 0,125 = 13,625(10 ) X (10 ) = K + x4 ⋅ 2 4 + x3 ⋅ 23 + x2 ⋅ 2 2 + x1 ⋅ 21 + x0 ⋅ 20 + + x−1 ⋅ 2 −1 + x− 2 ⋅ 2 − 2 + x−3 ⋅ 2 −3 + x− 4 ⋅ 2 − 4 + K 32/58 Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 33/58 System o podstawie „p” Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 34/58 Konwersje pomiędzy systemami liczbowymi Właściwości: stosujemy ograniczoną liczbę cyfr o kolejnych wartościach 0,1,2,... liczba cyfr jest równa wartości podstawy systemu p system dziesiętny: system dwunastkowy: p = 10, D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} p = 12, D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B} wartość największej cyfry jest o 1 mniejsza od podstawy p cyfry ustawiane są na kolejnych pozycjach, wartość cyfry w zapisie zależy od jej pozycji każda pozycja posiada swoją wagę równą podstawie systemu podniesionej do potęgi o wartości pozycji Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 35/58 10 (l. całkowite, potęgowanie) Rozważmy system pozycyjny o podstawie p zawierający n cyfr: Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 10 (l. całkowite, potęgowanie) p = 4, D = {0, 1, 2, 3} p n −1 p n − 2 ... p 2 p1 p 0 ← waga pozycji 21302( 4) = ?(10) xn −1 xn − 2 ... x2 x1 x0 1 4442444 3 21302( 4) = 2 ⋅ 40 + 0 ⋅ 41 + 3 ⋅ 4 2 + 1⋅ 43 + 2 ⋅ 4 4 n − cyfr n− Wartość liczby obliczamy w następujący sposób: p n −1 p n − 2 ... p 2 p1 p 0 xn −1 xn − 2 ... x2 x1 x0 = = x0 p 0 + x1 p1 + x2 p 2 + ... + xn − 2 p n − 2 + xn −1 p n −1 = n −1 = ∑ xi p i i =0 36/58 21302( 4) = 2 ⋅1 + 0 ⋅ 4 + 3 ⋅16 + 1 ⋅ 64 + 2 ⋅ 256 21302( 4) = 2 + 0 + 48 + 64 + 512 = 626(10) p = 17, D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, G} AC 24(17 ) = ?(10) AC 24(17 ) = 4 ⋅17 0 + 2 ⋅171 + 12 ⋅17 2 + 10 ⋅17 3 AC 24(17 ) = 4 ⋅1 + 2 ⋅17 + 12 ⋅ 289 + 10 ⋅ 4913 AC 24(17 ) = 4 + 34 + 3468 + 49130 = 52636(10) Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 37/58 10 (l. całkowite, Horner) Horner) Konwersja: „p” Wartość n-cyfrowej liczby w systemie o podstawie p: xn −1 xn − 2 ... x2 x1 x0 = x0 p 0 + x1 p1 + x2 p 2 + ... + xn − 2 p n − 2 + xn −1 p n −1 Występujące w powyższym wzorze potęgowanie jest czasochłonne Przekształcamy wzór: xn −1 xn − 2 ... x2 x1 x0 = x0 + p ( x1 + p ( x2 + ... + xn − 2 p + xn −1 p )) Otrzymując tzw. schematem Hornera: xn −1 xn − 2 ... x2 x1 x0 = x0 + p ( x1 + p ( x2 + ... + p ( xn −3 + p ( xn − 2 + xn −1 p ))...)) Konwersja: „p” dr inż. Jarosław Forenc 10 (l. całkowite, Horner) Horner) p = 4, D = {0, 1, 2, 3} Załóżmy, że mamy pięciocyfrową liczbę całkowitą w systemie o podstawie p: x4 x3 x2 x1 x0 Kolejne obliczenia według schematu Hornera mają postać: w(10) = x4 w(10 ) = x 4 + w(10 ) ⋅ p ... Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 38/58 10 (l. całkowite, Horner) Horner) w(10 ) = 0 xn −1 xn − 2 ... x2 x1 x0 = x0 + p ( x1 + x2 p1 + ... + xn − 2 p n −1 + xn −1 p n − 2 ) n −3 dr inż. Jarosław Forenc x4 x3 x2 x1 x0 ( p ) = w(10) xn −1 xn − 2 ... x2 x1 x0 = x0 + x1 p1 + x2 p 2 + ... + xn − 2 p n − 2 + xn −1 p n −1 n−2 Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 39/58 w(10 ) = x 3 + w(10 ) ⋅ p w(10) = x3 + x4 ⋅ p w(10 ) = x 2 + w(10 ) ⋅ p w(10) = x2 + x3 ⋅ p + x4 ⋅ p 2 w(10 ) = x1 + w(10 ) ⋅ p w(10) = x1 + x2 ⋅ p + x3 ⋅ p 2 + x4 ⋅ p 3 w(10 ) = x 0 + w(10 ) ⋅ p w(10) = x0 + x1 ⋅ p + x2 ⋅ p 2 + x3 ⋅ p 3 + x4 ⋅ p 4 Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 40/58 „p” (l. całkowite, Horner) Horner) zamiana liczby z systemu p = 10 na system p = 2 21302( 4) = w(10) 626(10) = ?( 2 ) w(10) = 0 626 / 2 = 313 reszta 0 313 / 2 = 156 reszta 1 156 / 2 = 78 reszta 0 w(10) = x4 + w(10) ⋅ p = 2 + 0 ⋅ 4 = 2 w(10) = x3 + w(10) ⋅ p = 1 + 2 ⋅ 4 = 9 w(10) = x2 + w(10) ⋅ p = 3 + 9 ⋅ 4 = 39 w(10) = x1 + w(10) ⋅ p = 0 + 39 ⋅ 4 = 156 w(10) = x0 + w(10) ⋅ p = 2 + 156 ⋅ 4 = 626(10) 626(10) = 1001110010( 2) 78 / 2 39 / 2 19 / 2 = = = 39 19 9 reszta 0 reszta 1 reszta 1 9/2 4/2 2/2 1/ 2 = = = = 4 2 1 0 reszta reszta reszta reszta kolejność odczytywania cyfr liczby w systemie dwójkowym 1 0 0 1 kończymy, gdy liczba dziesiętna ma wartość 0 Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 41/58 Konwersja: 2 „p” (l. całkowite, Horner) Horner) zamiana liczby z systemu p = 10 na system p = 7 626(10) = ?( 7 ) 626(10) = 1553( 7 ) 110110011( 2) = ?( 4 ) = 12 reszta 5 = 1 reszta 5 = 0 reszta 1 1 2 (l. całkowite) 3 3 0 11 { | 11 { | 01 { { | 10 { | 01 { | 10 { | 11 3 3 1 2 1 2 12303( 4) = ?( 2) 626 / 14 = 44 reszta 10 → Α 44 / 14 = 3 reszta 2 3 / 14 = 0 reszta 3 3 0 3 1 2 } } } } } 01 10 11 00 11 12303( 4) = 110110011( 2) Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 43/58 Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 2 2 (l. całkowite) Przy zamianie liczby z systemu dwójkowego na ósemkowy dzielimy (od prawej strony) liczbę dwójkową na trzycyfrowe grupy, np. 16, 16 dr inż. Jarosław Forenc 44/58 2 (l. całkowite) Przy zamianie liczby z systemu dwójkowego na szesnastkowy dzielimy liczbę dwójkową na czterocyfrowe grupy (tetrady), np. 10110011( 2) = ?(8) 11110110011011( 2) = ?(8) 1011010( 2) = ?(16) 11110110011011( 2) = ?(16) 010 { | 110 { | 011 { 011 { | 110 { | 110 { | 011 { | 011 { 0101 { | 1010 { 0011 { | 1101 { | 1001 { | 1011 { 2 6 3 10110011( 2) = 263(8) 3 3 11110110011011( 2 ) = 3312123( 4) Przy zamianie liczby z systemu czwórkowego na dwójkowy kolejne cyfry liczby w systemie czwórkowym zapisujemy jako dwie cyfry w systemie dwójkowym, np. 626(10) = 32Α (14) 8, 8 2 110110011( 2) = 12303( 4) 626(10) = ?(14) 42/58 11110110011011( 2 ) = ?( 4 ) 01 { | 00 { { | 10 { | 11 { | 11 zamiana liczby z systemu p = 10 na system p = 14 Konwersja: 2 4, 4 dr inż. Jarosław Forenc Przy zamianie liczby z systemu dwójkowego na czwórkowy dzielimy (od prawej strony) liczbę dwójkową na dwucyfrowe grupy 626 / 7 = 89 reszta 3 89 / 7 12 / 7 1/ 7 Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 6 6 3 3 11110110011011( 2) = 36633(8) Przy zamianie liczby z systemu ósemkowego na dwójkowy kolejne cyfry liczby w systemie ósemkowym zapisujemy jako trzy cyfry w systemie dwójkowym, np. 5 Α 1011010( 2) = 5Α (16) 3 D 9 Β 11110110011011( 2) = 3D9Β (16) Przy zamianie liczby z systemu szesnastkowego na dwójkowy kolejne cyfry liczby w systemie szesnastkowym zapisujemy jako cztery cyfry w systemie dwójkowym, np. 263(8) = ?( 2) 5A (16) = ?( 2 ) 6 3 2 } } } 010 110 011 263(8) = 10110011( 2 ) 5 A } } 0101 1010 5Α (16) = 1011010( 2 ) Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 45/58 10 (l. rzeczywiste, potęgowanie) Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 46/58 10 (l. rzeczywiste, potęgowanie) p = 4, D = {0, 1, 2, 3} Rozważmy system pozycyjny o podstawie p zawierający n cyfr części całkowitej i m cyfr części ułamkowej: 21302,321( 4 ) = ?(10) p n −1 p n − 2 ... p 2 p1 p 0 p −1 p −2 p − m ← waga pozycji 21302,321( 4 ) = 1 ⋅ 4 −3 + 2 ⋅ 4 − 2 + 3 ⋅ 4 −1 + 2 ⋅ 4 0 + 0 ⋅ 41 + 3 ⋅ 4 2 + 1 ⋅ 43 + 2 ⋅ 4 4 xn −1 xn − 2 ... x2 x1 x0 , x−1 x− 2 ... x− m 4 43 4 1 4442444 3 142 21302,321( 4 ) = 1 ⋅1 / 64 + 2 ⋅1 / 16 + 3 ⋅1 / 4 + 2 ⋅1 + 0 ⋅ 4 + 3 ⋅16 + 1⋅ 64 + 2 ⋅ 256 m − cyfr n − cyfr 21302,321( 4 ) = 0,015262 + 0,125 + 0,75 + 2 + 0 + 48 + 64 + 512 = 626,890262(10) Wartość liczby obliczamy w następujący sposób: p = 17, D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, G} p n −1 p n − 2 ... p 2 p1 p 0 p −1 p −2 p − m xn −1 xn − 2 ... x2 x1 x0 , x−1 x− 2 ... x− m = AC 24, FG(17 ) = ?(10) = x− m p − m + ... + x−2 p −2 + x−1 p −1 + + x0 p + x1 p + x2 p + ... + xn − 2 p 0 = n −1 ∑x p i=− m 1 2 n−2 AC 24, FG(17 ) = 16 ⋅17 − 2 + 15 ⋅17 −1 + 4 ⋅17 0 + 2 ⋅171 + 12 ⋅17 2 + 10 ⋅17 3 = AC 24, FG(17 ) = 16 ⋅1 / 289 + 15 ⋅1 / 17 + 4 ⋅1 + 2 ⋅17 + 12 ⋅ 289 + 10 ⋅ 4913 AC 24, FG(17 ) = (16 + 255) / 289 + 4 + 34 + 3468 + 49130 = 52636,937716...(10) i i Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” + xn −1 p n −1 dr inż. Jarosław Forenc 47/58 10 (l. rzeczywiste, Horner) Horner) Konwersja: „p” = x− m p −1 48/58 10 (l. rzeczywiste, Horner) Horner) 21302,321( 4 ) = w(10) xn −1 xn −2 ... x2 x1 x0 , x−1 x− 2 ... x− m = −2 dr inż. Jarosław Forenc p = 4, D = {0, 1, 2, 3} Rozważmy zamianę liczby stałoprzecinkowej o podstawie p zawierającej n cyfr części całkowitej i m cyfr części ułamkowej na system dziesiętny: −m Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 w(10) = 0 + ... + x− 2 p + x−1 p + x0 p + x1 p + x2 p + ... + xn − 2 p 0 1 2 n−2 + xn −1 p n −1 w(10) = 2 + 0 ⋅ 4 = 2 w(10) = 3 + 626 ⋅ 4 = 2507 w(10) = 1 + 2 ⋅ 4 = 9 w(10) = 2 + 2507 ⋅ 4 = 10030 xn −1 xn − 2 ... x2 x1 x0 , x−1 x− 2 ... x−m = w(10) = 3 + 9 ⋅ 4 = 39 w(10) = 1 + 10030 ⋅ 4 = 40121 = ( xn −1 p n −1+ m + ... + x0 p m + x−1 p −1+ m + ... + x− m p 0 ) p − m w(10) = 0 + 39 ⋅ 4 = 156 w(10) = 40121⋅1 / 64 = 626,890625(10) Przekształcamy powyższy wzór do następującej postaci: wartość liczby stałoprzecinkowej obliczana jest schematem Hornera tak samo jak liczby całkowitej na koniec otrzymany wynik mnożymy przez wagę ostatniej pozycji w(10) = 2 + 156 ⋅ 4 = 626 waga ostatniej pozycji Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 49/58 „p” (l. rzeczywiste, metoda 1) zamiana liczby z systemu p = 10 na system p = 5 z dokładnością do z góry określonej liczby 3 cyfr po przecinku Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 10 zamiana liczby z systemu p = 10 na system p = 2 z dokładnością do 8 cyfr po przecinku 14 361 / 5 72 / 5 14 / 5 = = = 72 14 2 reszta 1 reszta 2 reszta 4 2/5 = 0 reszta 2 zaokrąglamy do najbliższej wartości całkowitej mnożymy liczbę przez podstawę systemu docelowego podniesioną do potęgi równej liczbie miejsc po przecinku Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 51/58 „p” (l. rzeczywiste, metoda 2) zamiana liczby z systemu p = 10 na system p = 2 1 1 8 = ?( 2 ) ⋅ 2 = 25,6 ≈ 26 10 10 (10) 26 / 2 = 13 reszta 0 13 / 2 6/2 3/ 2 = = = 6 3 1 reszta 1 reszta 0 reszta 1 1/ 2 = 0 reszta 1 11010 → 0,00011010( 2) stawiamy przecinek przed trzema ostatnimi cyframi 24213 → 24,213( 5) 50/58 „p” (l. rzeczywiste, metoda 1) mnożymy liczbę przez podstawę systemu docelowego podniesioną do potęgi równej liczbie miejsc po przecinku 1 7 7 14 ⋅ 53 = 1808 ≈ 1808 = ?( 5) 3 15 15 (10) 1808 / 5 = 361 reszta 3 dr inż. Jarosław Forenc zaokrąglamy do najbliższej wartości całkowitej dopisujemy na początku zera i stawiamy przecinek Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 52/58 „p” (l. rzeczywiste, metoda 2) zamiana liczby z systemu p = 10 na system p = 4 73,37 (10) = ?( 2 ) 182,693(10) = ?( 4 ) 73 / 2 = 36 reszta 1 36 / 2 = 18 reszta 0 18 / 2 = 9 reszta 0 0,37 ⋅ 2 = 0,74 0,74 ⋅ 2 = 1,48 0 + 0,74 1 + 0,48 9/2 4/2 = = 4 2 reszta 1 reszta 0 0,48 ⋅ 2 = 0,96 0,96 ⋅ 2 = 1,92 0,92 ⋅ 2 = 1,84 0 + 0,96 1 + 0,92 1 + 0,84 2/2 1/ 2 = = 1 0 reszta 0 reszta 1 0,84 ⋅ 2 = 1,68 ... 1 + 0,68 część całkowita część ułamkowa 73,37 (10) = 1001001,010111...( 2 ) 182 / 4 45 / 4 11 / 4 2/4 = 45 reszta 2 = 11 reszta 1 = 2 reszta 3 = 0 reszta 2 część całkowita 182,693(10) = 2312,230112...( 4 ) 0,693 ⋅ 4 = 2,772 0,772 ⋅ 4 = 3,088 2 + 0,772 3 + 0,088 0,088 ⋅ 4 = 0,352 0,352 ⋅ 4 = 1,408 0,408 ⋅ 4 = 1,632 0 + 0,352 1 + 0,408 1 + 0,632 0,632 ⋅ 4 = 2,528 ... 2 + 0,528 część ułamkowa Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 53/58 Systemy pozycyjne a język C Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dziesiętnym (domyślnie), np. 1239 ósemkowym (zaczynają się od zera - 0), np. 011 (11(8) = 9(10)) szesnastkowym (zaczynają się od 0x lub 0X), np. 0x11 (11(16) = 17(10)) Do wyświetlenia liczby funkcją printf() stosowane są następujące specyfikatory formatu: int main() { int x1 = 456; int x2 = 0710; int x3 = 0x1C8; liczba dziesiętna: %d (typ int), %D (typ long) liczba ósemkowa: %o (typ int), %O (typ long) liczba szesnastkowa: %x (typ int), %X (typ long) dr inż. Jarosław Forenc 55/58 Przykład systemu niepozycyjnego - system rzymski W systemie rzymskim posługujemy się siedmioma znakami: X - 10 L - 50 C - 100 D - 500 M - 1000 Za pomocą dostępnych symboli można określić liczby od 1 do 3999 System addytywny - wartość liczby określa się na podstawie sumy wartości cyfr, np. II (1 + 1 = 2), XXX (10 + 10 + 10 = 30) CLX (100 + 50 + 10 = 160), MMXII (1000 + 1000 + 10 + 1 + 1 = 2012) Wyjątkiem od powyższej zasady są liczby do opisu których używa się odejmowania, np. IV (5 - 1 = 4), IX (10 - 1 = 9), XL (50 - 10 = 40), XC (100 - 10 = 90) Stosowany w łacińskiej części Europy do końca Średniowiecza Niewygodny w prowadzeniu nawet prostych działań arytmetycznych, brak ułamków 456 710 1c8 1C8 456 710 1c8 1C8 456 710 1c8 1C8 /* system dziesietny */ /* system osemkowy */ /* system szesnastkowy */ printf("Dziesietny: printf("Osemkowy: printf("Szesnastkowy: printf("Szesnastkowy: Do wczytania liczby funkcją scanf() stosowane są następujące specyfikatory formatu: V-5 Dziesietny: Osemkowy: Szesnastkowy: Szesnastkowy: #include <stdio.h> #include <stdlib.h> liczba dziesiętna: %d, %i liczba ósemkowa: %o liczba szesnastkowa: %x, %X I-1 54/58 Systemy pozycyjne a język C W języku C liczby mogą być zapisywane w trzech systemach: Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc %d %o %x %X %d %o %x %X %d\n",x1,x2,x3); %o\n",x1,x2,x3); %x\n",x1,x2,x3); %X\n",x1,x2,x3); system("pause"); return 0; } Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 56/58 Przykład systemu niepozycyjnego - system rzymski Zasady tworzenia liczb: zestawiamy odpowiednie znaki od oznaczającego liczbę największą do oznaczającego liczbę najmniejszą XVI = 10(X) + 5(V) + 1(I) = 16 jeżeli składnik liczby, którą piszemy, jest wielokrotnością liczby nominalnej, wtedy zapisywany jest z użyciem kilku następujących po sobie znaków CCC = 100(C) + 100(C) + 100(C) = 300 dodatkowo należy zachować zasadę nie pisania czterech tych samych znaków po sobie, lecz napisać jeden znak wraz ze znakiem oznaczającym wartość większą o jeden rząd liczbowy CD = 500(D) - 100(C) = 400 Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 57/58 Przykład systemu niepozycyjnego - system rzymski Informatyka 1, studia stacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc Koniec wykładu nr 1 Zasady odczytu liczb: cyfry jednakowe są dodawane MMM = 1000(M) + 1000(M) + 1000(M) = 3000 cyfry mniejsze stojące przed większymi są odejmowane od nich CDXCIV = 500(D) - 100(C) + 100(C) - 10(X) + 5(V) - 1(I) = 494 cyfry mniejsze stojące za większymi są do nich dodawane MDCLX = 1000(M) + 500(D) + 100(C) + 50(L) + 10 (X) = 1660 Dziękuję za uwagę! 58/58