ściaga informatyka

1.Co to jest informatyka - dziedzina wiedzy zajmująca się problemem przetwarzania, przechowywania i przesyłania danych.

2.Algorytm - jest to ciąg informacji służących wykonywaniu pewnego zadania. W każdym algorytmie można wyróżnić szereg instrukcji które są szczegółowym przepisem do wykonania procedury.

3.Języki programowania proceduralne i deklaratywne - wiążą się ze strukturą i reprezentacją danych w komputerze, wykonywaniem działań i operacji.

J.p. Proceduralne - zapisują procedury które komputer wykonuje (procedura- moduł programu wykonujący określone zadania)

J.p. Deklaratywne - umożliwiają wyszukiwanie danych w dużych zbiorach.

4.Różnica między obliczeniami numerycznymi i symbolicznymi - obliczenia numeryczne to przetwarzanie konkretnych liczb. Obliczenia symboliczne – operacje wykonywane na wyrażeniach(symbolach) matematycznych. Programy z grupy obliczeń symbolicznych nazywane są programami algebry komputerowej. Np. Matlab.

5. Inżynieria oprogramowania zajmuje się wszelkimi aspektami produkcji oprogramowania od analizy i określenia wymagań przez projektowanie i wdrożenie, aż do ewolucji gotowego oprogramowania. koncentruje się na stronie praktycznej. Cel: opracowanie dobrego i niezawodnego oprogramowania.

6. Baza danych to zbiór powiązanych informacji. Dane te zorganizowane są w taki sposób, aby można było je łatwo: przeszukiwać, wyciągać z nich wnioski, podejmować na ich podstawie decyzje. Komputerowa baza danych składa się z danych oraz programu komputerowego wyspecjalizowanego do gromadzenia i przetwarzania tych danych. Program taki nazywany jest Systemem zarządzania bazą danych. Podstawową strukturą danych jest tabela, składa się ona z kolumn (pola) i wierszy (rekordy).

7. Sieć komputerowa to grupa komputerów lub innych urządzeń połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów (np. korzystanie ze wspólnych urządzeń, oprogramowania; przesyłania informacji między komputerami). Rodzaje sieci komputerowych: 1) asymetryczne, w których jeden z komputerów odgrywa rolę nadrzędną i nadzoruje pracę sieci. 2) symetryczne "peer to peer (p2p), w których wszystkie komputery mają jednakowe uprawnienia. Podział sieci komputerowych: LAN (Local Area Networking)- sieci obejmujące swoim zasięgiem stosunkowo niewielki obszar (np. w firmie). MAN (Metropolitan ...) - sieci miejskie, obejmują kilka sieci lokalnych (np. obszar osiedla). WAN (Wide ..) - sieci obejmujące duży obszar geograficzny. Sieć rozległa wykorzystuje do przenoszenia sygnałów prywatne lub publiczne sieci telekomunikacyjne.

8. Internet - globalna sieć komputerowa łącząca sieci lokalne, sieci rozległe i wszystkie komputery do nich podłączone. Umożliwia wymianę informacji dzięki jednolitemu sposobowi kodowania i przesyłu informacji protokołem TCP/IP. Idea Internetu wywodzi się z militarnych projektów- nawet gdyby część sieci uległa zniszczeniu powinna ona dotrzeć innymi alternatywnymi drogami. Intranet- sieć oferująca funkcje podobne do Internetu, lecz działająca w węższym zakresie. Najczęściej na obszarze przedsiębiorstwa. Najczęściej jest oddzielona od Internetu i nie świadczy usług na zewnątrz.

9.KONWERSJA BIN-DEC-HEX (samemu)

10.Relacja pomiędzy ilościami informacji - 8bitów= 1bajt, 1kbajt=1024bitów, 1Mb=1024^2bajtów, 1Gb=1024^3bajtów.

11.Cyfrowe kodowanie informacji - dowolna informacja w komputerze występuje tylko w postaci binarnej dlatego potrzebne są zatem reguły które przekształcają różne postacie informacji na postać ciągu cyfr binarnych. Proces przekształcenia informacji nazywamy kodowaniem, polega ono na zamianie każdego kodu na kod binarny. Z kolei skróceniem kodu binarnego jest kod hexadecymalny.

12. Kod ASCII - służy do kodowania tekstów i przesyłania ich między urządzeniami cyfrowymi. Oprócz znaków alfanumerycznych(litery, symbole, cyfry) koduje on także znaki sterujące pracą drukarki. Przyporządkowuje on znakom ciąg złożony z ośmiu cyfr binarnych. Kod ten podawany jest w postaci tabeli zawierającej kodowane znaki i odpowiadający im kod cyfrowy. Kod cyfrowy znaku w tabelach może być wyrażony binarnie, dziesiętnie lub szesnastkowo. Posługując się kodem można każdy tekst zapisać jako ciąg bitów i odwrotnie każdy ciąg bitów można wyrazić jako tekst. Tabela kodów ASCII zawiera kody 256 znaków.

13. Układem kombinacyjnym nazywamy taki układ, w którym stan wejść jednoznacznie określa stan wyjść. Do najprostszych układów kombinacyjnych należą bramki. Bardziej złożone układy kombinacyjne można zrealizować poprzez proste połączenie wielu bramek bez sprzężeń zwrotnych. Działanie takich układów można przedstawić w postaci tabeli prawdy.

Logiczne układy sekwencyjne są to układy, w których stan wyjść zależy od stanu wejść oraz od poprzednich stanów układu. Układy sekwencyjne są układami, w których można pamiętać informację. Najprostszym układem sekwencyjnym jest przerzutnik.

14. Układem asynchronicznym nazywamy taki układ cyfrowy, dla którego w dowolnym momencie jego działania stan wejść oddziaływuje na stan wyjść.

Układem synchronicznym nazywamy taki układ cyfrowy, dla którego stan wejść wpływa na stan wyjść jedynie w pewnych określonych odcinkach czasu pracy układu (w t.z. czasie czynnym), natomiast w pozostałych odcinkach czasu (w czasie martwym) stan wejść nie ma wpływu na stan wyjść. Odcinki czasu martwego i czynnego określane są przez podanie specjalnego przebiegu zwanego sygnałem zegarowym (taktującym) na wejście zegarowe (taktujące). Zachowanie układów synchronicznych zależy więc od przebiegu sygnału sterującego. Najważniejszą cechą układów synchronicznych jest możliwość dokładnego wyznaczenia czasu wpływu sygnału wejściowego na sygnał wyjściowy- pozwala to uniknąć zakłóceń związanych z np. stanami elektrycznie nieustalonymi.

