Informatyka 1 - PB Wydział Elektryczny
Transkrypt
Informatyka 1 - PB Wydział Elektryczny
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2012/2013 Wykład nr 1 (09.03.2013) dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 2/61 Dane podstawowe dr inż. Jarosław Forenc Politechnika Białostocka, Wydział Elektryczny, Katedra Elektrotechniki Teoretycznej i Metrologii ul. Wiejska 45D, 15-351 Białystok WE-204 e-mail: [email protected] tel. (0-85) 746-93-97 http://we.pb.edu.pl/~jforenc Dydaktyka - slajdy prezentowane na wykładzie konsultacje: wtorek, godz. 10:00-11:30, WE-204 środa, godz. 12:30-14:00, WE-204 sobota, godz. 12:30-14:00, WE-204 (studia zaoczne) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 3/61 Przedmioty „Informatyka 1” i „Informatyka 2” Informatyka 1 semestr II wykład: 20 godz. (J. Forenc) pracownia specjalistyczna: 30 godz. (A. Choroszucho, J. Forenc) ECTS: 4 pkt. kod przedmiotu: EZ1C200 010 Informatyka 2 semestr III pracownia specjalistyczna: 30 godz. ECTS: 4 pkt. kod przedmiotu: EZ1C300 014 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 4/61 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. 5. Budowa i zasada działania komputera. Procesor, pamięć wewnętrzna i zewnętrzna. Komunikacja z urządzeniami zewnętrznymi, interfejsy komputerowe. Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 5/61 Program wykładu (2/2 (2/2) 6. System operacyjny. Funkcje i zadania systemu operacyjnego. Zarządzanie procesami, pamięcią i dyskami. 7. Sieci komputerowe. Technologie, protokoły, urządzenia. Zasada działania sieci Internet. 8. Algorytmy. Definicja algorytmu. Klasyfikacje i sposoby przedstawiania algorytmów. Rekurencja. Złożoność obliczeniowa. 9. Sortowanie. Klasyfikacje algorytmów sortowania. Wybrane algorytmy sortowania. 10. Zaliczenie wykładu. Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 6/61 Literatura (1/2) 1. B. Pochopień: „Arytmetyka systemów cyfrowych”. Wydawnictwo Politechniki Śląskiej, Gliwice, 2003. 2. S. Gryś: „Arytmetyka komputerów”. PWN, Warszawa, 2007. 3. W. Stallings: „Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność”. WNT, Warszawa, 2004. 4. A.S. Tanenbaum: „Strukturalna organizacja systemów komputerowych”. Helion, Gliwice, 2006. 5. K. Wojtuszkiewicz: „Urządzenia techniki komputerowej. Część 1. Jak działa komputer? Część 2. Urządzenia peryferyjne i interfejsy”. PWN, Warszawa, 2007. 6. A.S. Tanenbaum: „Systemy operacyjne. Wydanie III”. Helion, Gliwice, 2010. Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 7/61 Literatura (2/2 (2/2) 7. W. Stallings: „Systemy operacyjne. Struktura i zasady budowy”. Mikom, Warszawa, 2006. 8. A.S. Tanenbaum, D.J. Wetherall: „Sieci komputerowe. Wydanie V”. Helion, Gliwice, 2012. 9. W. Malina, M. Szwoch: „Metodologia i techniki programowania”. PWN, Warszawa, 2008. 10. P. Wróblewski: „Algorytmy, struktury danych i techniki programowania. Wydanie IV”. Helion, Gliwice, 2009. 11. A. Drozdek: „C++. Algorytmy i struktury danych”. Helion, Gliwice, 2004. 12. S. Prata: „Język C. Szkoła programowania. Wydanie V”. Helion, Gliwice, 2006. Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 8/61 Terminy zajęć i zaliczeń Wykład nr Wykład nr Wykład nr Wykład nr Wykład nr Wykład nr Wykład nr Wykład nr Wykład nr Wykład nr 1 - 09.03.2013 2 - 16.03.2013 3 - 23.03.2013 4 - 06.04.2013 5 - 13.04.2013 6 - 20.04.2013 7 - 11.05.2013 8 - 25.05.2013 9 - 08.06.2013 10 - 15.06.2013 Zaliczenie nr 1 - 15.06.2013 (sobota), godz. 10:40, WE-030 Zaliczenie nr 2 - 21.06.2013 (piątek), godzina i sala do ustalenia Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 9/61 Zaliczenie wykładu - efekty kształcenia (EK1) Student, który zaliczył przedmiot: identyfikuje i opisuje zasadę działania podstawowych elementów systemu komputerowego Student, który zalicza na ocenę dostateczny (3): wymienia podstawowe elementy systemu komputerowego i podaje ich przeznaczenie wyjaśnia podstawowe pojęcia związane z architekturą i zasadą działania systemów komputerowych dokonuje konwersji liczby całkowitej bez znaku z systemu dziesiętnego na system o dowolnej podstawie i odwrotnie wyjaśnia na czym polega zapis zmiennoprzecinkowy liczby rzeczywistej oraz postać znormalizowana tego zapisu. Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 10/61 Zaliczenie wykładu - efekty kształcenia (EK1) Student, który zaliczył przedmiot: identyfikuje i opisuje zasadę działania podstawowych elementów systemu komputerowego Student, który zalicza na ocenę dobry (4) (oprócz wymagań na ocenę 3): opisuje strukturę i zasadę działania wybranych elementów systemu komputerowego dokonuje konwersji liczby całkowitej ze znakiem na wybrany kod (ZM, U1, U2) charakteryzuje wybrane kody liczbowe (NKB, BCD, Graya) i alfanumeryczne (ASCII, ISO-8859, Unicode). Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 11/61 Zaliczenie wykładu - efekty kształcenia (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): przedstawia cel stosowania oraz zasadę działania pamięci podręcznej omawia sposób kodowania wartości specjalnych w standardzie IEEE 754. Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 12/61 Zaliczenie wykładu - efekty kształcenia (EK2) Student, który zaliczył przedmiot: opisuje podstawowe zadania systemu operacyjnego oraz strukturę sieci komputerowych Student, który zalicza na ocenę dostateczny (3): podaje definicję i wymienia podstawowe zadania systemu operacyjnego opisuje wybraną metodę szeregowania żądań dostępu do dysku oraz wybraną metodę przydziału pamięci dyskowej wyjaśnia podstawowe pojęcia związane z sieciami komputerowymi charakteryzuje wybrane media transmisyjne i urządzenia sieciowe. Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 13/61 Zaliczenie wykładu - efekty kształcenia (EK2) Student, który zaliczył przedmiot: opisuje podstawowe zadania systemu operacyjnego oraz strukturę sieci komputerowych Student, który zalicza na ocenę dobry (4) (oprócz wymagań na ocenę 3): podaje strukturę dysku logicznego w wybranym systemie plików (FAT, NTFS, ext) wyjaśnia pojęcia stronicowania i segmentacji pamięci oraz opisuje zasadę działania pamięci wirtualnej charakteryzuje podstawowe protokoły sieciowe oraz topologie sieci komputerowych. Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 14/61 Zaliczenie wykładu - efekty kształcenia (EK2) Student, który zaliczył przedmiot: opisuje podstawowe zadania systemu operacyjnego oraz strukturę sieci komputerowych Student, który zalicza na ocenę bardzo dobry (5) (oprócz wymagań na ocenę 4): opisuje sposób przechowywania informacji o położeniu pliku na dysku w wybranym systemie plików (FAT, NTFS, ext) opisuje modele ISO/OSI i TCP/IP stosowane w sieciach komputerowych. Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 15/61 Zaliczenie wykładu - efekty kształcenia (EK3) 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 rozwiązanie prostego problemu w postaci schematu blokowego opisującego algorytm komputerowy 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 niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 16/61 Zaliczenie wykładu - efekty kształcenia (EK3) 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ę dobry (4) (oprócz wymagań na ocenę 3): przedstawia rozwiązanie złożonego problemu w postaci schematu blokowego opisującego algorytm komputerowy wyjaśnia pojęcie złożoności obliczeniowej algorytmu. Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 17/61 Zaliczenie wykładu - efekty kształcenia (EK3) 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ę bardzo dobry (5) (oprócz wymagań na ocenę 4): wyjaśnia pojęcie rekurencji i podaje przykłady algorytmów rekurencyjnych przedstawia sposób sortowania wektora liczb stosując metodę sortowania szybkiego (Quick-Sort). Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 18/61 Zaliczenie wykładu Na zaliczeniu każdy efekt kształcenia będzie oceniany oddzielnie Ocena końcowa jest średnią arytmetyczną z trzech ocen: ocena punkty średnia ocena końcowa 5 5,0 4,75 - 5,00 5 5- 4,8 4,25 - 4,74 4,5 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 3 3,0 2 2,0 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Plan wykładu nr 1 Podstawowe pojęcia: informatyka i informacja Informacja analogowa i cyfrowa Systemy liczbowe liczby i cyfry systemy pozycyjne i niepozycyjne Systemy pozycyjne dziesiętny, dwójkowy, o podstawie „p” konwersje pomiędzy systemami liczbowymi systemy liczbowe a język C Systemy niepozycyjne system rzymski dr inż. Jarosław Forenc 19/61 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 20/61 Informatyka Informatyka (ang. computer science) 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 Informatykę można rozpatrywać jako: samodzielną dyscyplinę naukową narzędzie wykorzystywane przez inne nauki gałąź techniki przemysł wytwarzający sprzęt i oprogramowanie Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 21/61 Informacja Informatyka dziedzina nauki i techniki zajmująca się gromadzeniem, przetwarzaniem i wykorzystywaniem informacji 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 Dane - surowe fakty i liczby Przetwarzanie danych - logicznie powiązany zespół czynności pozwalających na uzyskanie z danych niezbędnych informacji Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 22/61 Informacja Co oznaczają poniższe dane? 00010101000001110001010000010000 00010101 00000111 00010100 00010000 Kod binarny? 1 0 1 1 Liczba: 15 071 410 ? 5 7 4 15 lipca 1410 roku 0 Data !!! Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Informacja analogowa i cyfrowa Sygnał analogowy może przyjmować dowolną wartość z ciągłego przedziału (nieskończonego lub ograniczonego zakresem zmienności) 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 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 23/61 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 24/61 Informacja analogowa i cyfrowa Zalety sygnałów cyfrowych: odporne na zakłócenia powtarzalne (np. kopia DVD i VHS) możliwość przesyłania na duże odległości możliwość szyfrowania sygnału (kryptografia) 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 niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 25/61 Liczby i cyfry Liczba - pojęcie abstrakcyjne, abstrakcyjny wynik obliczeń, wartość umożliwia wyrażenie wyniku liczenia przedmiotów oraz mierzenia wielkości Cyfra - umowny znak (symbol) stosowany do zapisu liczby liczba znaków służących do zapisu jest zależna od systemu liczbowego i przyjętego sposobu zapisu system dziesiętny - 10 znaków system szesnastkowy - 16 znaków system rzymski - 7 znaków Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 26/61 Liczby i cyfry Cyfry rzymskie Cyfry arabskie (pochodzą z Indii) arabskie, standardowe europejskie indyjsko-arabskie ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩ ٠ ۶ ٧ ٨ ٩ ٠ wschodnio-indyjsko-arabskie ١ ٢ ٣ ۴ ۵ Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 27/61 Liczby i cyfry W przypadku zapisu cyfr o wartościach większych od 9 stosowane są kolejne litery alfabetu, np. w systemie szesnastkowym: Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 28/61 Liczby i cyfry Inne przykłady zapisu cyfr i liczb: cyfry etruskie cyfry w pisowni chińskiej cyfry grecko-jońskie Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 29/61 Liczby i cyfry Inne przykłady zapisu cyfr i liczb: liczby w piśmie klinowym (Babilończycy) system prekolumbijski Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 30/61 Systemy liczbowe 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 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 31/61 System dziesiętny 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 niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 32/61 System dziesiętny cyfra na pozycji określa ile razy należy wziąć wagę na danej pozycji X (10 ) = 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 niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 33/61 System dziesiętny liczba: 1408,25(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 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 34/61 System dwójkowy w systemie dwójkowym: p = 2, D = {0,1} cyfra na pozycji określa ile razy należy wziąć wagę na danej pozycji 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 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 35/61 System dwójkowy liczba: 1101,101(2) 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 ) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 36/61 System o podstawie „p” 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 niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 37/61 Konwersje pomiędzy systemami liczbowymi Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 38/61 10 (l. całkowite, potęgowanie) Rozważmy system pozycyjny o podstawie p zawierający n cyfr: p n −1 p n − 2 ... p 2 p1 p 0 ← waga pozycji xn −1 xn − 2 ... x2 x1 x0 1 4442444 3 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 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 39/61 10 (l. całkowite, potęgowanie) p = 4, D = {0, 1, 2, 3} 21302( 4) = ?(10) 21302( 4) = 2 ⋅ 40 + 0 ⋅ 41 + 3 ⋅ 4 2 + 1⋅ 43 + 2 ⋅ 4 4 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 niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 40/61 10 (l. całkowite, Horner) Horner) 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 + x1 p1 + x2 p 2 + ... + xn − 2 p n − 2 + xn −1 p n −1 xn −1 xn − 2 ... x2 x1 x0 = x0 + p ( x1 + x2 p1 + ... + xn − 2 p n −1 + xn −1 p n − 2 ) xn −1 xn − 2 ... x2 x1 x0 = x0 + p ( x1 + p ( x2 + ... + xn − 2 p n − 2 + xn −1 p n −3 )) ... 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 ))...)) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 41/61 10 (l. całkowite, Horner) Horner) 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ć: x4 x3 x2 x1 x0 ( p ) = w(10) w(10 ) = 0 w(10 ) = x 4 + w(10 ) ⋅ p w(10) = x4 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 niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 42/61 10 (l. całkowite, Horner) Horner) p = 4, D = {0, 1, 2, 3} 21302( 4) = w(10) w(10) = 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) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 43/61 „p” (l. całkowite, Horner) Horner) zamiana liczby z systemu p = 10 na system p = 2 626(10) = ?( 2 ) 626(10) = 1001110010( 2) 626 / 2 = 313 reszta 0 313 / 2 = 156 reszta 1 156 / 2 = 78 reszta 0 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 niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 44/61 „p” (l. całkowite, Horner) Horner) zamiana liczby z systemu p = 10 na system p = 7 626(10) = ?( 7 ) 626(10) = 1553( 7 ) 626 / 7 = 89 reszta 3 89 / 7 12 / 7 1/ 7 = 12 reszta 5 = 1 reszta 5 = 0 reszta 1 zamiana liczby z systemu p = 10 na system p = 14 626(10) = ?(14) 626(10) = 32Α (14) 626 / 14 = 44 reszta 10 → Α 44 / 14 = 3 reszta 2 3 / 14 = 0 reszta 3 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 2 4, 4 dr inż. Jarosław Forenc 45/61 2 (l. całkowite) Przy zamianie liczby z systemu dwójkowego na czwórkowy dzielimy (od prawej strony) liczbę dwójkową na dwucyfrowe grupy 110110011( 2) = ?( 4 ) 11110110011011( 2 ) = ?( 4 ) 01 { | 00 { { | 10 { | 11 { | 11 11 { | 11 { | 01 { { | 10 { | 01 { | 10 { | 11 1 2 3 0 3 110110011( 2) = 12303( 4) 3 3 1 2 1 2 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. 12303( 4) = ?( 2) 3 0 3 1 2 } } } } } 01 10 11 00 11 12303( 4) = 110110011( 2) 3 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 2 8, 8 dr inż. Jarosław Forenc 46/61 2 (l. całkowite) Przy zamianie liczby z systemu dwójkowego na ósemkowy dzielimy (od prawej strony) liczbę dwójkową na trzycyfrowe grupy, np. 10110011( 2) = ?(8) 11110110011011( 2) = ?(8) 010 { | 110 { | 011 { 011 { | 110 { | 110 { | 011 { | 011 { 2 6 3 10110011( 2) = 263(8) 3 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. 263(8) = ?( 2) 6 3 2 } } } 010 110 011 263(8) = 10110011( 2 ) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 2 16, 16 dr inż. Jarosław Forenc 47/61 2 (l. całkowite) Przy zamianie liczby z systemu dwójkowego na szesnastkowy dzielimy liczbę dwójkową na czterocyfrowe grupy (tetrady), np. 1011010( 2) = ?(16) 11110110011011( 2) = ?(16) 0101 { | 1010 { 0011 { | 1101 { | 1001 { | 1011 { 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. 5A (16) = ?( 2 ) 5 A } } 0101 1010 5Α (16) = 1011010( 2 ) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 48/61 10 (l. rzeczywiste, potęgowanie) Rozważmy system pozycyjny o podstawie p zawierający n cyfr części całkowitej i m cyfr części ułamkowej: p n −1 p n − 2 ... p 2 p1 p 0 p −1 p −2 p − m ← waga pozycji xn −1 xn − 2 ... x2 x1 x0 , x−1 x− 2 ... x− m 4 43 4 14442444 3 142 n − cyfr m − cyfr Wartość liczby obliczamy w następujący sposób: 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 = = x− m p − m + ... + x−2 p −2 + x−1 p −1 + + x0 p 0 + x1 p1 + x2 p 2 + ... + xn − 2 p n − 2 + xn −1 p n −1 = = n −1 i x p ∑ i i=− m Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 49/61 10 (l. rzeczywiste, potęgowanie) p = 4, D = {0, 1, 2, 3} 21302,321( 4 ) = ?(10) 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 21302,321( 4 ) = 1 ⋅1 / 64 + 2 ⋅1 / 16 + 3 ⋅1 / 4 + 2 ⋅1 + 0 ⋅ 4 + 3 ⋅16 + 1⋅ 64 + 2 ⋅ 256 21302,321( 4 ) = 0,015262 + 0,125 + 0,75 + 2 + 0 + 48 + 64 + 512 = 626,890262(10) p = 17, D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, G} AC 24, FG(17 ) = ?(10) 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) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 50/61 10 (l. rzeczywiste, Horner) Horner) 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: xn −1 xn −2 ... x2 x1 x0 , x−1 x− 2 ... x− m = = x− m p − m + ... + x− 2 p − 2 + x−1 p −1 + x0 p 0 + x1 p1 + x2 p 2 + ... + xn − 2 p n − 2 + xn −1 p n −1 Przekształcamy powyższy wzór do następującej postaci: xn −1 xn − 2 ... x2 x1 x0 , x−1 x− 2 ... x−m = = ( xn −1 p n −1+ m + ... + x0 p m + x−1 p −1+ m + ... + x− m p 0 ) p − m wartość liczby stałoprzecinkowej obliczana jest schematem Hornera tak samo jak liczby całkowitej na koniec otrzymany wynik mnożymy przez wagę ostatniej pozycji Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 51/61 10 (l. rzeczywiste, Horner) Horner) p = 4, D = {0, 1, 2, 3} 21302,321( 4 ) = w(10) w(10) = 0 w(10) = 2 + 0 ⋅ 4 = 2 w(10) = 3 + 626 ⋅ 4 = 2507 w(10) = 1 + 2 ⋅ 4 = 9 w(10) = 2 + 2507 ⋅ 4 = 10030 w(10) = 3 + 9 ⋅ 4 = 39 w(10) = 1 + 10030 ⋅ 4 = 40121 w(10) = 0 + 39 ⋅ 4 = 156 w(10) = 40121⋅1 / 64 = 626,890625(10) w(10) = 2 + 156 ⋅ 4 = 626 waga ostatniej pozycji Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 52/61 „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 mnożymy liczbę przez podstawę systemu docelowego podniesioną do potęgi równej liczbie miejsc po przecinku 7 7 1 = ?( 5) 14 ⋅ 53 = 1808 ≈ 1808 15 (10) 15 3 1808 / 5 = 361 reszta 3 14 361 / 5 72 / 5 14 / 5 = = = 72 14 2 reszta 1 reszta 2 reszta 4 2/5 = 0 reszta 2 24213 → 24,213( 5) zaokrąglamy do najbliższej wartości całkowitej stawiamy przecinek przed trzema ostatnimi cyframi Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 53/61 „p” (l. rzeczywiste, metoda 1) zamiana liczby z systemu p = 10 na system p = 2 z dokładnością do 8 cyfr po przecinku mnożymy liczbę przez podstawę systemu docelowego podniesioną do potęgi równej liczbie miejsc po przecinku 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) zaokrąglamy do najbliższej wartości całkowitej dopisujemy na początku zera i stawiamy przecinek Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 54/61 „p” (l. rzeczywiste, metoda 2) zamiana liczby z systemu p = 10 na system p = 2 73,37 (10) = ?( 2 ) 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 0 + 0,96 1 + 0,92 1 + 0,84 1 + 0,68 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 2/2 1/ 2 = = 1 0 reszta 0 reszta 1 0,84 ⋅ 2 = 1,68 ... część całkowita część ułamkowa 73,37 (10) = 1001001,010111...( 2 ) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 55/61 „p” (l. rzeczywiste, metoda 2) zamiana liczby z systemu p = 10 na system p = 4 182,693(10) = ?( 4 ) 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 niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 56/61 Systemy pozycyjne a język C W języku C liczby mogą być zapisywane w trzech systemach: 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: liczba dziesiętna: %d, %i liczba ósemkowa: %o liczba szesnastkowa: %x, %X Do wczytania liczby funkcją scanf() stosowane są następujące specyfikatory formatu: 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) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 57/61 Systemy pozycyjne a język C Dziesietny: Osemkowy: Szesnastkowy: Szesnastkowy: #include <stdio.h> #include <stdlib.h> int main() { int x1 = 456; int x2 = 0710; int x3 = 0x1C8; /* system dziesietny */ /* system osemkowy */ /* system szesnastkowy */ printf("Dziesietny: printf("Osemkowy: printf("Szesnastkowy: printf("Szesnastkowy: system("pause"); return 0; } 456 710 1c8 1C8 %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); 456 710 1c8 1C8 456 710 1c8 1C8 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 58/61 Przykład systemu niepozycyjnego - system rzymski W systemie rzymskim posługujemy się siedmioma znakami: I-1 V-5 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 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 59/61 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 niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 60/61 Przykład systemu niepozycyjnego - system rzymski 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 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2012/2013, Wykład nr 1 dr inż. Jarosław Forenc 61/61 Koniec wykładu nr 1 Dziękuję za uwagę!