wagi cyfry 7 5 8 2 pozycje 3 2 1 0



Podobne dokumenty
1.1. Pozycyjne systemy liczbowe

Systemy liczbowe używane w technice komputerowej

Techniki multimedialne

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Luty 2001 Algorytmy (7) 2000/2001

Algorytm Euklidesa. Największy wspólny dzielnik dla danych dwóch liczb całkowitych to największa liczba naturalna dzieląca każdą z nich bez reszty.

Sortowanie Shella Shell Sort

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

ARCHITEKTURA KOMPUTERÓW Systemy liczbowe

Zapisywanie algorytmów w języku programowania

Systemy liczenia. 333= 3*100+3*10+3*1

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

L6.1 Systemy liczenia stosowane w informatyce

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Sortowanie przez wstawianie Insertion Sort

1259 (10) = 1 * * * * 100 = 1 * * * *1

Wstęp do Informatyki

Pracownia Komputerowa wykład IV

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Wstęp do informatyki- wykład 1 Systemy liczbowe

Instrukcje dla zawodników

Wykład 2. Informatyka Stosowana. 10 października Informatyka Stosowana Wykład 2 10 października / 42

Wykład 2. Informatyka Stosowana. 9 października Informatyka Stosowana Wykład 2 9 października / 42

Pracownia Komputerowa wyk ad IV

Lekcja 3: Pierwsze kroki z Pythonem. Pętle

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Ćwiczenie nr 1: Systemy liczbowe

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Systemy zapisu liczb.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

Algorytmy i struktury danych. Wykład 4

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

Arytmetyka liczb binarnych

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41

Metoda znak-moduł (ZM)

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Podział sieci na podsieci wytłumaczenie

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy

EGZAMIN MATURALNY Z INFORMATYKI 19 MAJA 2015 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 9:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

Temat 20. Techniki algorytmiczne

1. Systemy liczbowe. addytywne systemy w których wartośd liczby jest sumą wartości jej znaków cyfrowych.

1. Operacje logiczne A B A OR B

6. Pętle while. Przykłady

System Liczbowe. Szesnastkowy ( heksadecymalny)

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

DZIESIĘTNY SYSTEM LICZBOWY

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 1 WSTĘP DO INFORMATYKI

SYSTEMY LICZBOWE 275,538 =

B.B. 2. Sumowanie rozpoczynamy od ostatniej kolumny. Sumujemy cyfry w kolumnie zgodnie z podaną tabelką zapisując wynik pod kreską:

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

EGZAMIN MATURALNY Z INFORMATYKI 19 MAJA 2015 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 9:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

Definicje. Algorytm to:

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Kod U2 Opracował: Andrzej Nowak

ZMIERZYĆ SIĘ Z KALKULATOREM

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

Wstęp do informatyki- wykład 1

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Krótka wycieczka do wnętrza komputera

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Programowanie w Baltie klasa VII

KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO

Podstawy Informatyki dla Nauczyciela

Wykład z Technologii Informacyjnych. Piotr Mika

do instrukcja while(wyrażenie);

2.8. Algorytmy, schematy, programy

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Programowanie i techniki algorytmiczne

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Olimpiada O Diamentowy Indeks AGH 2017/18. Informatyka Etap III

Języki programowania zasady ich tworzenia

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

MATEMATYKA WYMAGANIA EDUKACYJNE DLA KLASY V

Zapis liczb binarnych ze znakiem

Operacje arytmetyczne

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Czas pracy: 60 minut

EGZAMIN MATURALNY Z INFORMATYKI

7. CIĄGI. WYKŁAD 5. Przykłady :

Pomorski Czarodziej 2016 Zadania. Kategoria C

Obliczenia iteracyjne

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

I. Podstawy języka C powtórka

Transkrypt:

