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