technologia informacyjna

of 57 /57
Technologia informacyjna

Author: nero

Post on 12-Jan-2016

44 views

Category:

Documents


0 download

Embed Size (px)

DESCRIPTION

Technologia informacyjna. Cele kursu. Ćwiczenia – zapewnić umiejętności potrzebne do przetrwania studiów - PowerPoint PPT Presentation

TRANSCRIPT

  • Technologia informacyjna

  • Cele kursu wiczenia zapewni umiejtnoci potrzebne do przetrwania studiwWykad Prezentacja najbardziej istotnych zagadnie z zakresu technologii informacyjnej, ze szczeglnym uwzgldnieniem ich dalszego praktycznego zastosowania. Dyskusja biecych problemw zwizanych z prezentowanymi zagadnieniami. Wprowadzenie do efektywnego wykorzystania systemw komputerowych isieciowych.

  • wiczenia- Pisanie tekstw naukowych (wzory matematyczne, chemiczne, tabele itp.) Darmowe oprogramowanie OpenOffice (Windows, Linux)Obliczenia: numeryczne Jzyk R (do ilustracji wybranych algorytmw Fortran) arkusz kalkulacyjny Excel, Euler- symboliczne Maxima, Euler- Wizualizacja danych naukowych R, gnuplot, - Edytory struktur molekularnych Avogadro- obsuga systemw operacyjnych Windows i Linux- podstawowe komendy systemu- oprogramowanie narzdziowe (edytory, archiwizatory)- oprogramowanie sieciowe - oprogramowanie antywirusowe

  • Informatyka???

  • Nauka o komputerach??

  • Rne definicje informatyki:a) Informatyka jest to dziedzina wiedzy i dziaalnoci czowieka zajmujca si gromadzeniem, przetwarzaniem i wykorzystywaniem informacji. Informatyka zajmuje si rwnie badaniem, jak te informacje przetworzy.

  • b) Informatyka to dziedzina, ktra zajmuje si przetwarzaniem informacji za pomoc pewnych schematw postpowania (zwanych algorytmami). Wynikiem takiego procesu jest znw informacja. Przy czym poprzez przetwarzanie nie naley wycznie rozumie zamian czy przeksztacenie jednej informacji w drug. Do zada informatyki naley rwnie wyszukiwanie oraz udostpnianie czy prezentacja informacji. Wszystko to bdziemy jednak traktowali jako szersze ujecie przetwarzania.

    c 2009 by P. Fulmanski, Uniwersytet dzki. Wersja z dnia: 9 stycznia 2010

  • c) Informatyka nauka o przetwarzaniu informacji przy uyciu rodkw technicznych. W. Turski:

    d) Informatyk okrela si caoksztat dziaalnoci obejmujcej wiedz i umiejtnoci jej wykorzystania, a dotyczcej zastosowania metod i rodkw technicznych do sprawnego: - zbierania, - przetwarzania (analizy), - przechowywania informacji (danych) - przesyania informacjiw celu sprawnego i okrelonego (celowego) dziaania danego systemu.

    e) Informatyka (computer science, computing science, information technology (IT) ) dziedzina nauki i techniki zajmujca si przetwarzaniem informacji w tym technologiami przetwarzania informacji oraz technologiami wytwarzania systemw przetwarzajcych informacje. Romuald Marczyski

  • f) Informatyka (w sensie anglojzycznego terminu Informatics) jest studiowaniem systemw pozyskujcych, reprezentujcych, przetwarzajcych i wytwarzajcych informacje wczajc w to wszystkie obliczeniowe, kognitywne i spoeczne aspekty. Zasadniczym przedmiotem zainteresowania jest przetwarzanie (przeksztacanie) informacji czy to przez procesy obliczeniowe czy komunikacyjne, czy to przez organizmy ywe czy urzdzenia. W tym sensie informatyk naley postrzega jako dziedzin znacznie szersza ni informatyka w sensie Computer Science. Mona powiedzie, ze informatyka (w sensie Informatics) oglnie pojty aspekt pozyskiwania, przetwarzania, skadowania itd. informacji rozciga zarwno nad maszynami (komputery) jak i istotami ywymi a oglnie, wszystkim tym co ma jakikolwiek zwizek z informacja

    P. Fulmanski, Uniwersytet dzki. Wersja z dnia: 9 stycznia 2010

  • Najwaniejsze dziedziny bada wspczesnej informatyki - Teoria informacji Teoria informacji zajmuje sie informacj, jej transmisj, jak rwnie kodowaniem danych w celu pewniejszego lub szybszego przesania jej od nadawcy do odbiorcy.- Algorytmika Tworzenie i badanie algorytmw

  • Algorytm w matematyce oraz informatyce to skoczony, uporzdkowany cig jasno zdefiniowanych czynnosci, koniecznych do wykonania pewnego zadania.

    Powinien spenia nastpujce wymagania:

    1. Musi posiada okrelony stan pocztkowy, czyli operacje, od ktrej zaczyna sie jego realizacja.2. Liczba operacji potrzebnych do zakoczenia pracy musi by skoczona warunek dyskretnosci.3. Musi da si zastosowa do rozwizywania caej klasy zagadnie, a nie jednego konkretnego zadania warunek uniwersalnosci.4. Interpretacja poszczeglnych etapw wykonania musi by jednoznaczna warunek jednoznacznosci.5. Cel musi by osignity w akceptowalnym czasie warunek efektywnosci. Co oznacza akceptowalny to zaley od zadania.6. Musi posiada wyrniony koniec.

  • Najwaniejsze dziedziny bada wspczesnej informatyki (cd.)

    Bazy danych

    Grafika komputerowa

    Programowanie

    Systemy operacyjne

    Sieci komputerowe

    Kryptografia

    - Sztuczna inteligencja

  • Informacja ???a) Informacja (definicja oglna) to taki czynnik, ktremu czowiek moe przypisa okrelony sens (znaczenie), aby mc j wykorzystywa do rnych celw.Informacja (definicja informatyczna) to zbir danych zebranych w celu ich przetwarzania i otrzymania wynikw (nowych danych)

  • b) Kady czynnik zmniejszajcy stopie niewiedzy o jakim zjawisku czy obiekcie nazywamy informacj Tomasz Kwiatkowski Obserwatorium Astronomiczne UAM, Poznac) Claude Shannon (1948-49) komunikat ma tym wicej informacji im mniejsze jest prawdopodobiestwo jego wystpienia.

    d) Informacja obiektywna W cybernetyce i teorii informacji najbardziej oglnie: kade rozpoznanie stanu ukadu, odrnialnego od innego stanu tego ukadu (stanu wyrnionego); wyrnienie pewnego stanu wyrnionego (odrnialnego) z repertuaru (zbioru stanw wyrnionych). "...w pojciu informacji istotne jest nie samo zaistniae zjawisko, lecz jego stosunek do zbioru zdarze, ktre mogy byy zaistnie".Mona odrni:informacj swobodn, kiedy moliwosci (stany, zdarzenia) uwaamy za abstrakcyjne i nie przypisujemy im adnego znaczenia fizycznego,2. informacj zwizan, kiedy moliwosci (stany, zdarzenia) mog by interpretowane jako mikrostany (lub zbiory mikrostanw) pewnego ukadu fizycznego.Informacja zawarta w stanach ukadu kwantowego to informacja kwantowa.Wikipedia.pl

  • Ilo informacji otrzymanej przy zajciu zdarzenia xi (entropia tego zdarzenia, entropia indywidualna) to (Hartley 1928):

    gdzie:Ii - ilo informacji otrzymanej przy zajciu zdarzenia xi,pi - prawdopodobiestwo zajcia zdarzenia xi,r - podstawa logarytmu.

    W teorii informacji najczciej stosuje si logarytm o podstawie r = 2, wwczas jednostk informacji jest bit (szanon).

    Przy r = e jednostk jest nat (nit), natomiast

    przy r = 10 - dit (hartley).

  • 2. Przecitna ilo informacji przypadajca na zajcie zdarzenia z pewnego zbioru n zdarze (entropia bezwarunkowa tego zbioru, entropia przecitna) jest redni arytmetyczn waon iloci informacji otrzymywanej przy zajciu poszczeglnych zdarze, gdzie wagami s prawdopodobiestwa tych zdarze (Shannon 1948):gdzie:H(X) - entropia bezwarunkowa zbioru X,n - liczba zdarze w zbiorze,pi - prawdopodobiestwo zajcia zdarzenia xi.

  • Przechowywanie i przekazywanie informacjiKOMUNIKAT zakodowana wiadomo zawierajca pewn ilo informacji;Bit BInary digiT cyfra binarna jednostka informacji wywodzca si z prawdopodobiestwa wystpienia komunikatu

  • Ilo bitw k = log2 (p) = - log2 (p) p prawdopodobiestwo wystpienia komunikatu Np. p = 1 k = 0 p = 0,5 k = 1 p = 0,01 k = 6,64 p = 1/256 k = 8 (bajt)

    kod komunikatu sowo kodowedugo sowa kodowego (const staa lub var zmienna)B (bajt - byte) 8 bitw - (binarne sowo kodowe o dugoci 8 znakw) 28 = 256KB = 1024 B (210) np. (10000111)2 = (135)10kB = 1000 B === k = tysic (kilo) (11111111)2 = (255)10MB = 1024 KBGB = 1024 MB (gigabajt)TB = 1024 GB (terabajt)PB = 1024 TB (petabajt)

  • Zapisy dwjkowe zbyt dugie do atwego pamitaniakod hexadecymalny bajt dzielony na pbajty (ang. nibble) i kady jest kodowany w systemie 16-kowym, np. 010 = O161010 = A161210 = C161510 = F16 7 D == #7D

    01111101

  • kod semkowy podstawa 8

    BCD Binary Coded Decimal (59)10 = 0101 1001 (158)10 = (10011110)2 = #9E = (256)8 = (000101011000)BCD

    ASCII American Standard Code for Information Interchange oparty o sowo 8 bitowe, np. Spacja 32 # 20, 0 (zero) 48 #30 A 65 # 41 a 97 # 61ASCII zwyky (7 bitowe)ASCII rozszerzony (8 bitowe)

    Unicode rozszerzenie standardowego kodu ASCII kodowanie znakw na 2B (1 zgodny z ASCII) 0104 0105 0106 0107, 0144

  • Zapisywanie sygnaw analogowych w technice cyfrowej (dyskretyzacja)

  • Okres prbkowania Ts to odstp czasu pomidzy pobieraniem kolejnych prbek. Czstotliwo prbkowania to odwrotno okresu prbkowania: .Aby sprbkowany sygna z postaci cyfrowej dao si przeksztaci bez straty informacji z powrotem do postaci analogowej, musi by spenione twierdzenie Kotielnikowa-Shannona o prbkowaniu. Mwi ono, e czstotliwo prbkowania nie moe by mniejsza ni podwojona szeroko pasma sygnau. Jeli ten warunek nie jest speniony, wwczas wystpuje zjawisko aliasingu.( nieodwracalne znieksztacenie sygnau).

    Przykad praktycznego wykorzystania Ludzkie ucho syszy dwiki do czstotliwoci okoo 20 kHz. Wedug twierdzenia Kotielnikowa-Shannona, czstotliwo zapisu cyfrowego musi by zatem wiksza ni 40 kHz, aby nie dao si usysze przekama (tzw. czstotliwo Nyquista). Std 44 100 prbek na sekund (44,1 kHz) dla kadego kanau, na pycie CD-Audio przyjto za warto wystarczajc.

  • Kwantyzacja Jest to drugi (po prbkowaniu) etap procesu przetwarzania sygnau analogowego na cyfrowy.Sygnay analogowe mog przyjmowa dowolne wartociZapis cyfrowy uywa sw o skoczonej liczbie bitw, a co z tym idzie narzuca ograniczenia na zbir wartoci zapisywanego sygnau.Dozwolone wartoci nazywane s poziomami reprezentacji (cyfrowej)kwantyzacja polega na przypisaniu wartoci analogowych do najbliszych (liczbowo) poziomw reprezentacjibd kwantyzacji - rnica pomidzy wartoci skwantowan i oryginaln

  • Sygna analogowyKwantyzacja Sygna cyfrowy maa czsto prbkowania i saba rozdzielczoSygna cyfrowy zwikszona czsto prbkowania i poprawiona rozdzielczo

  • Rodzaje kwantyzacji:Skalarna kwantuje si pojedyncze wartoci 2) Wektorowa jednoczenie kwantuje si dwie lub wicej wartoci

    Kw. skalarna moe by:RwnomiernaNierwnomierna -Rwnomierna stosuje stae odlegoci pomidzy poziomami reprezentacji -Nierwnomierna dostosowuje pooenia poziomw do rozkadu prawdopodobiestwa wartoci sygnaw analogowych

    Bardziej dokadne omwienie konwersji A/D mona znale np. na stronie:Prbkowanie teoria i praktyka - artyku w Internecie

    http://www.promusic.pl/artykuly/artykuly-single-view/artykul/probkowanie-teoria-i-praktyka/

    Zawiera przystpny opis problemw zwizanych z konwersj danych analogowych do postaci zapisu cyfrowego

  • Liczba jest pewnym abstrakcyjnym bytem wykorzystywanym do zliczaniai mierzenia.

    Symbol lub sowo jezyka naturalnego wyrazajace liczb nazywamy numeraem lub cyfr (ang. numeral, digit) a w jezyku potocznym, po prostu liczb.

    i XXXIV to dwa rne numeray reprezentujce t sam liczb

    System liczbowy (SL) jest sposobem reprezentacji liczb przy uzyciu cyfr (numeraw) w jednolity sposb.

    Rodzaje systemw liczbowych:

    Unarny SL kada liczba naturalna jest reprezentowana przez n-krotne powtrzenie znaku reprezentujcego jednostk np. IIII

    Takie systemy nazywamy addytywnymi (eby znale warto liczby naley doda wartoci reprezentowane przez cyfry (tutaj jednostki)

  • Rzymski SLSymbol Warto I 1 (unus) V 5 (quinque) X 10 (decem) L 50 (quinquaginta) C 100 (centum) D 500 (quingenti) M 1000 (mille)

    Do zapisu wikszych liczb uywano dodatkowych symboli:| (pionowa kreska) liczba pomidzy takimi kreskami mnoona przez 100|MC| = (1000+100)*100 = 110 000 = (1000+100)*1000 = 1 100 000

    Jeeli przed symbolem o wikszej wartoci wystpowa symbol o mniejszej wartoci to oznaczao to odejmowanie.

    Jeeli dana liczba moga by zapisana na wiele sposobw to poprawny by zapis bardziej zwarty: np. IX zamiast VIIII

  • Pozycyjnym systemem liczbowym (ang. positional numeralsystem) nazywamy par (b;D), Gdzie:b jest liczb naturaln nazywan podstaw systemu (ang. base), D jest skoczonym zbiorem b symboli {s0; s1; : : : ; sb},nazywanych cyframi (ang. digits). System taki nazywamy systememliczbowym o podstawie b (ang. base-b system).Kada liczba jest jednoznacznie reprezentowana jakocig cyfr a jej warto zaley zarwno od cyfr jak i pozycji na jakich onewystepuja. Wartosc v ciagu dkdk-1 . d1d0

    obliczamy wedug ponizszej formuy

    v = dkbk + dk-1bk-1 + : : : + d1b1 + d0b0 (2.1)gdzie d0; : : : ; dk to cyfry danego SL.

  • System dwjkowy:Przejcie z systemu dziesitnego na dwjkowy (algorytm) zamieniamy liczb x zapisan w systemie dziesitnym na jej dwjkowy odpowiednik y:1) Pocztek2) Niech z = x3) Podziel z przez 2, zapamitaj wynik jako q4) Jeeli q jest cakowite zapisz 05) Jeeli q nie jest cakowite zapisz 16) Jako now warto z we cakowit cz liczby q7) Jeeli z jest rna od zera id do punktu 38) Jeeli z jest rwne 0 id do punktu 99) Koniec

    Poszczeglne wyniki zapisuj od prawej do lewej!x = z = 37510 | 187*2 +1 (q =187, r = 1, y = 1) z = 187 | 93*2 +1 (q =93 , r = 1, y = 11) z = 93 | 46*2 +1 (q =46 , r = 1, y = 111) z = 46 | 23*2 +0 (q =23 , r = 0, y = 0111) z = 23 | 11*2 +1 (q =11 , r = 1, y = 10111) z = 11 | 5*2 +1 (q = 5 , r = 1, y = 110111) z = 5 | 2*2 +1 (q = 2 , r = 1, y = 1110111) z = 2 | 1*2 +0 (q = 1 , r = 0, y = 01110111) z = 1 | 0*2 +1 (q =0 , r = 1, y = 101110111) z = 0

  • Uamki

    0,11012 = 1*2-1 + 1*2-2 + 0*2-3 + 1*2-4 = 0,5 + 0,25 + 0 + 0,0625 = 0,812510

    Zamiana uamka dziesitnego na dwjkowy:1. Start.2. Niech w = x.3. Mnoymy w przez 2.4. Jeli wynikiem operacji mnoenia jest liczba wiksza od jednoci, zapisujemy na boku 1.5. Jeli wynikiem operacji mnoenia jest liczba mniejsza od jednoci, zapisujemy na boku 0.6. Uamkow cz wyniku po odrzuceniu ewentualnej czci cakowitej zapisujemy jako w.7. Jeli w jest rne od 0, przechodzimy z powrotem do kroku 2.8. Jeli w jest rwne 0, koczymy procedur.9. Koniec.

  • Dla 0, 4062510, otrzymujemy:

    0,40625 | 2 * 0,40625 = 0,81250,8125 | 2 * 0,8125 = 1,6250,625 | 2 * 0,625 = 1,250,25 | 2 * 0,25 = 0,50,5 | 2 * 0,5 = 1,00,0 | koniec

    Czyli 0,4062510 = 0,011012

    Kopot?x = 0,30,3 | 2 * 0,3 = 0,60,6 | 2 * 0,6 = 1,20,2 | 2 * 0,2 = 0,40,4 | 2 * 0,4 = 0,80,8 | 2 * 0,8 = 1,60,6 | ...

    Otrzymujemy uamek dwjkowy okresowy, warto sprawdzi czy poprzestanie na 5-ciu cyfrach dwjkowych zapewni dobr dokadno 0,010012 = 0,25 + 0,03125 = 0,2812510 ?

  • Dane:LiczbyCakowiteRzeczywisteZespoloneWartoci logiczneTekstoweLiczby cakowite: dugo - zakres wartoci 1 B (bajt) -128 do 127 2 B -32768 do 32767 4 B -2147483648 do 2147483647 8 B 9,223,372,036,854,775,808 do 9,223,372,036,854,775,807Liczby rzeczywiste: 4 B 6-7 cyfr +-1*10+-38 8 B 13 cyfr +-1*10+-308Liczby zespolone: para liczb rzeczywistych (4B lub 8B)Wielkoci logiczne Prawda (1) lub fasz (0)Teksty Zwykle 80-255 znakw

  • Algorytmy i struktury danychInformacja przechowywana w komputerach jest tylko pewnym wycinkiem wiata rzeczywistego stanowi jego abstrakcyjny model.Abstrakcja oznacza tu ignorowanie tych cech danego rzeczywistego obiektu, ktre dla rozwizania danego problemu nie s potrzebne.Jeeli chcemy rozwiza problem to musimy zdecydowa jakie dane bd przetwarzane i jak bd one przechowywane w komputerzeTypy danych: - proste- zoone

    Proste (wbudowane) - liczbowe (cakowite, zmiennoprzecinkowe) - znakowe (teksty) - logiczne (prawda, fasz)

  • Typy zoone konglomeraty zmiennych prostych lub innych typw zoonychTabliceSownikiZbioryRekordyKlasyPlikiKolejkiStosyDrzewa

    Tablica - pozwala zapamieta wycznie elementy tego samego typu. Tablice zapewniaj dostp swobodny do kadego elementu dostp odbywa si w identyczny sposb i mona si do nich odwoywa w dowolnej kolejnoci. Odwoanie si do danego elementu odbywa si poprzez tzw. Indeksowanie (oprcz nazwy tablicy podajemy numer elementu, do ktrego chcemy si odwoaT[10] := 5

    W niektrych jzykach programowania wymagane jest podanie rozmiaru tablicy i sposobu indeksowania

    Np. T3: Array[-2..8] of Real T4: Array[1..10] [1..5] [1..6] of Integer

  • Ada:-- definicja typu tablicowegotype TableType is array(1 .. 100) of Integer;-- definicja zmiennej okreslonego typu tablicowegoMyTable : TableType;

    Visual Basic:Dim a(1 to 5,1 to 5) As DoubleDim MyIntArray(10) As IntegerDim MySingleArray(3 to 5) As Single

    C:char my_string[40];int my_array[] = {1,23,17,4,-5,100};

    Java:int [] counts;counts = new int[5];

    PHP:$pierwszy_kwartal = array(1 => Styczen, Luty, Marzec);

    Python:mylist = ["List item 1", 2, 3.14]

  • Sownik:

    Zbir obiektw, do ktrych moemy dotrze podajc tzw klucz identyfikator (haso)wskazujce na dany obiekt (warto). Obiekty w sowniku nie posiadaj kolejnoci.Operacje na sowniku (Python)d = {"key1":"val1", "key2":"val2"}x = d["key2"]d["key3"] = 122d[42] = "val4

    RekordPozwala przechowywa obiekty rnego typu elementy rekordu to tzw. pola

    type osoba is record imie: napis; nazwisko: napis; wiek: Integer;end

  • Rekord:Zawiera dane rnego typu

    definicjatype osoba is record imie: napis; nazwisko: napis; wiek: Integer;end

    uycieo: osoba;wypisz(o.imie);o.wiek := 12;

  • KlasaOprcz informacji o cechach obiektu zawiera rnie informacj o dozwolonychna tym obiekcie dziaaniach (funkcjach, jakie obiekt moe wykonywa)

    class Samochod: marka: String; pojemnosc: Float; kolor: Color; Jedz(kierunek); StanLicznika(); Stop(); UruchomSilnik();end

  • Wykorzystanie:x,i: Float;i:=0;

    myCar = new Samochod();myCar.marka="Nissan";myCar.pojemnosc=1.8;myCar.UruchomSilnik();x=myCar.StanLicznika();myCar.Jedz("przod");

    while(i

  • Pojcia zwizane z klas

    Obiekt to konkretna realizacja klasy

    Dziedziczenie (ang. Inheritance) pozwala tworzyc obiekty wyspecjalizowane na podstawie obiektw bardziej oglnych. Nie trzeba definiowa caoci cech i funkcjonalnoci a jedynie te, ktre rznia obiekt specjalizowany od oglniejszego.

    pojazd:wasnosci (dane): predkosc, poozeniedziaania: Stj, PoruszajSie

    pojazdCzterokoowy: taki sam jak typ pojazd oraz dodatkowo wasnoci: iloscDobrychK dziaania: SkrecWLewo, SkrecWPrawo

    wodnosamolot: taki sam jak typ pojazd oraz dodatkowo wasnosci: szybkoscToniecia dziaania: Startuj, Laduj

    pojazdKosmiczny: wasnosci: zapasPowietrza

  • 5.pojzadMarsjanski: taki sam jak typ pojazdCzterokoowy oraz takisam jak typ pojazdKosmiczny oraz wasnosci: stanNaadowaniaAkumulatorwdziaania: RozzBaterieSoneczne, adujAkumulatory

    Abstrakcja (ang. abstraction) Rzne traktowanie tego samego obiektuSamochdNissansrodek transportu

    Enkapsulacja (ang. Encapsulation) - ukrywanie implementacji,(syn. Hermetyzacja). Obiekt nie moe zmienia stanu wewntrznego innych obiektww sposb dowolny kady obiekt udostpnia innym tzw. interfejs, ktry narzuca ograniczenia na wspprace pomidzy obiektami. Np.. obiekt Kontobankowe niepowinien dopuci by dowolny inny obiekt mog zmienic pole StanKonta

    Polimorfizm (ang. Polymorphism) (wielopostaciowo) operacje na obiektach klas rodzicielskich mona przenosi na klasy pochodne.

  • PlikSekwencyjna struktura, ktrej elementy ustawione s jeden za drugim. Tymi elementami mog by rekordy, tablice i inne typy zoone. Liczba elementwmoe by dowolna (ograniczenia moe narzuca nonik pliku).

    Elementy pliku mona dopisywa na kocu pliku, mona je pobiera (czyta), mona czy dwa pliki.

    Plik mona rwnie tworzy i otwiera (udostpnia do przetwarzania).

    KolejkaStruktura o nieokrelonym rozmiarze, zwykle zozona z obiektw tego samego typu.Elementy te tworz cig wane: pocztek kolejki (ang. head , gowa) i koniec (ang. Tail, ogon). Kolejka jest obsugiwana pierwszy element (gowa) jest pierwszym obslugiwanym, nowy trafia zawsze na koniec kolejki stajac si jej nowym ogonem. Elementy obsuone s usuwane z kolejki. Taka kolejka to tzw. FIFO(First In First Out). Warianty: kolejka priorytetowa (kolejno kadego obiektu w kolejce wynika z przypisanego mu priorytetu. Kolejka cykliczna pierwszy element ma poprzednika (ogon kolejki)

  • StosPodobny do kolejki (dowolna liczba elementw), rzni si sposobem obsugi:Ostatni dodany element jest pierwszym obsugiwanym.LIFO Last In First Out

    DrzewoStrukture drzewa tworz: korze, wzy, gazie i licie. Od korzenia odchodz wzypierwszego poziomu, z nimi mog by poczone wzy drugiego poziomu, itd..Wze, z ktrego nie odchodz dalsze wzy to li. Droga ktra czy korze z danym liciem to ga. Jzeli od wza n-tego poziomu odchodzi wze (wzy)poziomu n+1szego to mwimy, e wze n-ty jest rodzicem wzl n+1szego, natomiast n+1szy jest jego dzieckiem.Drzewa mona wykorzysta np. w algorytmach sortowania.Przykad (wg. P. Fulmaskiego) zasady:Kady wze przechowuje jedn liczb,Kady rodzic moe mie tylko dwjk dzieciPo lewej stronie kadego wza wypisujemy wartoci mniejsze od liczby w wle,Po prawej stronie liczby wieksze od przechowywanej w wleLiczby z drzewa wypisujemy podajc najpierw wartoci na lewo od wza, potemz wza, potem z prawej strony wza

  • Liczby sortowane: 15,10,17,16,18,4,12,11.

    Etap 1 Etap 2 Etap 3 Etap 4 Etap 5

    15 15 15 15 15 / / \ / \ / \ 10 10 17 10 17 10 17 / / \ 16 16 18

    Etap 6 Etap 7 Etap 8 15 15 15 / \ / \ / \ 10 17 10 17 10 17 / / \ / \ / \ / \ / \ 4 16 18 4 12 16 18 4 12 16 18 / 11

  • Przykady algorytmw: - algorytmy obliczeniowe obliczanie wartoci takich jak: pierwiastki, NWN, NWD, rozwizania rwna

  • Algorytm znajdujcy pierwiastki rwnania kwadratowego(zapis w pseudojzyku)

    Czytaj: a,b,cIf (a=0) then begin Pisz( To nie jest rwnanie kwadratowe) end else begin D:= b^2-4*a*c if (D < 0) then begin RR := -b/(2*a); IM:= Sqrt(-D)/(2*A); Pisz( Dwa rozwizania zespolone:, X1 = , RR,+i*,IM, X2 = , RR,-i*,IM) end else if(D=0) then begin X1 = -b/(*a) Pisz( X1 = X2 = , X1) end

  • else begin X1 := (-b+sqrt(D))/(2*a); X2 := (-b-sqrt(D))/(2*a); Pisz( X1 = , X1, X2 =, X2) end

    end

  • Algorytm sortowania przez wstawianieTablica A zawiera N nieuporzdkowanych liczb

    For i:=1 to N-1 step 1 do begin for j:=i+1 to N step 1 do if (A[i] < A[j]) then begin w := A[i]; A[i] := A[j]; A[j] = w; end end

    Porzdkowanie rosnce czy malejce?

  • Algorytmy iteracyjne i rekurencyjneac. Iteratio powtarzanie algorytmy ieracyjne powtarzaj pewien zestaw instrukcji

    Obiekt jest rekurencyjny jeeli wystpuje we wasnej definicji (powouje si na siebie)

    N! = 1*2*3*.*N, 0!= 1

    Iteracyjnie:Function Silnia(N)begin i:=0; s:=1; while (i < N) do begin i := i+1 s = s*i; end return(s);end

  • Silnia, wersja rekurencyjna

    Function SilniaR(N)begin if (n=0) then begin return (1); end return n*SilniaR(n-1);end

  • Ciag Fibonacciego, dla n > 1,

    Fibn := Fibn-1 + Fibn-2;

    Fib1 = Fib0 = 1

    Przykad bardzo nieskutecznej rekursji

    function FibR(n)begin if (n=0 or n=1) then begin return (1); end return (FibR(n-1)+FibR(n-2));end

  • Wersja iteracyjna

    function FibIt(n)begin i := 1; # licznik q := 0; # zmienna robocza x := 1; # wyraz n-1 y := 1; # wyraz n-2 while (i

  • Algorytmy wyszukiwania:Dwa przypadki: Wyszukujemy liczb w zbiorze nieuporzdkowanym wyszukiwanie linioweWyszukujemy liczb w zbiorze uporzdkowanym (rosnco lub malejco)- przeszukiwanie liniowe lub- przeszukiwanie powkowe (binarne) bardziej wydajne

  • Algorytm szukania powkowegoDla tablicy uporzdkowanej rosnco(Zapis graficzny)

  • Przykad (wg. T.Lubiski, http://www.algorytm.org/: Niech bdzie dana tablica 5-elementowa, a = {1, 2, 4, 6, 7}. Poszukajmy w niej element x = 2. -Na pocztku l = 1, p = 5. -Wybieramy element rodkowy s = (1 + 5) / 2 = 3. -Sprawdzamy czy a[3] jest rwne 2? Nie, element ten jest rwny 4, jest on wikszy od 2 zatem modyfikujemy p = s - 1 = 3 - 1 = 2. -Wybieramy element rodkowy s = (1 + 2) / 2 = 1. Sprawdzamy czy a[1] jest rwne 2? Nie, element ten jest rwny 1, jest on mniejszy od 2 zatem modyfikujemy l = s + 1 = 1 + 1 = 2. -Wybieramy element rodkowy s = (2 + 2) / 2 = 2. Sprawdzamy czy a[2] jest rwne 2? Tak, znalelimy szukany element pod indeksem 2. Poszukajmy teraz element x = 5. Na pocztku l = 1, p = 5. -Wybieramy element rodkowy s = (1 + 5) / 2 = 3. -Sprawdzamy czy a[3] jest rwne 5? Nie, element ten jest rwny 4, jest on mniejszy od 5 zatem modyfikujemy l = s + 1 = 3 + 1 = 4. -Wybieramy element rodkowy s = (4 + 5) / 2 = 4. Sprawdzamy czy a[4] jest rwne 5? Nie, element ten jest rwny 6, jest on wikszy od 5 zatem modyfikujemy p = s - 1 = 3. -W tym momencie l jest wiksze od p, zatem koczymy wyszukiwanie. -Elementu o wartoci 5 nie ma w przeszukiwanej tablicy.

  • Zoono obliczeniowa algorytmu

    Miara iloci zasobw (czas, liczba operacji, pami) jakie potrzebuje algorytmZwykle jest funkcj rozmiaru danych wejciowych (nie zawsze!)

    Np. obliczanie wartoci wyznacznika z macierzy NxN metod rozwijania wg. dopenie algebraicznych ma zoonoc N!

    T sama wartoc mona obliczy metod rozkadu macierzy na iloczyndwch macierzy trjktnych (np.. metoda Crouta) ze zoonoci N3

    Zoono czasowa miara jest zwykle liczba operacji a nie rzeczywisty czas

    Zoono pamiciowa miara iloci pamieci niezbdnej do realizacji zadania

  • Przetwarzanie Przetwarzanie sekwencyjne i rwnolege

    Przetwarzanie sekwencyjne wykonywanie instrukcji programw kolejnojedna za drug.

    Przetwarzanie wspbiene wykonywanie instrukcji programwrwnoczenie na tym samym procesorze (z podziaem czasu procesora).

    Przetwarzanie rwnolege wykonywanie instrukcji programwrwnoczenie na rnych procesorach