Wartość liczby pozycyjnej System dziesiętny W rozdziale opiszemy pozycyjne systemy liczbowe. Wiedza ta znakomicie ułatwi nam zrozumienie sposobu przechowywania liczb w pamięci komputerów. Na pierwszy ogień pójdzie system dziesiętny. Dlaczego? Po prostu jest on nam najbardziej znany. Podstawę systemu dziesiętnego tworzy liczba 10. Jest to specjalna wartość charakteryzująca system pozycyjny, od której bierze on swoją nazwę: podstawa 10 - system dziesiętny. Zapis liczby tworzymy za pomocą cyfr, czyli umownych znaków o przypisanych wartościach od 0 do 9. Ilość cyfr jest zawsze równa podstawie systemu, czyli w systemie dziesiętnym będzie ich dziesięć. Największa cyfra jest o 1 mniejsza od podstawy (9 = 10-1). Cyfry umieszczamy na kolejnych pozycjach. Każda pozycja posiada swoją wartość, którą nazywamy wagą pozycji. Wagi pozycji są kolejnymi potęgami podstawy systemu, czyli w systemie dziesiętnym są to kolejne potęgi liczby 10: wagi 1000 10 3 100 10 2 10 10 1 1 10 0 cyfry 7 5 8 2 pozycje 3 2 1 0 Cyfra na danej pozycji określa ile razy należy wziąć wagę tej pozycji przy wyznaczaniu wartości całej liczby. Zatem w naszym przykładzie waga 1000 występuje 7 razy, waga 100-5 razy, waga 10-8 razy i waga 1-2 razy. Wartość liczby otrzymujemy sumując iloczyny cyfr przez wagi pozycji, na których cyfry te występują (czyli ilości tych wag): 7 1000 + 5 100 + 8 10 + 2 1 Jeśli pozycje ponumerujemy kolejno od 0 poczynając od prawej strony zapisu liczby, to waga pozycji i-tej będzie i-tą potęgą podstawy systemu. Np. pozycja nr 3 ma wagę 10 3, czyli 1000, a pozycja nr 2 ma wagę 10 2, czyli 100.

Zapamiętaj: Zbiór podstawowych cech dowolnego systemu pozycyjnego o podstawie p System pozycyjny charakteryzuje liczba zwana podstawą systemu pozycyjnego. Do zapisu liczby służą cyfry. Cyfr jest zawsze tyle, ile wynosi podstawa systemu: 0,1,2,...,(p-1) Cyfry ustawiamy na kolejnych pozycjach. Pozycje numerujemy od 0 poczynając od strony prawej zapisu. Każda pozycja posiada swoją wagę. Waga jest równa podstawie systemu podniesionej do potęgi o wartości numeru pozycji. Cyfry określają ile razy waga danej pozycji uczestniczy w wartości liczby Wartość liczby obliczamy sumując iloczyny cyfr przez wagi ich pozycji Podane powyżej zasady obowiązują w każdym systemie pozycyjnym. Inne systemy pozycyjne Z matematycznego punktu widzenia system dziesiętny nie jest wyróżnionym systemem zapisu liczb. Stosowany jest zapewne z uwagi na posiadanie dziesięciu palców, które w początkowym etapie nauki pełnią rolę swoistego komputera. Z drugiej strony dzieci uczą się liczb zapisywanych właśnie w tym systemie, dlatego zwykle pod pojęciem liczby rozumiemy jej zapis dziesiętny. Aby zrozumieć inne systemy pozycyjne należy przyjąć do wiadomości, iż wartość liczby jest niezależna od sposobu jej zapisu. Dla przykładu weźmy pojęcie DOM, które w języku niemieckim zapisuje się DAS HAUS, w angielskim THE HOUSE, a w hiszpańskim LA CASA. Zapis za każdym razem jest inny, lecz znaczenie ma to samo. Przyjmijmy do wiadomości, iż inne systemy pozycyjne, to jakby inne języki, w których daną liczbę wyraża się inaczej niż w naszym systemie dziesiętnym, ale wartość liczby pozostaje taka sama. Podane w poprzednim rozdziale zasady obowiązują w każdym systemie pozycyjnym o dowolnej podstawie. Jeśli je zrozumiesz, systemy pozycyjne przestaną być dla ciebie tajemnicą.

