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ę!

Podobne dokumenty