Podstawy informatyki z bioinformatyką. Materiały do wykładów

Wielkość: px
Rozpocząć pokaz od strony:

Download "Podstawy informatyki z bioinformatyką. Materiały do wykładów"

Transkrypt

1 Podstawy informatyki z bioinformatyką Materiały do wykładów

2 Czym jest informatyka? Czym jest informatyka? Informatyka to ogół dyscyplin naukowych i technicznych zajmujących się informacją. Teorie informatyczne dotyczą operowania na informacji: jej przedstawianiem, przechowywaniem, uzyskiwaniem, porządkowaniem i przetwarzaniem

3 Informacja - ilość informacji Bit [b] binary digit (ang. cyfra dwójkowa) najmniejsza jednostka informacji zdolna do przechowania jednej z dwóch wartości Bajt [B] (ang. byte - binary term) to podstawowa komórka pamięci zdolna do przechowania jednego znaku, najczęściej o pojemności 8 bitów.

4 Informacja - ilość informacji Jednostki większe tworzone są przez dodanie odpowiednich przedrostków: 1 KB 1 Kilobajt = 1,024 bajty 1 MB 1 Megabajt = 1,048,576 bajty 1 GB 1 Gigabajt = 1,073,741,824 bajty [K] = 2 10 [M] = 2 20 [G] = 2 30

5 Informacja - ilość informacji Standardowa dyskietka 1,44 MB moŝe pomieścić około 1,5 miliona znaków czyli około 300 stron maszynopisu. 1MB około 1 minuty muzyki, lub ksiąŝka 1GB film DivX ;-), genom człowieka 1TB duŝa biblioteka 1PB pamięć człowieka

6 Systemy liczbowe Systemy liczbowe System liczbowy to precyzyjnie zdefiniowany sposób tworzenia liczb ze znaków cyfrowych. Dla kaŝdego systemu liczbowego istnieje określony zbiór cyfr i zestaw reguł, które umoŝliwiają budowanie z tych cyfr większych liczb oraz wykonywanie na nich operacji arytmetycznych Systemy liczbowe dzielą się na: pozycyjne niepozycyjne

7 Systemy liczbowe Systemy liczbowe CXXIII 7B 173 dec bin rom he oct

8 Systemy liczbowe Systemy liczbowe niepozycyjny System rzymski I - 1, V - 5, X - 10, L - 50, C - 100, D - 500, M , Dostępne cyfry: I V X L C D M liczba rzymska CCCLXV reprezentuje C 100 C 100 C 100 L 50 X 10 V 5 IV, IX, XL, XC, CD, CM = 365

9 Systemy liczbowe Systemy liczbowe niepozycyjny System rzymski I - 1, V - 5, X - 10, L - 50, C - 100, D - 500, M , Dostępne cyfry: I V X L C D M liczba rzymska CMXL reprezentuje CM 900 XL 40 IV, IX, XL, XC, CD, CM = 940

10 Systemy liczbowe Systemy liczbowe System rzymski nie jest systemem pozycyjnym W systemach pozycyjnych: liczba dostępnych w danym systemie cyfr nazywana jest podstawą tego systemu. Waga ( znaczenie ) i-tej pozycji równa jest podstawie podniesionej do i-tej potęgi

11 Systemy liczbowe Systemy liczbowe pozycyjny System dziesiętny Podstawa: 10 Dostępne cyfry: czyli liczbę 365 reprezentuje = 365

12 Systemy liczbowe Systemy liczbowe pozycyjny System dwójkowy Podstawa: Dostępne cyfry: 0 1 czyli liczba reprezentuje = 123

13 Systemy liczbowe Systemy liczbowe 123 / 2 61 / 2 30 / 2 15 / 2 7 / 2 3 / 2 1 /

14 Liczby ujemne - notacja U2 5: : 1??? -5: : Liczby dodatnie zapisywane są w sposób tradycyjny W przypadku liczb ujemnych najstarszy (najbardziej znaczący) bit to bit znaku (1 dla liczb ujemnych 0 dla dodatnich). Bit znaku ma równieŝ swoją wagę - ujemną

15 Liczby ujemne - notacja U2 Aby z dwójkowej liczby dodatniej otrzymać, odpowiadającą jej, liczbę ujemną naleŝy: zanegować wszystkie bity liczby dodatniej (0 1 i 1 0) następnie do wyniku dodać 1. 5: 0101 ~5: : : : 0000

16 Liczby ujemne - notacja U2 Liczba jaką oznacza dany ciąg znaków cyfrowych zaleŝna jest od systemu liczenia w jakim ta liczba została zapisana: jedenaście milionów sto jedenaście tysięcy sto jedenaście (system dziesiętny) dwieście pięćdziesiąt pięć (system binarny) minus jeden (system binarny, notacja U2) = Bin: dwieście pięćdziesiąt trzy plus jeden wynosi dwieście pięćdziesiąt cztery U2: minus trzy plus jeden wynosi minus dwa