15. Rejestr jest to układ cyfrowy przeznaczony do krótkoterminowego przechowywania niewielkiej ilości informacji lub do zmiany postaci informacji z szeregowej na równoległą lub odwrotnie. Rodzaje rejestrów z: 1)wejściem i wyjściem równoległym PIPO. Są one często nazywane rejestrami buforowymi lub zatrzaskowymi (latch). 2)we i wy szeregowym SISO. Są to rejestry przesuwające. 3)we szeregowym i wy równoległym SIPO. 4)we równoległym i wy szeregowym PISO.

16. Magistrala. W systemach mikroprocesorowych należy zapewnić przesyłanie info pomiędzy różnymi układami (mikroprocesorem, pamięciami RAM,ROM). Połączenie tych układów każdy z każdym prowadziłoby do ogromnej liczby połączeń i byłoby w praktyce nierealne. Dlatego stosuje się inny sposób połączeń - magistrali. Magistrala jest wspólną drogą, przez którą komunikują się pomiędzy sobą układy wchodzące w skład systemu. Magistralą nazywamy zestaw linii i układów przełączających, łączących dwa lub więcej układy będące nadajnikami lub odbiornikami informacji.

17.U2(kod uzupełnień do dwóch) obecnie najpopularniejszy sposób zapisu liczb całkowitych oraz ułamkowych przedstawionych w formacie stałoprzecinkowym na bitach. Operacje dodawania i odejmowania są w nim wykonywane tak samo jak dla liczb binarnych bez znaku. Nazwa kodu wzięła się ze sposobu obliczania liczb przeciwnych. Dla liczb n-bitowych wartości przeciwne uzyskujemy odejmując liczbę od dwukrotnej wagi najstarszego bitu (2·2n–1 = 2n). ..

Kod U2 jest kodem wagowym, który dowolnej całkowitej liczbie dziesiętnej przyporządkowuje słowo binarne an-1 ...a0 spełniające warunek: an-1...a0= -an-1 *2n-1+an-2*2n-2+ ... a0*20

18. Dekoderem priorytetu nazywamy układ cyfrowy mający n wejść i k wyjść, gdzie k<=2n. Stosuje się je tam gdzie za pomocą liczby (adresu) wybieramy jeden z wielu obiektów np. jeden z wielu układ we/wy. Na wejście dekodera podawany jest zakodowany numer wyjścia, na którym ma pojawić się wyróżniony sygnał o wartości równej np. 0, a na pozostałych wyjściach- sygnał 1. Działanie kodera jest odwrotne do dekodera. Na wyjściu kodera pojawia się zakodowany numer wejścia na którym pojawił się sygnał wyróżniony. Właściwości kodera: na wejściu kodera priorytetu może pojawić się więcej niż 1 sygnał wyróżniony.; Każdemu wejściu przyporządkowany jest poziom ważności- priorytet.; Na wyjściu pojawia się zakodowany numer wejścia z wyróżnionym sygnałem o najwyższym priorytecie.

19.Pamięci półprzewodnikowe to układy scalone przeznaczone do przechowywania info w postaci binarnej. Charakteryzują się pojemnością oraz czasem dostępu. W technice komputerowej stosuje się głównie pamięci o dostępnie swobodnym. Dla takich pamięci mamy praktycznie taki sam czas dostępu do wszystkich przechowywanych w pamięci info. Zwiększanie długości słowa – z reguły ogranicza się do dokładania układów pamięci, podłączania tej samej magistrali adresowej (ta sama przestrzeń adresowa); wyjście danych z dodatkowego układu pamięci wydłuża słowo danych.

20.Laczenie pamięci - zwiększenie liczby slów, zwiększenie liczby adresów, zwiększenie długości slow, zwiększenie ilości linii w szynie adresowej

21. Skracanie czasu dostępu do pamięci. Skracanie czasu dostępu do pamięci polega na zwiększaniu częstotliwości taktowania pamięci poprzez podnoszenie taktowania szyny FSB. Niektóre płyty główne umożliwiają modyfikację timingów z jakimi pamięć pracuje (CAS Latency(CL), RAS-to-CAS Delay(tRCD), RAS Precharge Time(tRP), Cycle Time(Tras), Command Rate(CR), xxxMHz). Wraz ze zmianą częstotliwości pracy magistrali procesorów parametry pamięci ulegają zmianom.

22.Na czym polega odświeżanie pamięci – Odświeżanie pamięci polega na okresowym odświeżaniu zawartości pamięci, ponieważ w przeciwnym przypadku dane mogą zaniknąć (kondensatory się rozładują). Odświeżanie musi następować w regularnych odstępach czasu oraz bezpośrednio po każdej operacji odczytu i polega na ponownym zapisie odczytanej wartości w tych samych komórkach pamięci.

23. DRAM (Dynamic RAM) – zbudowana na bazie tranzystorów i kondensatorów. Pojedyncza komórka pamięci składa się z kondensatora i tranzystora sterującego procesem kondensacji. Kondensator naładowany przechowuje bitowa jedynkę, rozładowany to binarne zero. Budowa matrycowa, czyli aby odwołać się do konkretnej komórki należy podać adres wiersza i komórki. Zaleta – duża pojemność, niska cena//\\Wada – potrzeba odświeżania jej zawartości, spowodowana zjawiskiem rozładowywania się kondensatorów(upływność). W efekcie kondensatory trzeba co jakiś czas doładować (stąd nazwa „pamięć dynamiczna”). Podczas procesu odświeżania nie można zapisywać ani odczytywać z pamięci danych, co powoduje ogólne spowolnienie pracy. ((( tania, wymagająca cyklicznego odświeżania)))