Oto charakterystyka dowolnego systemu pozycyjnego: Niech podstawą będzie liczba naturalna p większa od 1 (dla p = 1 system pozycyjny degraduje się do systemu karbowego). System posiada p cyfr: 0,1,2,..., (p - 1). Ostatnia cyfra jest zawsze o 1 mniejsza niż podstawa p. Kolejne wagi pozycji będą przyjmowały wartość kolejnych potęg podstawy systemu: pozycja 0 - p 0 pozycja 1 - p 1 pozycja 2 - p 2, itd. Wynika stąd prosty wniosek, iż waga każdej następnej pozycji jest p-razy większa od wagi poprzedniej pozycji. Przykład: Wagi 4 pozycji w różnych systemach liczbowych Podstawa p Wartości wag pozycji pozycja 4 pozycja 3 pozycja 2 pozycja 1 pozycja 0 2 2 4 = 16 2 3 = 8 2 2 = 4 2 1 = 2 2 0 = 1 3 3 4 = 81 3 3 = 27 3 2 = 9 3 1 = 3 3 0 = 1 4 4 4 = 256 4 3 = 64 4 2 = 16 4 1 = 4 4 0 = 1 5 5 4 = 625 5 3 = 125 5 2 = 25 5 1 = 5 5 0 = 1 6 6 4 = 1296 6 3 = 216 6 2 = 36 6 1 = 6 6 0 = 1 7 7 4 = 2401 7 3 = 343 7 2 = 49 7 1 = 7 7 0 = 1 8 8 4 = 4096 8 3 = 512 8 2 = 64 8 1 = 8 8 0 = 1 9 9 4 = 6561 9 3 = 729 9 2 = 81 9 1 = 9 9 0 = 1 10 10 4 = 10000 10 3 = 1000 10 2 = 100 10 1 = 10 10 0 = 1 Zwróć uwagę na ostatnią kolumnę. Wynika z niej, iż waga ostatniej pozycji w każdym systemie pozycyjnym jest taka sama i określa liczbę jednostek.

Wartość liczby obliczamy sumując iloczyny cyfr przez wagi ich pozycji. Stąd otrzymujemy wzór na wartość liczby w dowolnym systemie pozycyjnym. Zapamiętaj: Wartość dziesiętna liczby zapisanej w systemie pozycyjnym o podstawie p za pomocą ciągu cyfr C n-1 C n-2...c 2 C 1 C 0 wynosi C n-1 p n-1 + C n-2 p n-2 +... + C 2 p 2 + C 1 p 1 + C 0 p 0 gdzie: C - cyfra danego systemu o podstawie p C i - cyfra na i-tej pozycji, i = 0,1,2,...,n-1 n - ilość cyfr w zapisie liczby p - podstawa systemu pozycyjnego Ponieważ z doświadczenia wiem, iż uczniowie nie bardzo rozumieją ten prosty wzór, podaję krok po kroku metodę obliczania wartości liczby zapisanej w dowolnym systemie pozycyjnym. Przykład: Obliczyć wartość dziesiętną liczby szóstkowej 53214 (6). 1. Ponad cyframi wypisujemy wagi pozycji, pamiętając, iż pozycje numerujemy od 0 z prawa na lewo. Wagi są kolejnymi potęgami podstawy systemu. Waga danej pozycji jest zawsze równa podstawie podniesionej do potęgi o wartości numeru pozycji. wartość cyfry 5 3 2 1 4 numer pozycji 4 3 2 1 0 2. Tworzymy sumę iloczynów cyfr przez wagi ich pozycji

wartość cyfry 5 3 2 1 4 = 5 6 4 + 3 6 3 + 2 6 2 + 1 6 1 + 4 6 0 numer pozycji 4 3 2 1 0 3. Wyliczamy wagi kolejnych pozycji wartość cyfry 5 3 2 1 4 = 5 1296 + 3 216 + 2 36 + 1 6 + 4 1 numer pozycj i 4 3 2 1 0 4. Obliczamy iloczyny cyfr przez wagi pozycji wartość cyfry 5 3 2 1 4 = 6480 + 648 + 72 + 6 + 4 numer pozycji 4 3 2 1 0 5. Sumujemy iloczyny i otrzymujemy wartość liczby wartość cyfry 5 3 2 1 4 = 7210 numer pozycji 4 3 2 1 0 I ostatecznie piszemy 53214 (6) = 7210 (10). Jeśli operujemy liczbami zapisanymi w różnych systemach pozycyjnych, to w celu uniknięcia niejednoznaczności liczbę opatrujemy indeksem