17 Digitalizacja (dyskretyzacja ( dyskretyzacja) Digitalizacja to zamiana informacji analogowej na postać cyfrową, moŝliwą do zapisania na nośniku cyfrowym Płyta CD audio: próbek 16 bitowych na sekundę 2 kanały (stereo) długość ścieŝki ok. 6 [km]

18 Digitalizacja (dyskretyzacja ( dyskretyzacja) bitów czyli 30 bajtów Obraz to pikseli czyli 59 KB (czarno-biały) Obraz (3 kolory) czyli 2 bity na piksel = 118 KB

19 Kompresja danych Kompresja danych Przykładowy prosty algorytm kompresji: XXY - ilość powtórzeń y - rodzaj znaku

20 Kompresja danych Kompresja danych Rodzaje algorytmów kompresji kompresja bezstratna - kompresja danych: zip, rar, inne kompresja stratna - kompresja dźwięku i obrazu: jpeg, mpeg, mp

21 Liczby rzeczywiste Liczby rzeczywiste Komputer jako narzędzie wprowadza do obliczeń błędy mające swoje źródło w: zamianie procesów nieskończonych na skończone dokładności reprezentowania liczb w komputerze (zaokrąglenia) PowyŜszych błędów praktycznie nie da się wyeliminować. MoŜna jednak minimalizować ich wpływ na ostateczny wynik obliczeń

22 Liczby rzeczywiste zapis stałopozycyjny Na przykład definiujemy: ABCD,abcd wówczas w systemie dziesiętnym np. 2005,0310 2* * * *10 0,0* * * *10-4 (-10000, 10000) popełniany błąd 0, ,

23 Liczby rzeczywiste zapis stałopozycyjny w systemie binarnym np. 1011,1101 (11,8125) (10) 1* * * *2 0,1* * * *2-4 Zakres części ułamkowej: [0, (2 n -1)/2 n )

24 Liczby rzeczywiste konwersja 1,5 (10) =?? (2) na 3 bitach ułamkowych 1,5 * 2 3 = 1,5 * 8 = % 2 = 0 6 % 2 = 0 3 % 2 = 1 1 % 2 = 1 czyli wynik ,5 (10) = 1,1 (2) Aby liczbę W przedstawić w systemie o podstawie p na m cyfrach ułamkowych naleŝy: 1 pomnoŝyć W przez p m ; jeŝeli pozostał ułamek, to W nie moŝna przedstawić dokładnie w systemie p na m cyfrach ułamkowych. NaleŜy wówczas zaokrąglić otrzymaną liczbę 2 obliczyć kolejne cyfry nowej wartości W 3 oddzielić przecinkiem m ostatnich cyfr W; jeŝeli jest mniej cyfr niŝ m, to naleŝy dopisać z lewej strony odpowiednią liczbę zer

25 Liczby rzeczywiste komplikacje 1,1 (10) =?? (2) na 8 bitach ułamkowych 1,1 * 2 8 = 1,1 * 256 = 281,6 282 % 2 = % 2 = 1 70 % 2 = 0 35 % 2 = 1 17 % 2 = 1 8 % 2 = 0 4 % 2 = 0 2 % 2 = 0 1 % 2 = 1 czyli wynik ,1 (10) = 1, (2) 1,1 (10) = 1, (2) 1 + 1/16 + 1/32 + 1/128 = /128 = 1, Błąd = 0,

26 Liczby rzeczywiste zapis zmiennopozycyjny Dowolną liczbę rzeczywistą róŝną od zera moŝna zapisać w postaci: = s * m * p c m- mantysa c - cecha s - znak liczby (1 lub -1) 1,4E2 0,14E3 1400,0E-1 14,0E1 Dla systemu binarnego p=2 a mantysa [0,5 1)

27 Liczby rzeczywiste zapis zmiennopozycyjny s sc bn-t-2 bn-t-2... b0 b-1 b-2... b-t znak n-t-1 bitów cechy t bitów mantysy n bitowa reprezentacja liczby rzeczywistej mantysa - decyduje o dokładności zmiennopozycyjnego przedstawienia liczby rzeczywistej, a błąd wynikający z jej obcięcia jest mniejszy od 2 -t cecha - określa zakres reprezentowanych w ten sposób liczb rzeczywistych

28 Liczby rzeczywiste Liczby rzeczywiste 0,5*2 Cmin < 1,0*2 Cma Czasami podczas obliczeń cecha spada poniŝej Cmin, wynik wówczas przybliŝany jest zerem (tzw. niedomiar) Gdy cecha rośnie powyŝej Cma to obliczenia są przerywane i generowany jest błąd (tzw. nadmiar)

29 Błędy - przypomnienie błąd bezwzględny: błąd względny: a a a a a a a a α - wartość przybliŝona α - wartość dokładna podczas dodawania i odejmowania błędy bezwzględne składników się sumują. podczas mnoŝenia i dzielenia sumowaniu ulegają błędy względne składników

30 Błędy zapis zmiennopozycyjny 0, ,46875 = 1/32 (0)1000 (1)00 - (0)1111 (1)01 = (0)1000 (1)00 - (0)01111 (1)00 = (Uzgodnienie cech) (0)1000 (1)00 - (0)0111 (1)00 = = (0)0001 (1)00 (Normalizacja mantysy) = (0)1000 (1)11 = 1/16 czyli błąd = 100%!!

31 Wnioski Liczby rzeczywiste (w większości przypadków) nie mogą być przedstawione w komputerze dokładnie (reprezentacja w pamięci) Skutkuje to równieŝ przybliŝonym charakterem większości obliczeń numerycznych (zaokrąglenia, stabilność numeryczna) Czyli praktycznie Ŝadne obliczenia na liczbach rzeczywistych nie są dokładne a stanowią jedynie lepsze lub gorsze przybliŝenie wyniku

32 Źródła błędów Błędy danych wejściowych Błędy zaokrągleń podczas obliczeń Błędy obcięcia e = ! +K Uproszczenia modelu matematycznego Błędy człowieka i "maszynowe"

33 Metody numeryczne Metody numeryczne (ang. numerical analysis), to dział matematyki (informatyki) zajmujący się metodami przybliŝonego rozwiązywania określonych problemów matematycznych, najczęściej nierealizowalnych bezpośrednio na komputerach. Metody numeryczne obejmują: aproksymację i interpolację, numeryczne róŝniczkowanie i całkowanie, rozwiązywanie układów równań, rachunek macierzowy, analizę i minimalizowanie błędów zaokrągleń...

34 Interpolacja Interpolacja X Y X X X X 0 X 1 2 k n y=f() y=f() f( ) f( ) f( ) ( ) ( )( ) ( )( ) ( ) ( )( ) ( )( ) ( ) = + + = n j n j j j j j j j n j j j n y W L L L L ( ) ( ) ( ) = = = n j n j i i i j i j n y W 0, 0

35 Aproksymacja Aproksymacja Poszukiwanie funkcji dającej dokładne wartości w węzłach interpolacji często nie ma sensu X Y X X X X 0 X 1 2 k n y = A + B f( ) f( ) f( ) ( ) ( ) ( ) [ ] ) ( ) ( ) ( ) ( ) ( ) ( ) (,,, ) ( i i n i i n n n f F w f F f F a a a a a a F = = = L K ϕ ϕ ϕ

36 Regresja liniowa Regresja liniowa X Y X X X X 0 X 1 2 k n y = A + B f( ) f( ) f( ) AX Y B y A n i i n i i i = = = = = = = = n i i n i i n i i i y y r N Y X XY y N X X n i n i n i n i n i n i n i = = = = = = = = = i - odchylenie od średniego y i - odchylenie od średniego y

37 Rozwiązywanie układu równań liniowych Rozwiązywanie układu równań liniowych Eliminacja Gaussa Eliminacja Gaussa Banalne analityczne rozwiązanie układu równań nie jest dla komputera proste. = + = + = =

38 Rozwiązywanie układu równań liniowych Rozwiązywanie układu równań liniowych Eliminacja Gaussa Eliminacja Gaussa Etapy rozwiązywania układu równań: Eliminacja kolejnych zmiennych Sprowadzenie macierzy do postaci macierzy trójkątnej Redukcja wsteczna = *(-1/5) *(-2/5) = 3,6 4,2 9 0, , *1

39 Rozwiązywanie układu równań liniowych Eliminacja Gaussa Etapy rozwiązywania układu równań: Eliminacja kolejnych zmiennych Sprowadzenie macierzy do postaci macierzy trójkątnej Redukcja wsteczna = = = ,6 0,6 4,2 1 1,2 0, ( 1,2 ( 1 ) ) ( 1 ) 0 ( 3 ) 5 1 = = = = 9 4,2 0,

40 Rozwiązywanie układu równań liniowych Eliminacja Gaussa a a b ( ) ( ) ( 1 ) ( 1 ) 1 11 i ( + 1 ) ( ) k ij 1 + = a ( k + 1 ) ( k ) = a a b ( ) ( 2 ) ( 2 ) 2 22 i 1 12 k ij a a ( ) ( ) k ik a ( ) ( ) ( k ) k ik a a k kk b ( ) k kk ( k = 1,2, L, n 1 ) ( i, j = k + 1, k + 2, L, n ) K K LLLLLLLLLLLL k + + k kj a a a 1 2 n ( ) ( n ) n nn n, a n n n ( ) k kk = = = b b b n Czyli przypadek ogólny dla dowolnego układu równań liniowych. Gdy macierz nie daje się zredukować do macierzy Trójkątnej (dzielenie przez zero), oznacza to, Ŝe układ nie ma rozwiązania

41 Całkowanie numeryczne metoda trapezów Y y=f() y = b a f ( )d h a = n-1 n = b X s ( + ) y 0 y = h S = h y 0 + y 1 + y 2 + K + y n 1 + y n 2 2 2

42 Całkowanie numeryczne metoda parabol Y f y=f() y = h a = n-2 n-1 n = b s 1 ( y + 4 y ) = h + i i + 1 y i S K 3 ( y + y + 2 ( y + y + K + y ) + ( y + y + ) ) = h 0 n 2 4 n y n 1 b a ( )d X

43 Metody iteracyjne Metody iteracyjne iteratio (łac) - 'powtarzanie iteracja - kolejne powtórzenie danej operacji/przekształcenia odniesione do wyniku poprzedniego jej wykonania metody iteracyjne - metody rozwiązywania problemów poprzez wielokrotne powtarzanie takich samych przekształceń kolejnych wyników cząstkowych. Kolejne iteracje najczęściej systematycznie zbliŝają się do ostatecznego rozwiązania i osiągają je z określoną dokładnością

44 Metody iteracyjne Rozwiązywanie równań nieliniowych f() = 0 Y y = f() X 0 X

45 Metody iteracyjne Rozwiązywanie równań nieliniowych f() = 0 ϕ() = ψ() Y f( ) 0 y=ϕ() y=ψ() Odcięte punktów przecięcia tych wykresów stanowią pierwiastki wyjściowego równania f() = 0 X 0 X

46 Metody iteracyjne Rozwiązywanie równań nieliniowych y=f() y=, y=f() n+1 = f( n ) Y f( 2 ) f( ) 1 y = y = f() 1 = f( 0 ) 2 = f( 1 ) 3 = f( 2 ) 4 = f( 3 )... f( ) 0 X X X X X

47 Metody iteracyjne Rozwiązywanie równań nieliniowych Czasami zamiast zbliŝać się systematycznie do punktu przecięcia, kolejne przybliŝenia krąŝą wokół właściwego rozwiązania Y f( ) 0 f( ) 2 y = f() y = f( ) 3 f( ) 1 X 0 X X X X X

48 Metody iteracyjne Rozwiązywanie równań nieliniowych PowaŜniejszym problemem jest brak zbieŝności ZbieŜność jest pewna gdy f () <1 ZbieŜność jest tym szybsza im mniejsza jest f () Y f( 2 ) f( ) 1 f( ) 0 y = y = f() X X X X

49 Rozwiązywanie równań nieliniowych Metoda połowienia (bisekcji ( bisekcji) Dokładnie jeden pierwiastek funkcji y=f() znajduje się w przedziale a; b Y f(b ) y=f() Funkcja ma w punktach a i b róŝne znaki [ f(a) f(b) < 0 ] f( ) f(a ) a b X Zachowując powyŝszy warunek dziel kolejno przedział a; b na połowy zbliŝając się do rozwiązania b + a = 2 1 i i + 1 = i 2 ( b a )

50 Rozwiązywanie równań nieliniowych Metoda Newtona Metoda dosyć szybko zbieŝna (znacznie szybciej od metody bisekcji) Y f(b) y=f() Czasami nie jest łatwo znaleźć wartość pochodnej w punkcie i f(1) f(2) f(a) i + 1 a 2 1 = i f f ( i ) ( ) i Koniec gdy f( i ) dostatecznie bliska 0 oraz i + 1 i < ε b X

51 Poszukiwanie minimum funkcji (minimalizacja funkcji) Często problem ten sprowadza się do rozwiązania f ()=0, jednak czasami wyznaczenie pochodnej jest zbyt skomplikowane lub funkcja f nie jest róŝniczkowalna y=f() a b

52 Poszukiwanie minimum funkcji (minimalizacja funkcji) Aby zmniejszyć przedział zawierający minimum wystarczy policzyć wartość funkcji w dwóch punktach 1 i 2 takich Ŝe: a < 1 < 2 < b Wówczas, gdy: f( 1 ) f( 2 ), to m a; 2 f( 1 ) > f( 2 ), to m 1 ; b Przy równym podziale: b 2 ( b a ) i a i 0 = 3 i 0 y=f() a 1 m 2 b

53 Minimalizacja funkcji metoda symple (simpleks simpleks) Dla n zmiennych tworzony jest n+1 wymiarowy obiekt 4 podstawowe operacje: a. odbicie b.rozciągnięcie c. spłaszczenie d.kontrakcja a b PowyŜsze operacje wzgl. środka cięŝkości c d

54 Minimalizacja funkcji metoda symple (simpleks simpleks)

55 Algorytmika Algorytm przepis na rozwiązanie zadania z konkretnej klasy zadań, zawierający opis obiektów wraz z precyzyjnym i jednoznacznym opisem czynności, które naleŝy wykonać na tych obiektach, aby to zadanie rozwiązać w skończonej liczbie kroków. Muhammed ibn Musa al-chorezmi (820 r.n.e.)

56 Algorytmika Cechy algorytmu skończoność określoność (jednoznaczność) ogólność (uniwersalność) efektywność

57 Algorytmika Sposoby zapisu algorytmu: lista kroków (język potoczny) schemat blokowy (diagram przepływowy) diagram N-S (diagram Nassi-Schneidermana) zapis w języku formalnym zapis w postaci programu (algorytm zapisany w języku programowania)

58 Algorytmika Sposoby zapisu algorytmu Lista kroków 1. wczytaj a, b, c 2. oblicz d=b 2-4ac 3. jeŝeli d<0 to wtedy: 3.1 wypisz Brak pierwiastków 3.2 idź do 8 4. jeŝeli d=0 to wtedy: 4.1 oblicz =-b/(2a) 4.2 wypisz 4.3 idź do 8 5. oblicz 1 =-b-sqrt(d)/2a 6. oblicz 2 =-b+sqrt(d)/2a 7. wypisz 1, 2 8. koniec

59 Algorytmika Sposoby zapisu algorytmu Schemat blokowy blok operacji jednostkowych blok operacji we/wy blok decyzyjny początek, koniec,... P K N T

60 Algorytmika Sposoby zapisu algorytmu Schemat blokowy dodatki podprogramy pętle inne...

61 Algorytmika Sposoby zapisu algorytmu Zasady budowy schematów blokowych: KaŜda operacja jest umieszczona w bloku Kolejność wykonywania poszczególnych operacji definiują strzałki (połączenia pomiędzy blokami) Strzałki łączą bloki lub bloki z innymi strzałkami (brak rozgałęzień strzałek!!!!) KaŜdy schemat ma dokładnie 1 blok startu i co najmniej 1 koniec Z dowolnego bloku istnieje "droga" do końca algorytmu (brak ślepych uliczek itp.)

62 Algorytmika Sposoby zapisu algorytmu Diagram NS (Nassi-Schneidermana) Operacja podstawowa Warunek Tak Nie Wejście Wyjście Warunek Warunek

63 Algorytmika Sposoby zapisu algorytmu Schemat blokowy i diagram NS P We: a,b,c Nie d:=b*b-4*a*c d>=0 T d=0 N 1, 2 "Brak pierwiastków" N Brak pierw. T Policz 1 Wy:X1,X2 Wy: X1 K a, b, c d := b*b-4*a*c d >= 0 Nie d = 0 1 := -(b-d)/(2*a) 2 := -(b+d)/(2*a) "Dwa pierw." 1, 2 Tak Tak 1 := -b/(2*a) "Jeden pierw." 1

64 Algorytmika Sposoby zapisu algorytmu Jako program (BASIC, PASCAL, C, FORTRAN...) begin Read(a, b, c); d := b*b-4*a*c; if d<0 then begin Writeln("Brak pierwiastków); end else if d>0 then begin 1 := (-b-sqrt(d))/(2*a); 2 := (-b+sqrt(d))/(2*a); Write("Dwa pierwiastki: 1="); Writeln(1); Write(" 2="); Writeln(2); end else begin 1 := -b/(2*a) Write("Jeden pierwisatek: 1 ="); Writeln(1); end end.

65 Mała dygresja (przypisania i porównania) := == = X = X + 1 X := X + 1 X == X + 1 := operator przypisania (PASCAL) == operator porównania (C, REXX) = operator porównania (PASCAL) operator przypisania (C) WyraŜenie logiczne, zawsze fałszywe

66 Mała dygresja (zamiana zmiennych) X = 3, Y = 1 X := Y Y := X X = 1, Y = 1 X = 3, Y = 1 t := X X := Y Y := t X = 1, Y = 3

67 Algorytmika Podstawowe rodzaje algorytmów Liniowy P We: a,b c := (a+b) / 2 Wy: c K

68 Algorytmika Podstawowe rodzaje algorytmów Rozgałęziony P We: a,b,c d = 0 N d := b*b-4*a*c T 1 := -(b-sqrt(d)) / (2*a) 2 := -(b+sqrt(d)) / (2*a) d >= 0 N T := -b / (2*a) Brak Pierwiastków Jeden pierw.: Dwa pierw.: 1, 2 K K K

69 Algorytmika Podstawowe rodzaje algorytmów Z powtórzeniami (iteracyjne, zaw. pętle) Pewne operacje Pewne operacje Warunek T Warunek T N N Warunek Warunek

70 Algorytmika Podstawowe rodzaje algorytmów Typy algorytmów iteracyjnych (pętli) pierwszego rodzaju drugiego rodzaju z kontrolowanym wejściem z kontrolowanym wyjściem Wykonanie pętli gdy warunek (jest) lub (nie jest) spełniony

71 Algorytmika wariacje na temat pętli ZałoŜenie początkowe: i = 0 i := i + 1 i := i + 1 obliczenia obliczenia i<10 N T i<10 T N i : 0,10 11 razy i = 10 i : 0,9 10 razy i = 10 i>=10 T i : 0,9 10 razy i = 10 N i := i + 1 obliczenia

72 Algorytmika wariacje na temat pętli ZagnieŜdŜanie pętli i := i + 1 obliczenia Inne obliczenia T i<10 N T e>0.1 N i := i + 1 obliczenia i<10 N j<10 N T T j := j + 1

73 Algorytmika Podprogramy P We: n S:=1; i:=1 S := Sil(n) i := i + 1 i > n N S := S * i T Wy: S K Sil(n) S:=1; i:=1 i := i + 1 i > n N S := S * i T S Sil(n) n = 0 N T S := 1 S:=n*Sil(n-1) S

74 Przykładowy zapis algorytmu obliczania wartości wyraŝenia n! P We: n S:=1; i:=1 N i > n T Wy: S i := i + 1 S := S * i n S := 1 i := 1 i <= n S := S * i i := i + 1 S K

75 Algorytmika Podstawowe techniki programistyczne algorytmy rekurencyjne (rekursja) algorytmy zachłanne ( Ŝarłoczne ) metoda dziel i rządź ( dziel i zwycięŝaj ) programowanie dynamiczne algorytmy z powrotami

76 Algorytmika Chwila relaksu - WieŜe z Hanoi 1. Przenieś najmniejszy krąŝek o jedno miejsce w prawo 2. Wykonaj jedyną dozwoloną operację, nienaruszającą najmniejszego krąŝka 3. Wróć do 1

77 Algorytmika Chwila relaksu - WieŜe z Hanoi

78 Algorytmika ZłoŜoność obliczeniowa ZłoŜoność obliczeniowa algorytmu określa ilość zasobów komputera potrzebną do realizacji tego algorytmu złoŝoność czasowa złoŝoność pamięciowa pesymistyczna oczekiwana

79 Algorytmika ZłoŜoność obliczeniowa Algorytm wyszukiwania nazwiska w ksiąŝce telefonicznej dla n elementów 2n operacji MoŜna inaczej? dla n elementów n+2 operacji dla n elementów log 2 n operacji

80 Algorytmika ZłoŜoność obliczeniowa Funkcja do której proporcjonalna jest złoŝoność danego algorytmu to tak zwana złoŝoność teoretyczna, i oznaczana jest ona najczęściej O. O(log 2 N) - logarytmiczna O(N) - liniowa O(Nlog 2 N) - liniowo-logarytmiczna O(N 2 ) - kwadratowa O(N k ) - wielomianowa O(2 N ) - wykładnicza

81 Algorytmika ZłoŜoność obliczeniowa dane Log 2 N N Nlog 2 N N 2 2 N

82 Algorytmika ZłoŜoność obliczeniowa N N N 1,2 N N Liczba mikrosekund od Wielkiego Wybuchu Bilion Miliard N 5 N 3 Liczba mikrosekund w ciągu jednego dnia Milion N

83 Algorytmika Podstawowe struktury danych Typy proste typy całkowite typy rzeczywiste (zmiennopozycyjne) znak cecha mantysa

84 Algorytmika Podstawowe struktury danych Tablice (macierze) 1,1 1,2 1,8 2,1 2,2 2,8 1,1 1,2 1,8 2,1 2,2 2,8 T[3,2] =... T[3][2] =... T[1,2,5] =... T[1][2][5] =... T[4] =...

85 Algorytmika Podstawowe struktury danych Stosy (LIFO) SZCZYT DANE 3 DANE 2 następny następny Kolejki (FIFO) początek DANE 1 DANE 2 koniec następny następny DANE 1 NULL DANE 3 NULL

86 Algorytmika Podstawowe struktury danych Drzewa Korzeń DANE Lewy Prawy DANE DANE Lewy Prawy Lewy Prawy

87 Algorytmika Etapy rozwiązywania problemu 1. Sformułowanie zadania 2. Precyzyjna definicja zbioru dozwolonych wejść 3. Precyzyjna definicja spodziewanych wyników, jako funkcja danych wejściowych 4. Poszukiwanie metody rozwiązania problemu czyli algorytmu 5. Przedstawienie algorytmu w jednej/kilku postaciach 6. Analiza poprawności rozwiązania 7. Testowanie dla róŝnych danych, ocena efektywności

88 Przykład - opracowanie schematu blokowego dla sortowania bąbelkowego Z B C D A min ma Dane: N, T[N] 1. dla wszystkich kolejnych par wykonuj: jeŝeli zła kolejność elementów w parze, to zamień te elementy miejscami 2. powtórz punkt pierwszy (N-1) razy, (gdzie N to liczba elementów)

89 Przykład Przykład - opracowanie schematu opracowanie schematu blokowego dla sortowania bąbelkowego blokowego dla sortowania bąbelkowego Z B D C A B Z D C A B C D Z A B C Z D A B C A D Z Zamień Zamień Zamień Zamień B C D A Z B A D C Z A B D C Z

90 Przykład - opracowanie schematu blokowego dla sortowania bąbelkowego Uszczegółowienie punktu 1 Z B C D A Z B C D A dla wszystkich kolejnych par wykonuj: jeŝeli zła kolejność elementów w parze, to zamień te elementy miejscami dla i zwiększającego się od 2 do N wykonuj: - jeŝeli ( T[i] < T[i-1] ) to wtedy: zamień miejscami T[i] T[i-1]

91 Przykład - opracowanie schematu blokowego dla sortowania bąbelkowego Uzupełnienie algorytmu o punkt 2 powtórz punkt pierwszy (N-1) razy, (gdzie N to liczba elementów) dla k zmniejszającego się od N do 2 wykonuj - dla i zwiększającego się od 2 do N wykonuj: - jeŝeli ( T[i] < T[i-1] ) to wtedy: zamień miejscami T[i] T[i-1] punkt pierwszy A to juŝ cały algorytm

92 Przykład - opracowanie schematu blokowego dla sortowania bąbelkowego Drobna optymalizacja Z B C D A dla k zmniejszającego się od N do 2 wykonuj B B B - dla i zwiększającego się od 2 do N wykonuj: Z C C - jeŝeli ( T[i] < T[i-1] ) to wtedy: zamień C miejscami T[i] Z T[i-1] D D D Z A A A dla k zmniejszającego się od N do 2 wykonuj - dla i zwiększającego się od 2 do k wykonuj: - jeŝeli ( T[i] < T[i-1] ) to wtedy: zamień miejscami T[i] T[i-1] B C D A Z

93 Przykład - opracowanie schematu blokowego dla sortowania bąbelkowego P P Wcz. N,T[N] Wcz. N,T[N] DO k := N,2,-1 k := N DO i := 2,k i := 2 Zamień T[i],T[i-1] T T[i] < T[i-1] N ENDDO i N Zamień T[i],T[i-1] T T[i] < T[i-1] I = k N N i := i + 1 k := k - 1 T N ENDDO k T N k = 2 T T Wyp. T[N] Wyp. T[N] K K

94 John von Neumann Koncepcja komputera procesor (ALU/CPU) pamięć urządzenia wejścia/wyjścia identyczna wewnętrzna reprezentacja danych i instrukcji instrukcje (program) i dane umieszczone są w tej samej wewnętrznej pamięci samodostęp - program moŝe wykonywać operacje zarówno na swoich danych jak i instrukcjach

95 Konsekwencje architektury według koncepcji von Neumanna JMP 5 - CPX 10 - BNE LDA ADA # LDA 5 ADA # 10 STA 1 RTS CPX 105 BNE 112 JMP STA RTS

96 Automat von Neumann a Uniwersalny konstruktor Do samoreprodukcji potrzebny jest sam automat, rezerwuar części z których moŝna go złoŝyć oraz plan konstrukcyjny Plan moŝe być zakodowany np. w systemie dwójkowym reprezentowanym w dowolny sposób Konstrukcja takiego automatu moŝe być dosyć dowolna. Od całej zautomatyzowanej fabryki, poprzez roboty rodem z filmów SF do mikroautomatów (nanotechnologia)

97 Automat von Neumann a Plan konstrukcyjny CH 3 CH 3 CH 3 CH 3 CH 3 CH 2 CH 2 CH 2 CH 2 CH 2 CH 2 CH 3 CH 3 C H CH 3 1 CH

98 Automat von Neumann a Plan konstrukcyjny CH 3 CH 3 CH 3 CH 3 CH 3 CH 2 CH 2 CH 2 CH 2 CH 2 CH 2 CH 3 CH 3 C H CH 3 1 CH 2 0 NH 2 NH 2 N N N N O N N C H C H

99 A tymczasem... A tymczasem... James Watson i Francis Crick

100 Funkcja i struktura DNA Funkcja i struktura DNA O O P O O O N N N NH 2 N O O P O O O N O N N NH NH 2 OH OH O O P O O Adenina O OH Tymina O N NH O O O P O O Guanina O OH Cytozyna NH 2 N N O Cząsteczka DNA zawiera 4 typy związków: A,G,T,C sumaryczna ilość (A+G) równa jest ilości (C+T) ilość cząsteczek A równa jest ilości cząsteczek T ilość cząsteczek G równa jest ilości cząsteczek C

101 Funkcja i struktura DNA Funkcja i struktura DNA 5 O O P O O O O O P O O N N N N N O O N N O N O O P O O O N O P O O O N O O O N N O P O O O N N N OH 3 5 O 3 OH N NH 2 N N N 1

102 Funkcja i struktura DNA Funkcja i struktura DNA N N N N N Cukier H H N N O O Cukier H N N O N Cukier H H N N N N O N Cukier H H H A T G C A T C G A T T A G C A T C G G C G C

103 Funkcja i struktura DNA Funkcja i struktura DNA

104 Replikacja,, transkrypcja, translacja DNA Replikacja DNA Transkrypcja RNA Translacja Białko

105 Replikacja,, transkrypcja, translacja

106 Replikacja,, transkrypcja, translacja DNA RNA Transkrypcja Transkrypcja (DNA RNA) ryboza zamiast dezoksyrybozy jednoniciowe uracyl (U) zamiast tyminy (T) Translacja Białko

107 Replikacja,, transkrypcja, translacja DNA: ATGTGTGGAATTGTTGGCGCGATCGCGCAA RNA: Transkrypcja AUGUGUGGAAUUGUUGGCGCGAUCGCGCAA Białko: Translacja MCGIVGAIAQ

108 Kod genetyczny Kod genetyczny U U Phe Phe Leu Leu C Ser Ser Ser Ser A Tyr Tyr Stop Stop C Leu Leu Leu Leu Pro Pro Pro Pro His His Gln Gln A Ile Ile Ile Met Thr Thr Thr Thr Asn Asn Lys Lys G Val Val Val Val Ala Ala Ala Ala Asp Asp Glu Glu G Cys Cys Stop Trp Arg Arg Arg Arg Ser Ser Arg Arg Gly Gly Gly Gly U C A G U C A G U C A G U C A G Kolejne trójki nukleotydów kodują kolejne aminokwasy 3 kodony są nonsensowne Ponadto kod jest: ciągły i bezprzecinkowy uniwersalny zdegenerowany

109 Translacja 5 AUGCGCGGAUCCCCCACCUGA 3 Met Arg Gly Ser Pro Thr Stop (M R G S P T)

110 Transkrypcja, translacja Transkrypcja, translacja Polimeraza RNA Duple DNA Rybosom Kierunek transkrypcji Kierunek translacji R H 2 N COOH O R H 2 N R HN HOOC NH O R

111 D Białka - struktura pierwszorzędowa T D T E V I A H L V N W E L K Q G mrna A S A G L A V V D A E G H M T R L R R L G mrna

112 Aminokwasy - nazwy A Ala alanina C Cys cysteina D Asp kw. asparaginowy E Glu kw. glutaminowy F Phe fenyloalanina G Gly glicyna H His histydyna I Ile izoleucyna K Lys lizyna L Leu leucyna M Met metionina N Asn asparagina P Pro prolina Q Gln glutamina R Arg arginina S Ser seryna T Thr treonina V Val walina W Trp tryptofan Y Tyr tyrozyna

113 Aminokwasy - struktury H 2 N COOH H 2 N COOH H 2 N COOH Glicyna Alanina Valina H 2 N COOH Leucyna H 2 N COOH Izoleucyna Prolina N H COOH OH N H H 2 N COOH H 2 N COOH H 2 N COOH Fenyloalanina Tyrozyna Tryptofan

114 Aminokwasy - struktury SH SCH 3 H 2 N COOH H 2 N COOH Cysteina Metionina OH COOH CONH 2 H 2 N COOH H 2 N COOH H 2 N COOH Seryna Kw. asparaginowy Asparagina OH COOH CONH 2 H 2 N COOH Treonina H 2 N COOH Kw. glutaminowy H 2 N COOH Glutamina

115 Aminokwasy - struktury HN HN NH 2 NH 2 H N N H 2 N COOH H 2 N COOH H 2 N COOH Arginina Lizyna Histydyna

116 Aminokwasy - właściwości drobne alifatyczne małe polarne hydrofobowe naładowane aromatyczne naładowane dodatnio

117 Białka - struktura drugorzędowa T D T E V I A H L V N W E L K Q G O R H 2 N R HN HOOC NH O R

118 Białka - struktura drugorzędowa D A S A G L A V V D A E G H M T R L R R L G

119 Białka - struktura trzeciorzędowa

120 Białka - struktura czwartorzędowa

121 Bioinformatyka Bioinformatyka to nauka wykorzystująca matematykę a w szczególności informatykę do rozwiązywania problemów z zakresu biologii i biologii molekularnej. Dysponujemy sekwencją nukleotydową aminokwasową

122 Gęstość informacji Gęstość informacji ATGTGTGGTATTTTTGGTTACGTCAATTTCT CVVFLVTSISWSTRVEVKSGIFGYVNFLVDK {ATGC} 2 bity na pozycję {20 a.k.} > 4 bity na pozycję

123 Problem ramki odczytu Problem ramki odczytu --- UUCUCGGACCUGGAGAUUCACAGU --- UUC UCGGACCUGGAG AUU CAC AGU 5 3 ramka 1 Phe Ser Asp Leu Glu Ile His Ser U UCUCGGACCUGGAGAUUCACA GU 5 3 ramka 2 Ser Arg Thr Trp Arg Phe Thr 5 3 ramka 3 UU CUCGGACCUGGAGAU UCACAG U Leu Gly Pro Gly Asp Ser Gln

124 Sekwencje nukleotydów i aminokwasów Sekwencje nukleotydów i aminokwasów 60 nukleotydów 20 kodonów ATGTGTGGTATTTTTGGTTACGTCAATTTCT TGGTCGACAAGAGTAGAGGTGAAATCATT 5'3' Ramka 1 Met C G I F G Y V N F L V D K S R G E I I 5'3' Ramka 2 C V V F L V T S I S W S T R V E V K S 5'3' Ramka 3 V W Y F W L R Q F L G R Q E Stop R Stop N H

125 Podobieństwa i homologie Podobieństwa i homologie Rodzina białek identyczne aminokwasy (% identity) podobne aminokwasy (% similarity) homologia (homology) Komputer i internet - wymarzone narzędzia

126 Szukanie sekwencji w bazie danych Szukanie sekwencji w bazie danych Ponad 3,185,498 sekwencji Ponad 1,044,150,180 amiokwasów

127 Istotność wyniku przeszukiwania (Prawdopodobieństwo strzelenia byka ) Prawdopodobieństwo trafienia 1 aminokwasu 1/20 dwóch kolejnych (1/20) 2. W bazie danych zawierającej N "liter" sekwencja n liter wystąpi N*(1/20) n razy. KV KVR KVRA KVRAS KVRASV KVRASVK KVRASVKK KVRASVKKL

128 Istotność wyniku przeszukiwania (Prawdopodobieństwo strzelenia byka ) Wyniki poszukiwania sekwencji aminokwasów: BEZYBEZYBEZ w bazie sekwencyjnej Swiss-Prot

129 Bioinformatyka od sekwencji do funkcji Podobna sekwencja podobna struktura podobna funkcja Dwa (lub więcej) białka uznaje się za homologiczne, jeŝeli wywodzą się od wspólnego przodka. Powszechnie stosowane pojęcia "duŝej homologii" itp. odnoszą się do podobieństwa struktury lub sekwencji, a NIE homologii jako takiej Informacja, Ŝe pewne sekwencje są homologiczne jest najczęściej domniemaniem (na podstawie podobieństwa) a nie eksperymentalnie potwierdzonym faktem.

130 Bioinformatyka od sekwencji do funkcji DuŜe podobieństwo sekwencji implikuje homologię Czy sekwencje bardzo mało podobne mogą być homologiczne? podobieństwo rozciąga się na długim odcinku łańcucha i jest statystycznie istotne podobny wzorzec aminokwasów występuje w większej liczbie sekwencji nikłe podobieństwo sekwencji jest połączone z wysokim, eksperymentalnie potwierdzonym, podobieństwem struktury

131 Homologia Alternatywa - konwergentna ewolucja. Podobieństwo wynika z podobnej funkcji Konkluzja: wystąpienie statystycznie istotnego podobieństwa sekwencji lub struktury dwóch białek (lub ich domen), sugeruje ich pochodzenie od wspólnego przodka, czyli homologii. Homologia poprawnie nałoŝonych sekwencji implikuje "homologię" odpowiednich aminokwasów. Aminokwasy identyczne, to aminokwasy "zakonserwowane"

132 Homologia - niuanse Funkcja struktura białka konserwacja struktury Wiele niewątpliwie homologicznych białek o bardzo podobnej strukturze wykazuje nikłe podobieństwo sekwencji Czy podobieństwo struktury implikuje homologię? Baza PDB zawiera ponad 20 tysięcy róŝnych struktur, ale posiadają one stosunkowo niewiele róŝnych topologii

133 Przykładowa struktura Przykładowa struktura

134 Przykładowa struktura Przykładowa struktura

135 Przykładowa struktura Przykładowa struktura

136 Przykładowa struktura Przykładowa struktura

137 Porównywanie sekwencji Porównywanie sekwencji (A) (B) CGIFAYMNYRVPKTR CGIFAYMNYRVPKTR C GIFAYMNYRVPKTR CG IFAYMNYRVPKTR CGI FAYMNYRVPKTR...

138 Porównywanie sekwencji Porównywanie sekwencji Co z sekwencjami identycznymi np. "tylko" w 90%? RóŜne aminokwasy wymieniają się z róŝnym prawdopodobieństwem. RóŜne właściwości fizykochemiczne. "Aminoacids substitution matri (macierz podstawienia aminokwasów) S = k ln ij p q i ij p j

139 Aminoacids substitution matri A R N D C Q E G H I L K M A R N D C Q E G H I L K M F P S T W Y...

140 Porównywanie sekwencji Porównywanie sekwencji CGIFAYMNYRVPKTR CGIGAYMNYRIPKTR CGIFAYMNYRVPKTR CGIGAYMNYRIPKTR *** ******:**** CGIFAYMNYRVPKTR CGIMNYRVPKTR CGIFAYMNYRVPKTR CGIMNYRVPKTR *** * : CGIFAYMNYRVPKTR CGI---MNYRVPKTR *** ********* gaps - przerwy

141 Porównywanie sekwencji Porównywanie sekwencji Punktacja ( score ) to suma punktów dla kaŝdej pozycji IARCH IKCN IARCH IKCN * IARCH I-KCN * :*. IARCH IK-CN * *. S = (6) + (-1) + (-3) + (-2) = 0 S = (6) + (-12) + (3) + (16) + (1) = 14 S = (6) + (-1) + (-12) + (16) + (1) = 10

142 Porównywanie sekwencji algorytm Needleman-Wunsch A: IARCHKV B: IKCNIL Macierz w : BLOSUM50 gap penalty : -8 - I K C N I L - I A R C H K V i H i, j = ma H H H i 1, j 1 i, j 1 i 1, j w w w A A i i,,, B IARCHKV I-KCNIL score B i

143 Porównywanie sekwencji Porównywanie sekwencji A B Global alignement (dopasowywanie globalne) A B

144 Porównywanie sekwencji Porównywanie sekwencji Local alignement (dopasowywanie lokalne)

145 Porównania sekwencji - przykład global alignment scoring matri: BLOSUM50, gap penalties: -14/ % identity; Global alignment score: XYZ AAQ-TNAPWGLARISSTSPGTSTYYYDESAGQGSCVYVIDTGIEASHPEFEGRAQMVKTY....: :... :.:. :.:....:... ABC IVEGSDAEIGMSPWQVMLFRKSPQELLCGASLISDRWVLTAAHCLLYPPWD---KNFTEN XYZ YYSSRDGNGHGTHCAGTVGSRTYGVVKKTQLFGVKVLDDNGSGQYSTIIAGMDFVASDKN : :. : :..:..... :: ABC DLLVRIGKHSRTRYERNI--EKISMLEKIYIHPRYNWRENLDRDIALMKLKKPVAFSDYI XYZ NRNC-PKGVVASLSLGGGYSSSVNSAAARLQSSGVMVAVAAGNNNADARNYSPASEPSVC. : :.:. :.::.. :... :.... :. :... : : :: ABC HPVCLPDRETAASLLQAGYKGRV-TGWGNLKETWT-ANVGKGQPSVLQVVNLPIVERPVC XYZ TLGKTTAASACRYIADTANKGDLSNIPFGTVNLL--AYNNYQA.:....: :.:.. : ABC QMGIVSWGEGC----DRDGKYGFYTHVFRLKKWIQKVIDQFGE

146 Porównania sekwencji - przykład local alignment 32.4% identity in 34 aa overlap; score: 35 E(10,000): 8.5e XYZ DDNGSGQYSTIIAGMDFVA-SDKNNRNCPKGVVA :.. :..: :: : ::: :.:. ABC DEGKRGDACEGDSGGPFVMKSPFNNRWYQMGIVS % identity in 23 aa overlap; score: 33 E(10,000): 9.4e XYZ PEFEGRAQMVKTYYYSSRDGNGH :. : :... :. : :. ABC PDRETAASLLQAGYKGRVTGWGN % identity in 31 aa overlap; score: 33 E(10,000): 9.4e XYZ RISSTSPGTSTYYYDESAGQGSCVYVIDTGI :.... :... :: :. :.. : ABC RVTGWGNLKETWTANVGKGQPSVLQVVNLPI

147 Przeszukiwanie sekwencyjnych baz danych FASTA - homologiczne sekwencje zawierają wspólne "słowa", czyli krótkie (2,3,4 literowe) zakonserwowane fragmenty. Parametr "k-tuple" (3) definiuje długość słowa. BLAST - (Basic Local Alignment Search Tool) szuka słów o długości W (3), z oceną nałoŝenia przynajmniej T. Parametry W i T definiują szybkość i czułość

148 Istotność wyniku przeszukiwania (Prawdopodobieństwo strzelenia byka ) Wyniki poszukiwania sekwencji aminokwasów: BEZYBEZYBEZ w bazie sekwencyjnej Swiss-Prot przy pomocy serwisu BLAST 3,185,498 sequences; 1,044,150,180 total letters

149 Dopasowanie wielu sekwencji (multiple sequence alignement) GFA1_C CGIFGYVNFLVDKSRGEIIDNLIEGLQRLEYRGYDSAGIAV---DGKLTKDPSNGDEEYM ::: : :.:::.:::::::::::.::.:..:. GLMS_E CGIVGAI------AQRDVAEILLEGLRRLEYRGYDSAGLAVVDAEGHMTR CGIFGYVNFLVDKSRGEIIDNLIEGLQRLEYRGYDSAGIAVDGKLTKDPSNGDEEYMDSI CGIVGAIAQR------DVAEILLEGLRRLEYRGYDSAGLAVVDAEG HMT CGIVGYVGRD------LALPIVLGALERLEYRGYDSAGVALIE DGKLI CGIVGYVGFR------NATDVLLDGLRRLEYRGYDSAGIAVRT PEGLK CGLVGYVGQR------PACGVVMDALRRMEYRGYDSSGIALINGSAK SGNLT CGIVACILKD-----GSAAPVLLECVRRLEYRGYDSVGIATS DPMIR CGIIGYIGP------RKASDVIVEGLKRLEYRGYDSAGIATCY EGKIF CGIIGLAFAEG----NSVAGALVRGLKRLEYRGYDSMGVAVIEP PGRLV CGIVGMVGEN------LKLEDLVTSLQKLEYRGYDSAGIAYLG DSFG CGIVGIVGHQ------PVSERLVEALEPLEYRGYDSAGVATMDAG TLQ CGIVGYIGDS------EKKSILLEGLKELEYRGYDSAGLAVLS ANRLE CGIVGVVGSK------NATDILMQGLEKLEYRGYDSAGIFVNGQ ETAAK CGIFGYLGNQ------DGVSIVLEGLAKLEYRGYDSAGLAAVV EQELF CGIIGYVGEG------SCRDVLINGLDKLSYRGYDSAGIAFIK NSKIN **:.. :: : :.****** *:

150 Dopasowanie wielu sekwencji (multiple sequence alignement) Porównanie wielu sekwencji (ang. Multiple sequence alignment), szczególnie sekwencji o nikłym podobieństwie, pozwala precyzyjniej zidentyfikować naprawdę istotne aminokwasy dla danej rodziny białek MSA najczęściej jest niezbędnym etapem przed dalszą próbą przewidywania drugo- i trzeciorzędowej struktury białka

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna Dane, informacja, programy Kodowanie danych, kompresja stratna i bezstratna DANE Uporządkowane, zorganizowane fakty. Główne grupy danych: tekstowe (znaki alfanumeryczne, znaki specjalne) graficzne (ilustracje,

Bardziej szczegółowo

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Reprezentacja

Bardziej szczegółowo

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

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles). Wykład 1 1-1 Informatyka nauka zajmująca się zbieraniem, przechowywaniem i przetwarzaniem informacji. Informacja obiekt abstrakcyjny, który w postaci zakodowanej moŝe być przechowywany, przesyłany, przetwarzany

Bardziej szczegółowo

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

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10). Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych

Bardziej szczegółowo

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna Dane, informacja, programy Kodowanie danych, kompresja stratna i bezstratna DANE Uporządkowane, zorganizowane fakty. Główne grupy danych: tekstowe (znaki alfanumeryczne, znaki specjalne) graficzne (ilustracje,

Bardziej szczegółowo

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M SYSTEMY LICZBOWE SYSTEMY POZYCYJNE: dziesiętny (arabski):,, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M System pozycyjno wagowy: na przykład liczba 444 4 4 4 4 4 4 Wagi systemu dziesiętnego:,,,,...

Bardziej szczegółowo

Przegląd budowy i funkcji białek

Przegląd budowy i funkcji białek Przegląd budowy i funkcji białek Co piszą o białkach? Wyraz wprowadzony przez Jönsa J. Berzeliusa w 1883 r. w celu podkreślenia znaczenia tej grupy związków. Termin pochodzi od greckiego słowa proteios,

Bardziej szczegółowo

Wstęp do informatyki- wykład 2

Wstęp do informatyki- wykład 2 MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

Bardziej szczegółowo

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia I stopnia rok akademicki 2012/2013 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Pojęcie

Bardziej szczegółowo

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

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 = Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,

Bardziej szczegółowo

Teoretyczne Podstawy Informatyki

Teoretyczne Podstawy Informatyki Teoretyczne Podstawy Informatyki cel zajęć Celem kształcenia jest uzyskanie umiejętności i kompetencji w zakresie budowy schematów blokowych algor ytmów oraz ocenę ich złożoności obliczeniowej w celu optymizacji

Bardziej szczegółowo

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

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika Wielkości liczbowe Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Wprowadzenie, liczby naturalne Komputer to podstawowe narzędzie do wykonywania obliczeń Jeden bajt reprezentuje 0 oraz liczby naturalne

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

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

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia. ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb

Bardziej szczegółowo

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

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika Wielkości liczbowe Wykład z Podstaw Informatyki Piotr Mika Wprowadzenie, liczby naturalne Komputer to podstawowe narzędzie do wykonywania obliczeń Jeden bajt reprezentuje oraz liczby naturalne od do 255

Bardziej szczegółowo

Technologie Informacyjne

Technologie Informacyjne System binarny Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności October 7, 26 Pojęcie bitu 2 Systemy liczbowe 3 Potęgi dwójki 4 System szesnastkowy 5 Kodowanie informacji 6 Liczby ujemne

Bardziej szczegółowo

Podstawy Informatyki

Podstawy Informatyki Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 5 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 5 1 / 23 LICZBY RZECZYWISTE - Algorytm Hornera

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym Wstęp do programowania Reprezentacje liczb Liczby naturalne, całkowite i rzeczywiste w układzie binarnym System dwójkowy W komputerach stosuje się dwójkowy system pozycyjny do reprezentowania zarówno liczb

Bardziej szczegółowo

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn Metody numeryczne Wykład 2 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Zakres wykładu Arytmetyka zmiennopozycyjna

Bardziej szczegółowo

BŁĘDY OBLICZEŃ NUMERYCZNYCH

BŁĘDY OBLICZEŃ NUMERYCZNYCH BŁĘDY OBLICZEŃ NUMERYCZNYCH błędy zaokrągleń skończona liczba cyfr (bitów) w reprezentacji numerycznej błędy obcięcia rozwinięcia w szeregi i procesy iteracyjne - w praktyce muszą być skończone błędy metody

Bardziej szczegółowo

Informacje. W sprawach organizacyjnych Slajdy z wykładów

Informacje. W sprawach organizacyjnych Slajdy z wykładów Biochemia Informacje W sprawach organizacyjnych malgorzata.dutkiewicz@wum.edu.pl Slajdy z wykładów www.takao.pl W sprawach merytorycznych Takao Ishikawa (takao@biol.uw.edu.pl) Kiedy? Co? Kto? 24 lutego

Bardziej szczegółowo

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

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Temat: Technologia informacyjna a informatyka 1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Technologia informacyjna (ang.) Information Technology, IT jedna

Bardziej szczegółowo

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę

Bardziej szczegółowo

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

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System

Bardziej szczegółowo

Kodowanie informacji. Kody liczbowe

Kodowanie informacji. Kody liczbowe Wykład 2 2-1 Kodowanie informacji PoniewaŜ komputer jest urządzeniem zbudowanym z układów cyfrowych, informacja przetwarzana przez niego musi być reprezentowana przy pomocy dwóch stanów - wysokiego i niskiego,

Bardziej szczegółowo

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci: Reprezentacja liczb rzeczywistych w komputerze. Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci: k = m * 2 c gdzie: m częśd ułamkowa,

Bardziej szczegółowo

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

Wstęp do informatyki- wykład 1 Systemy liczbowe 1 Wstęp do informatyki- wykład 1 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz,

Bardziej szczegółowo

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

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn

Bardziej szczegółowo

Systemy zapisu liczb.

Systemy zapisu liczb. Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy. Zdobycie umiejętności wykonywania działań na liczbach w różnych systemach. Zagadnienia:

Bardziej szczegółowo

Techniki multimedialne

Techniki multimedialne Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo

Bardziej szczegółowo

Wprowadzenie do metod numerycznych. Krzysztof Patan

Wprowadzenie do metod numerycznych. Krzysztof Patan Wprowadzenie do metod numerycznych Krzysztof Patan Metody numeryczne Dział matematyki stosowanej Każde bardziej złożone zadanie wymaga opracowania indywidualnej metody jego rozwiązywania na maszynie cyfrowej

Bardziej szczegółowo

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek Pojęcie liczebności Wstęp do informatyki Podstawy arytmetyki komputerowej Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Naturalna zdolność człowieka do postrzegania

Bardziej szczegółowo

1.1. Pozycyjne systemy liczbowe

1.1. Pozycyjne systemy liczbowe 1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego

Bardziej szczegółowo

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie: Wykład 3 3-1 Reprezentacja liczb całkowitych ze znakiem Do przedstawienia liczb całkowitych ze znakiem stosowane są następujące kody: - ZM (znak-moduł) - U1 (uzupełnienie do 1) - U2 (uzupełnienie do 2)

Bardziej szczegółowo

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

Systemy liczenia. 333= 3*100+3*10+3*1 Systemy liczenia. System dziesiętny jest systemem pozycyjnym, co oznacza, Ŝe wartość liczby zaleŝy od pozycji na której się ona znajduje np. w liczbie 333 kaŝda cyfra oznacza inną wartość bowiem: 333=

Bardziej szczegółowo

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Dopasowania par sekwencji DNA

Dopasowania par sekwencji DNA Dopasowania par sekwencji DNA Tworzenie uliniowień (dopasowań, tzw. alignmentów ) par sekwencji PSA Pairwise Sequence Alignment Dopasowania globalne i lokalne ACTACTAGATTACTTACGGATCAGGTACTTTAGAGGCTTGCAACCA

Bardziej szczegółowo

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

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Definicja i cechy algorytmów Sieci działań Programowanie strukturalne Witold Marańda maranda@dmcs.p.lodz.pl 1 Literatura 1. iklaus Wirth, Algorytmy + Struktury danych = Programy,

Bardziej szczegółowo

Liczby zmiennoprzecinkowe i błędy

Liczby zmiennoprzecinkowe i błędy i błędy Elementy metod numerycznych i błędy Kontakt pokój B3-10 tel.: 829 53 62 http://golinski.faculty.wmi.amu.edu.pl/ golinski@amu.edu.pl i błędy Plan wykładu 1 i błędy Plan wykładu 1 2 i błędy Plan

Bardziej szczegółowo

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek Wstęp do informatyki Podstawy arytmetyki komputerowej Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Pojęcie liczebności Naturalna zdolność człowieka do postrzegania

Bardziej szczegółowo

Technologie Informacyjne Wykład 4

Technologie Informacyjne Wykład 4 Technologie Informacyjne Wykład 4 Arytmetyka komputerów Wojciech Myszka Jakub Słowiński Katedra Mechaniki i Inżynierii Materiałowej Wydział Mechaniczny Politechnika Wrocławska 30 października 2014 Część

Bardziej szczegółowo

1. Znajdowanie miejsca zerowego funkcji metodą bisekcji.

1. Znajdowanie miejsca zerowego funkcji metodą bisekcji. 1. Znajdowanie miejsca zerowego funkcji metodą bisekcji. Matematyczna funkcja f ma być określona w programie w oddzielnej funkcji języka C (tak, aby moŝna było łatwo ją zmieniać). Przykładowa funkcja to:

Bardziej szczegółowo

Bioinformatyka Laboratorium, 30h. Michał Bereta

Bioinformatyka Laboratorium, 30h. Michał Bereta Laboratorium, 30h Michał Bereta mbereta@pk.edu.pl www.michalbereta.pl Zasady zaliczenia przedmiotu Kolokwia (3 4 ) Ocena aktywności i przygotowania Obecność Literatura, materiały Bioinformatyka i ewolucja

Bardziej szczegółowo

Wykład 5 Dopasowywanie lokalne

Wykład 5 Dopasowywanie lokalne Wykład 5 Dopasowywanie lokalne Dopasowanie par (sekwencji) Dopasowanie globalne C A T W A L K C A T W A L K C O W A R D C X X O X W X A X R X D X Globalne dopasowanie Schemat punktowania (uproszczony)

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

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

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński Temat: Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy.

Bardziej szczegółowo

Zadanie 1. Potęgi (14 pkt)

Zadanie 1. Potęgi (14 pkt) 2 Egzamin maturalny z informatyki Zadanie 1. otęgi (14 pkt) W poniższej tabelce podane są wartości kolejnych potęg liczby 2: k 0 1 2 3 4 5 6 7 8 9 10 2 k 1 2 4 8 16 32 64 128 256 512 1024 Ciąg a=(a 0,

Bardziej szczegółowo

Bioinformatyka Laboratorium, 30h. Michał Bereta

Bioinformatyka Laboratorium, 30h. Michał Bereta Laboratorium, 30h Michał Bereta mbereta@pk.edu.pl www.michalbereta.pl Zasady zaliczenia przedmiotu Kolokwia (3 4 ) Ocena aktywności i przygotowania Obecnośd Literatura, materiały i ewolucja molekularna

Bardziej szczegółowo

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa. INFORMATYKA Zajęcia organizacyjne Arytmetyka komputerowa http://www.infoceram.agh.edu.pl http://home.agh.edu.pl/~grzesik/ KONSULTACJE Zbigniew Grzesik środa, 9 ; A-3, p. 2 tel.: 67-249 e-mail: grzesik@agh.edu.pl

Bardziej szczegółowo

INFORMATYKA SORTOWANIE DANYCH.

INFORMATYKA SORTOWANIE DANYCH. INFORMATYKA SORTOWANIE DANYCH http://www.infoceram.agh.edu.pl SORTOWANIE Jest to proces ustawiania zbioru obiektów w określonym porządku. Sortowanie stosowane jest w celu ułatwienia późniejszego wyszukania

Bardziej szczegółowo

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, wprowadzenie Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, w przepisie tym podaje się opis czynności, które trzeba wykonać, oraz dane, dla których algorytm będzie określony.

Bardziej szczegółowo

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

Wstęp do informatyki- wykład 1 Systemy liczbowe 1 Wstęp do informatyki- wykład 1 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz,

Bardziej szczegółowo

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

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje

Bardziej szczegółowo

Wykład z Technologii Informacyjnych. Piotr Mika

Wykład z Technologii Informacyjnych. Piotr Mika Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły

Bardziej szczegółowo

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy Informatyka wprowadze do algorytmów (II) dr hab. inż. Mikołaj Morzy plan wykładu cechy algorytmów sposoby zapisu algorytmów klasyfikacja algorytmów przykłady algorytmów sumowa przeszukiwa ciągu liczb sortowa

Bardziej szczegółowo

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)

Bardziej szczegółowo

Technologie informacyjne Wykład VII-IX

Technologie informacyjne Wykład VII-IX Technologie informacyjne -IX A. Matuszak 19 marca 2013 A. Matuszak Technologie informacyjne -IX Rekurencja A. Matuszak (2) Technologie informacyjne -IX Gotowanie jajek na miękko weż czysty garnek włóż

Bardziej szczegółowo

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady

Bardziej szczegółowo

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI DOPASOWANIE SEKWENCJI 1. Dopasowanie sekwencji - definicja 2. Wizualizacja dopasowania sekwencji 3. Miary podobieństwa sekwencji 4. Przykłady programów

Bardziej szczegółowo

Metody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p.

Metody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p. Metody numeryczne Janusz Szwabiński szwabin@ift.uni.wroc.pl nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/2002 23:02 p.1/63 Plan wykładu 1. Dokładność w obliczeniach numerycznych 2. Złożoność

Bardziej szczegółowo

Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Napisanie programu komputerowego: Zasada rozwiązania zadania Stworzenie sekwencji kroków algorytmu Przykłady algorytmów z życia codziennego (2/1 6)

Bardziej szczegółowo

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy Informatyka kodowanie liczb dr hab. inż. Mikołaj Morzy plan wykładu definicja informacji sposoby kodowania reprezentacja liczb naturalnych i całkowitych arytmetyka binarna arytmetyka oktalna arytmetyka

Bardziej szczegółowo

RODZAJE INFORMACJI. Informacje analogowe. Informacje cyfrowe. U(t) U(t) Umax. Umax. R=(0,Umax) nieskończony zbiór możliwych wartości. Umax.

RODZAJE INFORMACJI. Informacje analogowe. Informacje cyfrowe. U(t) U(t) Umax. Umax. R=(0,Umax) nieskończony zbiór możliwych wartości. Umax. RODZAJE INFORMACJI Informacje analogowe U(t) Umax Umax 0 0 R=(0,Umax) nieskończony zbiór możliwych wartości WE MASZYNA ANALOGOWA WY Informacje cyfrowe U(t) Umaxq Umax R=(U, 2U, 3U, 4U) # # MASZYNA # CYFROWA

Bardziej szczegółowo

Bioinformatyka Laboratorium, 30h. Michał Bereta mbereta@pk.edu.pl www.michalbereta.pl

Bioinformatyka Laboratorium, 30h. Michał Bereta mbereta@pk.edu.pl www.michalbereta.pl Laboratorium, 30h Michał Bereta mbereta@pk.edu.pl www.michalbereta.pl Zasady zaliczenia przedmiotu Kolokwia (3 4 ) Ocena aktywności i przygotowania Obecnośd Literatura, materiały Bioinformatyka i ewolucja

Bardziej szczegółowo

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne. Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

Podstawy Informatyki dla Nauczyciela

Podstawy Informatyki dla Nauczyciela Podstawy Informatyki dla Nauczyciela Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 2 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 2 1 / 1 Informacja

Bardziej szczegółowo

21. Wstęp do chemii a-aminokwasów

21. Wstęp do chemii a-aminokwasów 21. Wstęp do chemii a-aminokwasów Chemia rganiczna, dr hab. inż. Mariola Koszytkowska-Stawińska, WChem PW; 2016/2017 1 21.1. Budowa ogólna a-aminokwasów i klasyfikacja peptydów H 2 N H kwas 2-aminooctowy

Bardziej szczegółowo

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania 1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca

Bardziej szczegółowo

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych Reprezentacja danych w systemach komputerowych Kod (łac. codex - spis), ciąg składników sygnału (kombinacji sygnałów elementarnych, np. kropek i kresek, impulsów prądu, symboli) oraz reguła ich przyporządkowania

Bardziej szczegółowo

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61 Metody numeryczne I Dokładność obliczeń numerycznych. Złożoność obliczeniowa algorytmów Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61 ... the purpose of

Bardziej szczegółowo

L6.1 Systemy liczenia stosowane w informatyce

L6.1 Systemy liczenia stosowane w informatyce L6.1 Systemy liczenia stosowane w informatyce Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Publikacja jest dystrybuowana bezpłatnie Program Operacyjny Kapitał

Bardziej szczegółowo

Chemiczne składniki komórek

Chemiczne składniki komórek Chemiczne składniki komórek Pierwiastki chemiczne w komórkach: - makroelementy (pierwiastki biogenne) H, O, C, N, S, P Ca, Mg, K, Na, Cl >1% suchej masy - mikroelementy Fe, Cu, Mn, Mo, B, Zn, Co, J, F

Bardziej szczegółowo

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne. Algorytm znaczenie informatyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI DOPASOWANIE SEKWENCJI 1. Dopasowanie sekwencji - definicja 2. Wizualizacja dopasowania sekwencji 3. Miary podobieństwa sekwencji 4. Przykłady programów

Bardziej szczegółowo

wykład dla studentów II roku biotechnologii Andrzej Wierzbicki

wykład dla studentów II roku biotechnologii Andrzej Wierzbicki Genetyka ogólna wykład dla studentów II roku biotechnologii Andrzej Wierzbicki Uniwersytet Warszawski Wydział Biologii andw@ibb.waw.pl http://arete.ibb.waw.pl/private/genetyka/ Wykład 4 Jak działają geny?

Bardziej szczegółowo

PRZYRÓWNANIE SEKWENCJI

PRZYRÓWNANIE SEKWENCJI http://theta.edu.pl/ Podstawy Bioinformatyki III PRZYRÓWNANIE SEKWENCJI 1 Sequence alignment - przyrównanie sekwencji Poszukiwanie ciągów znaków (zasad nukleotydowych lub reszt aminokwasowych), które posiadają

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia

Bardziej szczegółowo

KARTA MODUŁU KSZTAŁCENIA

KARTA MODUŁU KSZTAŁCENIA KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne I. 1 Nazwa modułu kształcenia Podstawy informatyki i architektury systemów komputerowych 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki Zakład Informatyki

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku. W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku. Nie wolno dzielić przez zero i należy sprawdzić, czy dzielna nie jest równa zeru. W dziedzinie liczb

Bardziej szczegółowo

Porównywanie i dopasowywanie sekwencji

Porównywanie i dopasowywanie sekwencji Porównywanie i dopasowywanie sekwencji Związek bioinformatyki z ewolucją Wraz ze wzrostem dostępności sekwencji DNA i białek pojawiła się nowa możliwość śledzenia ewolucji na poziomie molekularnym Ewolucja

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie informacyjne - wykład 12 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski

Bardziej szczegółowo

46 i 47. Wstęp do chemii -aminokwasów

46 i 47. Wstęp do chemii -aminokwasów 46 i 47. Wstęp do chemii -aminokwasów Chemia rganiczna, dr hab. inż. Mariola Koszytkowska-Stawińska, WChem PW; 2017/2018 1 21.1. Budowa ogólna -aminokwasów i klasyfikacja peptydów H 2 H H 2 R H R R 1 H

Bardziej szczegółowo

Pracownia Komputerowa wykład IV

Pracownia Komputerowa wykład IV Pracownia Komputerowa wykład IV dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada/pk16 1 Reprezentacje liczb i znaków! Liczby:! Reprezentacja naturalna nieujemne liczby całkowite naturalny

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

Bardziej szczegółowo

Stan wysoki (H) i stan niski (L)

Stan wysoki (H) i stan niski (L) PODSTAWY Przez układy cyfrowe rozumiemy układy, w których w każdej chwili występują tylko dwa (zwykle) możliwe stany, np. tranzystor, jako element układu cyfrowego, może być albo w stanie nasycenia, albo

Bardziej szczegółowo

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej : Arytmetyka zmiennoprzecinkowa a procesory cyfrowe Prawa algebry stosują się wyłącznie do arytmetyki o nieograniczonej precyzji x=x+1 dla x będącego liczbą całkowitą jest zgodne z algebrą, dopóki nie przekroczymy

Bardziej szczegółowo

3.3.1. Metoda znak-moduł (ZM)

3.3.1. Metoda znak-moduł (ZM) 3.3. Zapis liczb binarnych ze znakiem 1 0-1 0 1 : 1 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 reszta 0 0 0 0 0 0 0 1 3.3. Zapis liczb binarnych ze znakiem W systemie dziesiętnym liczby ujemne opatrzone są specjalnym

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 7 Algorytmy Programowanie Sformułowanie problemu. Opracowanie metodyki rozwiązania. Opracowanie algorytmu. Napisanie kodu źródłowego (zakodowanie) w

Bardziej szczegółowo

Metody numeryczne w przykładach

Metody numeryczne w przykładach Metody numeryczne w przykładach Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK, Toruń Regionalne Koło Matematyczne 8 kwietnia 2010 r. Bartosz Ziemkiewicz (WMiI UMK) Metody numeryczne w przykładach

Bardziej szczegółowo

Matematyka stosowana i metody numeryczne

Matematyka stosowana i metody numeryczne Ewa Pabisek Adam Wosatko Piotr Pluciński Matematyka stosowana i metody numeryczne Konspekt z wykładu 6 Rozwiązywanie równań nieliniowych Rozwiązaniem lub pierwiastkiem równania f(x) = 0 lub g(x) = h(x)

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

Bardziej szczegółowo