SRAM- pamięć syatyczna, szybka, droga, stosuje się jako pamięć podręczną (cache) (((droga))

24. ROM (ang. Read-Only Memory - pamięć tylko do odczytu) - rodzaj pamięci urządzenia elektronicznego, w szczególności komputera. Zawiera ona stałe dane potrzebne w pracy urządzenia np. procedury startowe komputera, czy próbki przebiegu w cyfrowym generatorze funkcyjnym. Z pamięci tej dane można tylko odczytywać. Są w niej przechowywane podstawowe dane, które muszą zostać zachowane nawet jeśli urządzenie nie jest zasilane. W normalnym cyklu pracy urządzenia pamięć ta może być tylko odczytywana. Przygotowanie, poprzez zapis informacji do pamięci, wykonywane jest w zależności od rodzaju pamięci. Najpopularniejsze rodzaje to: ROM, PROM, EPROM, EEPROM, Flash-ROM.

25. Specjalizowany układ cyfrowy – nie wymaga programu, układ może realizować tylko jeden (konkretny) algorytm przetwarzania informacji prowadząc do wyników przetwarzania. System mikroprocesorowy, do przetworzenia informacji wymaga wprowadzonych danych i szczegółowego zbioru instrukcji zwanych programem który realizuje proces przetwarzania danych prowadząc do otrzymania wyników. System mikroprocesorowy jest zdolny do szerszego i bardziej uniwersalnego przetwarzania danych, zależnie od wprowadzonego programu.

26.Schemat blokowy systemu mikroprocesorowego:

Schemat blokowy układu jest graficznym opisem funkcji wykonywanych przez każdy element i przepływające sygnały. Takie schematy opisują współzależności, które istnieją pomiędzy różnymi składnikami. W odróżnieniu od abstrakcyjnego opisu matematycznego, schematy blokowe mają tę zaletę, że bardziej realistycznie przedstawiają przepływy sygnałów w układzie. Bloki te są symbolami operacji matematycznych wykonywanych na sygnałach wejściowych i wytwarzających odpowiednie sygnały wyjściowe.

\

27. Jednostka arytmetyczno-logiczna ALU - jednostka ta wykonuje operacje takie jak: dodawanie, odejmowanie, przyrównanie bitów, porównanie wartości 2 słów, operacje iloczynowe i sumy algebraiczne, negacji, alternatywy, wyboru rodzaju operacji dokonujemy sygnałem sterującym. Układ nie ma pamięci własnej, dlatego współpracuje z rejestrem.

28. Struktura mikroprocesora – w każdym mikroprocesorze możemy wyróżnić następujące elementy: ALU, interpreter rozkazów, rejestry, szynę danych i szynę adresową.

29.Przykładowe rejestry mikroprocesora: rejestry danych, rejestry adresowe, licznik rozkazów, rejestr instrukcji, wskaźnik stosu.

30. Magistrala – zespół linii oraz układów przełączających służących do przesyłania sygnałów między połączonymi urządzeniami w systemach mikroprocesorowych, złożony z trzech współdziałających szyn: sterująca - mówi, czy sygnał ma zostać zapisany, czy odczytany, adresowa - mówi, z(do) jakiej komórki pamięci sygnał ma zostać odczytany(zapisany), danych - tą magistralą przepływają dane. Przykłady: PCI, PCI Express, PCMCIA, USB, AGP, COM…

31. Cykl adresowy - przy realizacji jakiegokolwiek rozkazu procesora z pamięci następują: wczytywanie do układu sterowania, realizacji rozkazu. Faza pobrana: 1.odczytujemy rozkaz z licznika rozkazu, a dokładniej odczytuje się adres komórki z nowym kodem rozkazu, adres ten jest przesyłany magistralą danych, 2.pobranie kodu rozkazu z pamięci i umieszczenie go w IR, 3.modyfikacja licznika rozkazu IPC=PC+1. Faza wykonana: 1.zdekodowanie kodu rozkazu 2.wysyłanie sygnałów sterujących realizujących dany rozkaz.

32. Zadania i rodzaje WE/WY. Układy pośredniczące w wymianie informacji miedzy pamięcią, procesorem, a urządzeniami zewnętrznymi. Układy we/wy mogą być dedykowane tylko do pracy z konkretnym urządzeniem np. mysz PS/2, lub pracować z wieloma urządzeniami np. USB. Wyróżniamy układy we/wy :

*Współadresowe z pamięcią operacyjna (traktuje się te układy jako pewien zespól rejestrów, które są wybierane za pomocą adresów np. karta grafiki-w celu wyświetlenia grafiki.

*Izolowane-obiekt we/wy wybierany jest poprzez podanie uprzedniego sygnału sterującego. Przestrzeń adresowa układu we/wy i pamięć może się pokrywać, o wyborze decyduje sygnał sterujący (sterowanie dysku IDE).

33. DMA (Direct Memory Access) służy do tego, aby odciążyć procesor z operacji na pamięci w przypadku, gdy chodzi tylko o przesyłanie z jednego urządzenia do drugiego. Przykładowo, gdy chcemy z pamięci wysłać coś przez modem, procesor musiałby pobrać te dane z pamięci i wysłać do modemu. DMA robi to za niego, dzięki czemu procesor może zająć się w tym momencie czymś innym. DMA nie jest w stanie samodzielnie ,,myśleć'', czyli jeśli trzeba wykonać na danych dodatkowe operacje, to musi już zająć się tym procesor. DMA tylko sobie spokojnie czeka na dane, a gdy dostanie zlecenie (musi mieć określone źródło i cel transmisji, samodzielnie DMA nie jest w stanie nic wymyślić), to bierze się do roboty. Warto zauważyć, że DMA konkuruje z procesorem o magistralę (co jest zrozumiałe, bo musi jakąś drogą te dane przesłać i pobrać), jednak upomina się o nią tylko, gdy dostanie zadanie do wykonania.

35.Tablica deskryptorów - w trybie chronionym procesora x86 struktura ulokowana w dedykowanym segmencie, zawierająca deskryptory wszystkich segmentów znajdujących się w pamięci operacyjnej. Dysponując rozmiarem tablicy deskryptorów można określić maksymalny rozmiar pamięci wirtualnej, którą może zaadresować pojedynczy proces.

36. Tryb wirtualny to specjalny tryb działania układu mikroprocesora, który stosowany był w procesorach rodziny Intel typu 80x86. 16-bitowy mikroprocesor 80286 był pierwszym mikroprocesorem przystosowanym do tzw. pracy wielozadaniowej i charakteryzującym się tym, iż miał możliwość pracy w dwóch trybach: ◾adresowania rzeczywistego (ang. Real Address Mode). Tryb ten polega na tym, iż mikroprocesor ten działa jak szybki procesor typu 8086. ◾adresowania wirtualnego z tzw. ochroną (ang. Protected Virtual Address Mode). Tryb ten udostępnia środowisku systemu operacyjnego trzy podstawowe mechanizmy: wielozadaniowości (ang. multitasking); pamięci wirtualnej (ang. virtual memory); ochrony zadań (ang. task protection). Adresowanie w trybie wirtualnym różni się od adresowania w trybie rzeczywistym sposobem określenia adresu segmentu w fizycznej przestrzeni adresowej. W trybie tym przestrzeń adresowa widoczna dla programów wykonywanych przez mikroprocesor - tzw. przestrzeń adresów logicznych lub przestrzeń pamięci wirtualnej jest również podzielona na segmenty.

37.Praca wielozadaniowa w systemie jednoprocesowym - w tym samym czasie jest wykonywanych kilka zadań współbieżnie, każde na innym etapie zaawansowania. Na ogół jeden proces jest realizowany przez określony czas, po czym ustępuje miejsca innemu procesowi, który również jest realizowany przez określony czas. System realizuje wielozadaniowość drogą przełączania procesora pomiędzy poszczególnymi zadaniami, dzięki czemu każde zadanie zyskuje na swoje potrzeby pewną ilość czasu. Na platformach jednoprocesorowych to przełączanie procesora pomiędzy poszczególnymi procesami.

38.Cel stosowania pamięci cache i współpraca z mikroprocesorem – coraz szybsze procesory wymagają coraz szybszych układów pamięciowych. Doszło do sytuacji w której procesor musiał odczekać kilka cyklów zegarowych zanim otrzymał dane z pamięci. W celu usunięcia tego ograniczenia wprowadzona została pamięć podręczna stanowiąca bufor o krótkim czasie dostępu. Zastosowanie jej zaowocowało zwiększeniem wydajności obliczeniowej procesorów. Sterownik cache cały czas monitoruje czy potrzebna informacja jest przechowywana w buforze. Jeżeli tak to mamy do czynienia z cache hit tzn. dane nie muszą być wyszukiwane i pobierane od początku ponieważ znajdują się już w pamięci cache i mogą być więc bezpośrednio wysłane do CPU, co znacznie zwiększa wydajność. W drugim przypadku mamy do czynienia z cache miss czyli należy pobrać nie obecne w cach'u adresy i dane potrzebne procesorowi. W tym celu konieczny jest dostęp do pamięci (wolniejszej) gdzie owe dane są przechowywane i pobranie ich co w rezultacie spowalnia pracę CPU i owocuje spadkiem wydajności komputera.

39. Praca potokowa procesora Pentium jest to taki rodzaj działania mikroprocesora, w którym wykonanie rozkazu dzielone jest na kilka etapów, a każdy z nich może być wykonywany w niezależnych układach tego procesora, dzięki czemu możliwa jest równoległa realizacja kilku różnych kolejnych faz instrukcji następujących po sobie. W procesorze Pentium istnieją dwa potoki wykonywania rozkazów, co pozwala na wykonywanie w jednym takcie dwóch rozkazów, więc jest on procesorem superskalarnym (wykonującym w jednym takcie więcej niż jednej instrukcji).

40.DDR Double Data Rate - pamięć tzw. ulotna gdzie operacje wejścia/wyjścia odbywają się dwukrotnie w jednym cyklu zegara. Dzięki temu uzyskany został dwukrotny wzrost wydajności w stosunku do pamięci SDRAM. W układach tych wymagane jest ciągłe odświeżanie Ten typ pamięci musi być regularnie odświeżany by zachować dane.

41.Złożoność algorytmu –zależność między mocą obliczeniową a rozmiarami wprowadzonych danych z zakresu danego zagadnienia.

42. *Algorytm iteracyjny - algorytm, który uzyskuje wynik przez powtarzanie danej operacji określoną ilość razy.

*Algorytm rekurencyjny – algorytm, którego wynik zależy od swojego poprzedniego wyniku (funkcja, która odwołuje się do samej siebie).

43.*NWD – Podajemy 2 liczby. Sprawdzamy czy obie cyfry są podzielne przez kolejne cyfry rozpoczynając od 2. Iloczyn otrzymanych cyfr da NWD. 36,18|2; 18,9|3; 6,3|3; 2,1|STOP bo nie ma już wspólnych dzielników czyli NWD(36,18)=2x3x3

*F(n): F(n)= 1) 0 dla n=0

2) 1 dla n=1