dolnym, w którym umieszczamy wartość podstawy systemu zapisu danej liczby. Powyższa równość oznacza, iż zapis szóstkowy i dziesiętny oznacza tę samą liczbę. Algorytm obliczania wartości liczby pozycyjnej Podsumujmy podane dotychczas informacje w formie algorytmu. Specyfikacja problemu Dane wejściowe p - podstawa systemu pozycyjnego zapisu liczby, p N, p {2,3,...,10} s - tekst zawierający ciąg znaków ASCII przedstawiających cyfry. Dane wyjściowe Liczba L będąca wartością liczby o podstawie p i zapisanej w postaci ciągu znaków s. L N + {0} Zmienne pomocnicze i funkcje w - wagi kolejnych pozycji, w N c - przechowuje wartość cyfry, c N + {0} i kod(znak) - numery pozycji znaków w s, i N - funkcja zwraca kod ASCII znaku długość(tekst) - zwraca liczbę znaków zawartych w tekście Lista kroków K01: Czytaj p i s K02: w 1; L 0 K03: Dla i = długość(s), długość(s) - 1,...,1 wykonuj K04...K06. K04: c kod(s[i]) - kod('0') K05: L L + w c

K06: w w p K07: Pisz L K08: Zakończ Schemat blokowy Odczytujemy podstawę p systemu liczbowego, w którym zapisana jest liczba. Podstawa musi należeć do zakresu od 2 do 10. Następnie odczytujemy ciąg znaków s reprezentujących cyfry. W zmiennych łańcuchowych pozycje znaków są numerowane od 1 (w C++, Pythonie i JavaScript od 0) począwszy od strony lewej do prawej. Po odczytaniu danych wejściowych inicjujemy zmienne robocze. W zmiennej w będziemy tworzyć wagi kolejnych pozycji liczonych od prawej strony zapisu liczby. Ostatnia cyfra stoi na pozycji o wadze 1, dlatego do w wprowadzamy 1. Wartość liczby będzie wyliczana w zmiennej L. Na początku zmienna ta przyjmuje wartość 0. Zmienna i będzie wskazywała pozycje kolejnych cyfr począwszy od ostatniej, a skończywszy na pierwszej. Ostatnia cyfra ma numer równy liczbie znaków w zmiennej s (w C++, Pythonie i JavaScript wartość tę należy pomniejszyć o 1!). Rozpoczynamy pętlę iteracyjną sterowaną zmienną i, która będzie w kolejnych obiegach przyjmować wartości pozycji cyfr w zapisie liczby. W pierwszym obiegu będzie to ostatnia pozycja, w drugim przedostatnia, itd. Pętla kończy się po przetworzeniu wszystkich znaków w łańcuchu s. (W C++ i JavaScript w warunku kontynuacji pętli iteracyjnej liczbę 1 zastępujemy liczbą 0.) W pętli wyliczamy wartość cyfry. Cyfry w zmiennej s są przechowywane w postaci kodów znakowych ASCII (American Standard Code for Information Interchange - Amerykański, Standardowy Kod do Wymiany Informacji). Kody ASCII kolejnych cyfr mają wartości:

kod ASCII cyfry '0' = 48, kod ASCII cyfry '1' = 49, kod ASCII cyfry '2' = 50... kod ASCII cyfry '9' = 57 Aby zatem otrzymać wartość cyfry na podstawie jej kodu, odejmujemy od niego kod cyfry 0. Np. dla cyfry 2 otrzymamy 50-48 = 2. Wynik umieszczamy w zmiennej c. Otrzymaną wartość cyfry c przemnażamy przez bieżącą wartość pozycji w i wynik dodajemy do L. Przechodzimy do kolejnej pozycji. Waga następnej pozycji w systemie pozycyjnym jest zawsze większa p-razy od wagi pozycji bieżącej. Dlatego w przemnażamy przez p. Zmniejszamy indeks znaku i, a następnie wracamy na początek pętli. Po zakończeniu pętli w zmiennej L mamy wartość liczby. Wypisujemy ją i kończymy algorytm.