3) F(n-1)+F(n-2) dla n>1

Ciąg Fibonacciego wyraża się rekurencyjnym wzorem: F(n)=F(n-2)+F(n-1), gdy F(1)=1 oraz F(2)=1.

Łatwo obliczyć, że:

F(3)=F(1)+F(2)=1+1=2

F(4)=F(2)+F(3)=1+2=3 itd.

*2^n – Przyjmujemy założenia dla n: Gdy n należy do l. całkowitych n<0, n=0, n>0, gdy n należy do l. wymiernych… Przyjmijmy że algorytm odnosi się do liczb całkowitych to: Gdy n=0 to n^0=1, gdy n>0 to wynik to n krotny iloczyn cyfry 2, czyli gdy n=3 to wynik=2*2*2. Gdy n<0 to wynik to 1/(n krotny iloczyn cyfry 2).

*n! – Podaj n, gdy n=0 to wynik=1, gdy n>0 to wynik =1*2*3*…*n czyli iloczyn kolejnych liczb naturalnych kończąc na n.

*czy n jest liczbą pierwszą – sprawdzam czy n przy dzieleniu przez wszystkie liczby z zakresu od 2 do n-1 daje resztę z dzielenia, jeśli tak to n jest liczbą pierwszą.

*równanie kw. Mam równanie w postaci Ax^2+Bx+C=0. Sprawdzam jakie współczynniki ma równanie. Jeżeli A=0 to nie jest to równanie kwadratowe. Jeśli A≠0 i Δ=0 to x= -B/2A, jeśli A≠0 i Δ>0 to x1=(-B-sqrΔ)/2A; x2=(-b+sqrΔ)/2A, jeśli A≠0 i Δ<0 to brak rozwiązań.

C++

44.Instrukcje: przypisania, warunkowa, warunkowa zagnieżdżona, instrukcje do realizacji pętli obliczeń, instrukcja wyboru, break, continua, skoku, typedef – składnia (przykłady).

*Przypisania - w językach programowania to instrukcja w której do pewnej lokacji (l-wartości) przypisuje się wartość, która będzie w nim przechowywana.

np. int x=5; a=20; d=a+x;

*Warunkowa - umożliwia wykonanie pewnej instrukcji w zależności od wartości wyrażenia. Wszystkie wartości różne od 0 są w języku C++ traktowane jako prawda, równe 0 jako fałsz. Wyrażenia logiczne są liczone tylko do momentu, w którym można określić jego wartość.

if (warunek)

{instrukcja}

else

{instrukcja}

int a=4;

if (a > 5)
cout<<”a jest wieksze od ;

else if

cout<<”a jest mniejsze od ;

else

cout<<”a jest rowne ;

*Warunkowa zagnieżdżona - instrukcja if...else... wykonuje serię testów aż wystąpi jedna z poniższych sytuacji:

-jeden z warunków w instrukcji if lub else if jest prawdziwy. W tym wypadku wykonują się instrukcje występujące po tym warunku

- żaden z testowanych warunków nie jest prawdziwy. Program wykonuje instrukcję z ostatniej instrukcji else (jeżeli występuje)

-jeżeli warunek jest spełniony, po prostu wykonuje instrukcje. Np.

if (warunek)

{if(warunek2)

{ instrukcja1}

else {instrukcja2}

}

else {instrukcja3}

char c ;

clrscr () ;

cout << "Podaj znak" ;

cin >> c ;

if (c >= 'A' && c <= 'Z')

cout << "litera duza\n" ;

else if (c >= 'a' && c <= 'z')

cout << "litera mala\n" ;

else if (c >= '0' && c <= '9')

cout << "cyfra/n" ;

else

cout << "inny znak\n" ;

*Pętle

for (inicjacja; warunek; instrukcja1) instrukcja2 ;

{

double a = 10 ;

int n ;

cout << "Podaj liczbe z zakresu [1..30]: " ;

cin << n ;

if (n > 0 && n <= 30)

{

for (int i = 1 ; i <= n ; i++) a += (double)i ;

cout << n << " != " << a << '\n' ;

}

else cout << "Liczba z poza zakresu" ;

return 0 ;

}

dodatkowo pętle:

while do-while

while (zmienna < 100)

{

instrukcja_1;

instrukcja_2;

instrukcja_3;

}

do

{

instrukcja_1;

instrukcja_2;

instrukcja_3;

}

while (zmienna > 10);

*Wyboru – switch

- instrukcja wymaga wartości całkowitej, wartość ta może być stałą zmienną, wywołaniem funkcji lub wyrażeniem. Switch nie działa ze zmiennoprzecinkowymi typami danych.

- wartość występująca po każdej etykiecie case musi być stałą.

- C++ nie zezwala na użycie etykiet case z zakresem wartości, każda wartość musi występować w oddzielnej etykiecie case.

- po każdej grupie wykonywanych instrukcji, trzeba użyć instrukcji break. Powoduje ona wyjście programu z instrukcji switch. Jeżeli nie użyje się instrukcji break program przejdzie do wykonania instrukcji po kolejnych etykietach case.

- zbiór instrukcji dla każdej etykiety lub etykiet musi być zawarty w nawiasach klamrowych.

- instrukcja po etykiecie default jest wykonywana gdy nie natrafiono na żadną etykietę else.

Przykład:

char c ;

clrscr () ;

cout << "Podaj znak" ; cin >> c ;

switch (c)

{

case "A":

case "B":

cout << "Duza litera" ;

break ;

case "a":

case "b":

cout << "Mala litera" ;

case "0":

case "1":

cout << "Cyfra" ;

break ;

default :

cout << "Inny znak" ;

}

*Cd 44 instrukcja Break – umożliwia wyjście z pętli Instrukcja ta powoduje przejście programu do końca aktualnej pętli. Składnia dla pętli for:

for (inicjalizacja, test, uaktualnienie)

{

//sekwencja instrukcji nr 1

if (warunek wyjścia z pętli) break ;

//sekwencja instrukcji nr 2

}

//sekwencja instrukcji nr 3

Przykład:

char s [8], FindChar ; // Podaj ciąg znaków (string) s

for (i = 0 ; i < strlen (s) ; i++) // strlen() - zwraca długość łańcucha

if (s [i] == findchar) break ; // znak do wyszukiwania FindChar

if (i < strlen (s)) cout << " " << i << '\n' ;

*continue - Instrukcja ta kończy działanie przebiegu kodu pętli - czyli jeżeli gdzieś w pętli wystąpi instrukcja continue to program pomija instrukcje występujące po niej i przystępuje do ponownego sprawdzenia warunku. Instrukcja ta powoduje przedwczesne, bezwarunkowe zakończenie wykonania wewnętrznej instrukcji pętli i podjęcie próby realizacji następnego cyklu pętli.

*Instrukcje skoku - goto
Instrukcja goto jest postrzegana przez programistów jako spadek po BASIC'u, ponieważ za jej pomocą możemy wykonywać skoki do deklarowanej etykiety. Większość domorosłych programistów uważa, że jej stosowanie jest przykładem złej znajomości rzeczy, ale tak na prawdę, użycie goto w uzasadnionym przypadku ma swój sens. Konstrukcja goto jest prosta:
goto nazwa_etykiety; // a w kodzie programu umieszczamy:
nazwa_etykiety;
instrukcje_etykiety;
Ograniczenia instrukcji goto nie pozwalają jej na przeskoczenie definicji zmiennej, po każdej etykiecie musi wystąpić co najmniej jedna instrukcja. Instrukcja ta może przydać się choćby do natychmiastowego opuszczenia wielokrotnie zagnieżdżonej pętli. Ponadto goto nie może spowodować przejścia do wykonania instrukcji znajdującej się poza funkcją zawierającą goto.

*Typedef- Język C++ umożliwia zdefiniowanie swoich własnych typów danych poprzez

zastosowanie instrukcji typedef. Instrukcja ta jest środkiem, dzięki któremu program może

rozszerzyć podstawowe typy danych języka C. Ogólna postać instrukcji typedef jest na-

stępująca,

typedef deklaracja_typu;

gdzie deklaracja_typu jest identyczna jak deklaracja zmiennej, poza tym że zamiast nazwy_

zmiennej jest użyta nazwa typu. Na przykład instrukcja

typedef int count;

przykład:

main()

{

typedef int group[10]; /* Utworzenie nowego typu 'group' */

group totals; /* Przypisanie nowego typu danych zmiennej */

for (i = 0; i < 10; i++)

totals[i] = 0;

return (0);

}

45.Jakie znasz typy standardowe?

Typ Boolean

Typ Integer

Typ Float

Typ Character

*bool - przechowuje informacje typu: prawda lub fałsz. Zajmuje 1 bajt pamięci.

*char - typ znakowy. Można za jego pomocą przechowywać znaki w kodzie ASCII (American Standard Code for Information Interchange) lub innym stosowanym na danej maszynie.

*short - short integer, czyli krótki całkowity. Zmienne typu short są zapisywane na dwóch bajtach.

*int - integer, czyli całkowity. Zapisywany jest na czterech bajtach.

*long - long integer, czyli dla odmiany długi całkowity, na 4 bajtach.

*float - typ zmiennoprzecinkowy pojedynczej precyzji, 4 bajty.

*double - typ zmiennoprzecinkowy zapisywany na 8 bajtach (większa dokładność)

*long double - można zapisać duże liczby z ogromną dokładnością (10 bajtów)

*void - typ pusty oznaczający brak wartości (stosowany w ANSI C). Żadna zmienna nie może być typu void. Tylko parametry przekazywane do funkcji mogą być typu void (oznacza wtedy, że do funkcji nic się nie przekazuje) lub zwracane przez funkcję (funkcja nic nie zwraca). Oprócz tego typ void może być stosowany przy tworzeniu pewnych typów złożonych.

*unsigned - typ bez znaku (tylko wartości dodatnie)

46.W jaki sposób możesz zdefiniować typy pochodne (własne)?

Typy pochodne – tworzymy na podstawie typów fundamentalnych za pomocą operatorów deklaracji

* - wskaźnik danego typu – int *w;

& - referencja do danego typu

[] – tablice danego typu

() – funkcja zwracająca dany typ, o parametrach danego typu

47.Jakie znasz zakresy ważności zmiennej (obiektu)?

- czas życia obiektu - od momentu gdy obiekt został zdefiniowany do momentu, kiedy przestaje istnieć,

- zakres ważności nazwy – zakres w którym nazwa jest znana kompilatorowi,

- zakres lokalny – od punktu deklaracji do końca bloku,

- zakres globalny – dla nazwy zadeklarowanej poza klasą lub funkcją, zasięg od punktu deklaracji do końca pliku zawierającego tą deklarację,

- zakres klasy – nazwa widziana tylko przez metody klasy, klas pochodnych i zaprzyjaźnionych

48. Definiowanie(utworzenie) zmiennej. Podczas definiowania najpierw podajemy typ zmiennej, później jej nazwę oraz jej wartość.

typ zmienna = wartość;

W ten sposób zdefiniowaliśmy zmienną, którą zainicjalizowaliśmy określoną wartością początkową.

49.Co to jest enum?

Typ wyliczeniowy enum.

Typ wyliczeniowy jest bardzo sprytnym rozwiązaniem polepszającym czytelność kodu oraz

zmniejszającym ilość błędów w programie. Stosuje się go w wypadku, gdy znamy ilość pewnych

stanów układu, oraz jeśli jesteśmy je w stanie wyliczyć. Klasycznym przypadkiem może być typ

użyty do wyliczenia dni tygodnia:

enum dni_tygodnia = {poniedzialek=1, wtorek, sroda, czwartek, piatek, sobota, niedziela};

Taka konstrukcja jest jednak mało przydatna. Najlepiej typ enum połączyć z instrukcją typedef, w wyniku której otrzymujemy nowy typ:

typedef enum { poniedzialek=1, wtorek, środa, czwartek, piątek, sobota, niedziela}dniTygodnia;

50.Struktura programu w języku C++

Struktura programu:

#include <iostream> // dyrektywa preprocesora dołączająca standardową

// bibliotekę wejścia - wyjścia

using namespace std; // wybór przestrzeni nazw

int main() //główny program

{

double a = 3;

double b, c;

cout << "Wprowadz liczbe: "; // wypisujemy na ekran tekst

cin >> b; // wprowadzamy dane do zmiennej b

c = a * b; // obliczanie wartości wyrażenia arytmetycznego

// wyprowadzanie tekstu na ekran

cout << endl << a << " * " << b << " = " << c;

return 0;

}

51.Operatory arytmetyczne, relacji, logiczne, bitowe.

Operatory relacji:

*operator „>” oznacza: większy od..

4 > 2; //prawda

3 > 8; //fałsz

Całe wyrażenie ma wartość prawda, gdy warunek jest prawdziwy

*operator „<” czyli: mniejszy od..

21 < 15; //fałsz

11 < 23; //prawda

Wyrażenie jest prawdziwe tylko wtedy, gdy wartość stojąca po lewej stronie jest mniejsza od wartości będącej po stronie prawej.

*operator „>=” większy lub równy od..

2 >= 3; //fałsz

14 >= 13; //prawda

Wyrażenie jest prawdziwe tylko wtedy, gdy wartość stojąca po lewej stronie jest większa lub równa wartości będącej po stronie prawej.

*operator „<=” mniejszy lub równy od

21 <= 3; //fałsz

10 <= 18; //prawda

Wyrażenie jest prawdziwe tylko wtedy, gdy wartość stojąca po lewej stronie jest mniejsza lub równa wartości będącej po stronie prawej.

*operator „==” służy do porównywania dwóch wartości. Gdy wartości są równe wyrażenie jest prawdą i odwrotnie.

42 == 42; //prawda

4 == 14; //fałsz

Jeśli liczby są takie same wyrażenie jest prawdziwe.

*operator „!=” służy do porównywania dwóch wartości. Gdy wartości są jednakowe wyrażenie jest fałszem i odwrotnie.

28 != 28; //fałsz

6 != 11; //prawda

Operatory logiczne:

Operatory te służą do obliczania wartości "prawda" lub "fałsz". Warunek prawdziwy daje wartość 1 natomiast fałszywy 0.

*Negacja logiczna zamienia prawdę w fałsz, a fałsz w prawdę. Np. jeżeli wyrażenie: a==b jest prawdziwe i do niego

zastosujemy wyrażenie !(a==b) to w wyniku otrzymamy fałsz.

Składnia: !argument

*Iloczyn logiczny

Wynikiem iloczynu logicznego jest prawda tylko wtedy gdy oba argumenty też są prawdziwe. Jeżeli tylko jeden jest

fałszywy to wynikiem jest fałsz.

Składnia: argument1 && argument2

*Suma logiczna

Wynikiem sumy logicznej jest prawda wtedy jeżeli przynajmniej jeden argument jest prawdziwy. Tylko jeżeli oba są fałszywe to wynikiem jest fałsz. Np:

01001010 - zmienna1

00101001 - zmienna2

01101011 - wynik

Składnia: argument1 || argument2

*Równość

Wynikiem jest prawda w tedy gdy wartości obu argumentów są takie same. Składnia: argument1 == argument2

*Nierówność

Wynikiem jest prawda w tedy gdy wartości obu argumentów są różne. Składnia: argument1 != argument2

Operator arytmetyczne:

*Operator if

Jest to jedyny w języku C++ operator, w którym śa wymagane 3 argumenty. Ma on następującą składnię:

warunek ? wyrażenie1 : wyrażenie2

Zawsze na początku jest obliczany warunek. Jeżeli jest on prawdziwy ( != 0 ) to jest obliczany wrażenie1 a jeżeli warunek jest równy 0 to jest obliczane wyrażenie2.

*Operator zwiększania

Dodaje on liczbę 1 do zmiennej przy której ten operator występuje. Jest to skrót ot wyrażenia:

a = a + 1; //lub

a += 1;

Składnia:

++zmienna

zmienna++

*Operator zmniejszania

Odejmuje on liczbę 1 do zmiennej przy której ten operator występuje. Jest to skrót ot wyrażenia:

a = a - 1; lub

a -= 1;

Składnia:

--zmienna

zmienna--

Operatory bitowe :

*Przesuwanie bitów w lewo

Zakładamy że operacja dzieje się na zmiennych typu unsigned char. Jeżeli zmienna ma wartość przedstawioną w

postaci binarnej:

00100100

to wynikiem takiej operacji zmienna << 2 będzie wynik:

10010000

to polecenie przesuwa bity w lewo o dwie pozycje. Argument traci bity które w wyniku przesunięcia znajdą się poza nim. po prawej stronie na miejsce brakujących bitów wstawia zera. Składnia:

zmienna << liczba bitów

*Przesuwanie bitów w prawo .

Jeżeli zmienna ma wartość przedstawioną w

Zakładamy że operacja dzieje się na zmiennych typu unsigned char

postaci binarnej:

00100100

to wynikiem takiej operacji zmienna >> 1 będzie wynik:

00010010

to polecenie przesuwa bity w lewo o jedną pozycję. Argument traci bity które w wyniku przesunięcia znajdą się poza nim. po lewej stronie na miejsce brakujących bitów wstawia zera. Składnia:

zmienna >> liczba bitów

*Negacja bitowa

Negacja bitowa zamienia w zmiennej wszystkie zera na jedynki i jedynki na zera. Jeżeli mamy zmienną o wartości 10011010 to jej negacja bitowa wygląda tak: 01100101

Składnia: ~zmienna

CD51 *Koniunkcja bitowa

Koniunkcja bitowa jest to mnożenie pojedynczych bitu. Koniunkcja daje wynik jeden na danej pozycji, gdy w we wszystkich zmiennych na tej pozycji jest jedynka. Jeżeli tylko na jednym miejscu jest 0 to wynikiem jest 0. Przykład:

01101011 - zmienna1

11001101 - zmienna2

01001001 - wynik

Składnia: zmienna1 & zmienna2

*Różnica symetryczna

Wynikiem różnicy symetrycznej jest na danej pozycji jedynka tylko w tedy gdy tylko w jednej zmiennej na danej pozycji jest jedynka. W przeciwnym wypadku jest 0.

01101011 - zmienna1

11001101 - zmienna2

10100110 - wynik

Składnia: zmienna1 ^ zmienna2

*Alternatywa bitowa

Wynikiem alternatywy bitowej jest na danej pozycji jedynka w tedy gdy przynajmniej w jednej zmiennej na danej pozycji jest jedynka. W przeciwnym wypadku jest 0.

01101011 - zmienna1

11001101 - zmienna2

11101111 - wynik

Składnia: zmienna1 | zmienna2

52.Na czym polega inkrementacja i dekrementacja zmiennej?

Inkrementacja/dekrementacja polega na dodaniu/odjęciu od zmiennej jedynki

#include <iostream>

using namespace std;

int main()

{

int a = 5;

cout << a << endl;

cout << ++a << endl; //preinkrementacja

cout << a++ << endl; //postinkrementacja

cout << a << endl;

return 0;

}

Powyższy program wypisze nam na ekranie:

5

6

6

7

Jak widać na powyższych przykładach rozróżniamy 2 typy inkrementacji - tzw. preinkrementację i postinkrementację. Obie powodują zwiększenie wartości zmiennej o 1 jednak jest między nimi pewna różnica. Otóż operator preinkremencacji

(++a)

zwraca wartość już zwiększoną o 1 (w tym przypadku będzie to 6) natomiast operator postinkrementacji

(a++)

zwraca wartość zmiennej przed procesem inkrementacji (tutaj zwróci wartość 6 natomiast wartość zmiennej 'a' będzie już wynosić 7).

Dokładnie tak samo sprawa wygląda dla operatora dekrementacji - predekrementacji (--a) i postdekrementacji (a--).

53.Podaj przykłady wykorzystania operatorów: sizeof, rzutowania.

*Operator sizeof

Operator sizeof przekazuje liczbę bajtów będącą rozmiarem wyrażenia lub specyfikatora typu. Może on występować w jednej z dwóch postaci:
sizeof (specyfikator_typu);
sizeof wyrażenie;

*Operator rzutowania

Zmiana typu danych: operator rzutowania

Operator rzutowania służy do zmiany typu danych na inny:

  (typ_danych)x;

gdzie typ_danych oznacza ten typ danych, na który ma zostać zamieniona wartość zmiennej x.

Np. deklaracja:

  (float)5;

spowoduje zmianę stałej całkowitej 5 (typu int) na stałą zmiennoprzecinkową 5.0 (typu float).

54.W jaki sposób można przesyłać argumenty do funkcji – porównaj te sposoby?

*Przesyłanie argumentów funkcji przez wartość: występują tutaj argumenty formalne formalne i aktualne. Argumenty formalne to jest to, jak na parametry mówi sobie w środku funkcja, natomiast argumenty aktualne to te, co aktualnie stosujemy w konkretnym wywołaniu funkcji.

*Przesyłanie argumentów przez referencje: ( przez przezwisko) , przesyłanie argumentów przez referencje pozwala tej funkcji na modyfikowanie zmiennych ( nawet lokalnych) znajdujących się poza ta funkcja.

55.Na czym polega przeładowanie funkcji.

Przeładowanie funkcji: następuje wtedy, gdy w danym zakresie ważności jest więcej niż jedna funkcja o tej samej nazwie. To, która z tych funkcji zostanie wykonana, zależy od liczby lub typu argumentów, z którymi dana funkcja jest wywoływana.

56. W jaki sposób definiuje się tablice i w jaki sposób przekazuje się je do funkcji (przykłady)?

Tablica to ciąg obiektów tego samego typu, które zajmują ciągły obszar w pamięci. Tablice są typem pochodnym czyli biorąc typ int tablica będzie typy int.

Tablice przesyła się podając funkcji tylko adres początku tej tablicy. Nazwa tablicy jest równocześnie adresem zerowego jej elementu.

definicja np. int liczba[20];

57.Co pojawi się na ekranie monitora w wyniku wykonania fragmentu programu …..

58.Zdefiniuj i napisz do czego wykorzystuje się wskaźniki?

Wskaźnik to zmienna (zwana zmienna wskaźnikową) która zawiera adres pierwszej komórki pamięci, w której przechowana jest inna zmienna. Jeśli zmienna zajmuje więcej niż jedną komórkę pamięci to wskaźnik wskazuje na pierwszą z tych komórek. Dla każdego wskaźnika określany jest jego typ. Wskaźnik typu int wskazuje na zmienną typu int. Dzięki temu, kompilator wie ile komórek w pamięci zajmuje zmienna rozpoczynająca się w komórce, na którą wskazuje wskaźnik. Nierozłącznie ze wskaźnikami związane są dwa operatory. Są to operator wyłuskania, który jest zapisywany jako gwiazdka (*) oraz operator pobrania adresu &. Oba te operatory są operatorami przedrostkowymi (zapisuje się je przed zmienną) oraz jednoargumentowymi. Zastosowanie wskaźników: wskaźniki stosuje się w różnych sytuacjach, a mianowicie gdy chodzi nam o:

- ulepszenie pracy z tablicami

- funkcje mogą zmieniać wartość przesyłanych do nich argumentów

- dostęp do specjalnych komórek pamięci

- rezerwacje obszarów pamięci

int x=1; //deklaracja zmiennej int

int *wskaznik; //deklaracja wskaźnika na typ int

wskaznik = &x; //przypisanie adresu zmiennej wskaźnikowi

*wskaźnik = 99; //zapis równoważny z "x=99;"

Pierwsza linia przedstawionego kodu jest oczywista więc nie będziemy jej spejcajlnie analizować. W drugiej lini zadeklarowaliśmy wskaźnik na typ int. Zatem jak można się domyślać deklaracja wskaźnika wygląda następująco:

<modyfikator> <typ> *nazwa;

Zatem sama deklaracja wskaźnika na zmienną danego typu różni się od deklaracji zmiennej jedynie dodatkowym znakiem '*' poprzedzającym nazwę zmiennej.

59. Tablica dynamiczna (ang. dynamic array) jest tworzona w czasie uruchomienia programu. Jej rozmiar może być wyliczany. Co więcej, gdy przestanie być potrzebna możemy ją usunąć z pamięci. Dzięki tym własnościom program efektywniej wykorzystuje zasoby pamięciowe komputera.

Tworzenie i wykorzystanie tablicy dynamicznej

1.Definiujemy zmienną wskaźnikową, która będzie przechowywała adres pierwszego elementu tablicy. Jest to zwykła definicja wskaźnika:

typ * wskaźnik;

2.Przydzielamy obszar pamięci dla tablicy. Stosujemy następującą konstrukcję:

wskaźnik = new typ[liczba_elementów];

liczba_elementów określa rozmiar tablicy. Może być to dowolne wyrażenie arytmetyczne.

3.Do elementów tak utworzonej tablicy odwołujemy się poprzez ich indeksy:

wskaźnik[indeks]...

indeks - powinien być w zakresie od 0 do liczba_elementów - 1. Kompilator nie sprawdza, czy element o danym indeksie znajduje się faktycznie w tablicy. Należy zachować ostrożność.

4.Gdy tablica dynamiczna przestanie być potrzebna, usuwamy ją z pamięci za pomocą instrukcji:

delete [] wskaźnik;

Po tej operacji obszar pamięci zajęty przez tablicę zostaje zwrócony do systemu. Wskaźnik można wykorzystać ponownie do innej tablicy wg powyższych punktów.

60. Struktura: struct Osoba //definicja typu strukturalnego Osoba

{

char *Nazwisko;

char *Imie;

int Wiek

};

Osoba Student; //dekl. obiektu Student typu Osoba

//cdn.

61. Klasa to inaczej mówiąc typ. Jest zbiorem powiązanych danych i funkcji, przeznaczonych do realizacji konkretnego zadania. Definicja:

class identyfikator_typu

{

ciało klasy

}'

gdzie ciało klasy zawiera deklaracje składników klasy.

Składnikami mogą być różnego typu dane (np. int, float, strust itd). Nazywamy je danymi składowymi aktualnej klasy.

Aby odnieść się do składników obiektu, możemy posługiwać się jedną z pomiższych notacji: obiekt. r /\ wskaźnik -> r /\ referencja. r

63. Etykiety private, public, protected to kategorie dostępu do elementów klasy, określają one sposób wykorzystania elementów klasy przez jej użytkowników.

Systemy Liczbowe

1 System dziesiętny (decymalny, DEC)

2. System dwójkowy (binarny, BIN)

P=2

Cyfry: 0, 1

Elementarna porcja informacji, najmniejsza ilośc jaka może zostac przetworzona, binarne zero lub jedynka nosi nazwę bitu (ang. BInary digiT) [b]

Osiem bitów przetwarzanych jednocześnie (bez względu na to czy to zera czy jedynki, np 1001 0011 stanowi bajt (ang. Byte) [B]

kB- tysiąc - 210 - 1024

MB - milion - 220 - 1 048 576

Liczba różnych kombinacji możliwa do utworzenia na n bitach wynosi 2n

Największa liczba możliwa do zapamiętania na bitach wynosi 2n-1

Konwersja BIN=>DEC

1011(2)= 1x20 + 1x21 + 0x22 + 1x23 = 1 + 2 + 8 = 11(10)

Konwersja DEC=>BIN

Liczba

reszta z dzielenia

przez 2

41

1

20

0

10 0

5 1

2 1

0

41(10) = 11001(2)

3. System szesnastkowy (heksadecymalny, HEX)

Cyfry: 0-9, A, B, C, D, E, F

A=10

B=11

C=12

D=13

E=14

F=15

Konwersja HEX=>DEC

1AE(16)= Ex 160 + Ax161 + 1x162= 14 + 160 + 256 = 430(10)

Konwersja HEX=>BIN

9AB(16)

9=1001

A=10=1010

B=11=1011

9AB(16)= 1001 1010 1011(2)

Konwersja DEC=>HEX

Krok 1:

DEC=>BIN

Krok 2:

BIN=>HEX


Wyszukiwarka

Podobne podstrony:
DOS komendy DOS-a-ściąga, szkoła, technik informatyki, INFORMATYKA-all, Ściąga z informatyki-2003
Ściąga z informatyki
sciaga informatyk
Ściąga z informatyki-2003, Dysk twardy-ściąga
Ściąga z informatyki-2003, Co to jest internet-ściąga
Ściągawka + informator, Ściągawka na egzamin zawodowy - technik elektronik SMALL
Ściągawka + informator, Ściągawka na egzamin zawodowy - technik elektronik SMALL
zerówka - ściąga, informatyka, Mikrokontrolery
sciaga , informatyka, Mikrokontrolery
AUTOMAPA sciaga, INFORMATYKA W TURYSTYCE I REKREACJI
Ściąga z informatyki-2003, Bezpieczeństwo i higiena pracy z komputerem
sciaga informa, INFORMATYKA W TURYSTYCE I REKREACJI
sciaga informatyka
ask egzamin sciaga, Informatyka, Informatyka - UJK, ASK, Egzamin
matematyka dyskretna sciaga, Informatyka - uczelnia, WWSI i WAT, wwsi

więcej podobnych podstron