101
Katedra Informatyki Stosowanej Kielce, listopad 2010 r. Techniki Informacyjne Prof. Czesław Cichoń Dr Paweł Stąpór 1

Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Embed Size (px)

Citation preview

Page 1: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Katedra Informatyki Stosowanej

Kielce, listopad 2010 r.

Techniki Informacyjne

Prof. Czesław Cichoń

Dr Paweł Stąpór

1

Page 2: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Informacje ogólne

2

Informacje ogólne

Zasady

Zakres i cel zajęć

Warunki zaliczenia

Zwolnienia

Literatura

Kontakt p. 204, 314 budynek B

Adres strony przedmiotu

kis.tu.kielce.pl

odnośnik

Techniki Informacyjne, Architektura i

Urbanistyka sem. 1(oraz Budownictwo, sem. 2)

Materiały do pobrania, aktualności

2

Page 3: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Zasady

3

Laboratorium jest OBOWIĄZKOWE

Dopuszcza się JEDNĄ nieobecność

W przypadku usprawiedliwionej nieobecności zajęcia można

odrobić z inną grupą

Wykłady nie są obowiązkowe, ale obecność na wykładach może

być kontrolowana

Informacje ogólne

Zasady

Zakres i cel zajęć

Warunki zaliczenia

Zwolnienia

Literatura

3

Page 4: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Zakres i cel zajęć

4

WYKŁAD

Kodowanie informacji, jednostki informacji, systemy liczbowe

Systemy operacyjne, wprowadzenie do sieci komputerowych

Struktura programu komputerowego, pojęcie algorytmu,

schematy blokowe, podział algorytmów, efektywność algorytmu

Algorytmy warunkowe i iteracyjne, przykłady: aproksymacja i

interpolacja, metody bezpośrednie i iteracyjne rozwiązywania

układów równań liniowych

Przetwarzanie informacji, modele baz danych

LABORATORIUM

Zastosowania programu EXCEL 2007 (2 l.)

Zastosowania programu MATHCAD 13 (2 l.)

Algorytmy warunkowe (1 l.)

Algorytmy iteracyjne (1 l.)

Kolokwium zaliczeniowe

CEL ZAJĘĆ

Poznanie podstawowych elementów struktury programu

komputerowego i jego implementacji do systemu obliczeniowego

Informacje ogólne

Zasady

Zakres i cel zajęć

Warunki zaliczenia

Zwolnienia

Literatura

4

Page 5: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Warunki zaliczenia

5

LABORATORIUM

Warunkiem zaliczenia ćwiczeń laboratoryjnych jest uczestnictwo

w zajęciach i uzyskanie pozytywnej oceny z praktycznego

sprawdzianu pod koniec semestru.

WYKŁAD

Warunkiem zaliczenia wykładu jest pozytywna ocena z kolokwium

zorganizowanego na końcu semestru. Kolokwium można zaliczać

tylko trzykrotnie. Nie przystąpienie do kolokwium oznacza przepadek

terminu.

Informacje ogólne

Zasady

Zakres i cel zajęć

Warunki zaliczenia

Zwolnienia

Literatura

5

Page 6: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Zwolnienia

6

Warunkiem uzyskania zwolnienia z przedmiotu lub jego części

jest zgoda wykładowcy.

Po uzyskaniu zgody na przepisanie oceny student ma obowiązek

zgłosić się przed końcem semestru po wpis. Jeśli tego nie zrobi

uzyskuje ocenę niedostateczną w pierwszym terminie.

Informacje ogólne

Zasady

Zakres i cel zajęć

Warunki zaliczenia

Zwolnienia

Literatura

6

Page 7: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Literatura

7

Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik",

Helion 2007

Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne", Helion

2007r.

Jacek Pietraszek, Mathcad. Ćwiczenia. Wydanie II, Helion 2008

Karpisz, D., L. Wojnar, Podstawy informatyki, Podręcznik

Politechnik Krakowskiej, Kraków, 2005

C. Cichoń, Metody obliczeniowe. Politechnika Świętokrzyska,

Kielce, 2005.

Informacje ogólne

Zasady

Zakres i cel zajęć

Warunki zaliczenia

Zwolnienia

Literatura

7

Page 8: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Jak powstał dzisiejszy komputer ?

1620 – E. Gunter wynajduje suwak logarytmiczny

1833 – Ch. Babbage opracował plany maszyny analitycznej z elementami

jakie ma architektura współczesnych komputerów

1935 – IBM uruchomił produkcję programowalnego kalkulatora IBM-601.

1937 – A .Turing definiuje maszynę algorytmiczną, znaną dziś jako maszyna Turinga

1946 – ENIAC, maszyna licząca zbudowana z lamp elektronowych (18 000) – komputer

I generacji

1948 – John von Neumann proponuje architekturę komputerów stosowaną do dnia

dzisiejszego (EDVAC – zarówno program jak i dane są po raz pierwszy przechowywane

w pamięci komputera)

1955 –TRADIC, komputer II generacji, zbudowany z tranzystorów półprzewodnikowych

1964 – ODRA 1003 !!

1961 – Texas Instruments – komputer III generacji, zbudowany z wykorzystaniem

półprzewodnikowych układów scalonych

1970 – początek ery komputerów IV generacji, zbudowanych z wykorzystaniem procesorów

o dużym stopniu integracji

1985 – Microsoft prezentuje system operacyjny Windows 1.0

1993 – procesor Intel PENTIUM

……………….. 8

Page 9: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Katedra Informatyki Stosowanej

Kielce, luty 2009 r.

Kodowanie informacji, jednostki

informacji, systemy liczbowe

9

Page 10: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Informacji i środki jej przetwarzania

Kielce, luty 2009 r.

INFORMACJA – wielkość abstrakcyjna, która może być przechowywana,

przesyłana między obiektami, przetwarzana przez pewne obiekty.

INFORMACJE mogą stanowić różnorodne dane, takie jak liczby, tekst,

obiekty multimedialne (grafika).

INFORMATYKA – nauka o przetwarzaniu informacji za pomocą

automatycznych środków technicznych

NARZĘDZIA INFORMATYKI

Komputery Oprogramowanie

Osobiste i biurowe Algorytm

Serwery Program

Superkomputery (Mainframe) System operacyjny

Klastry i gridy

10

Page 11: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Informacja a komputer

Kielce, luty 2009 r.

Wewnętrzna budowa komputera wymusza używanie ściśle określonych

sposobów kodowania (systemów liczbowych) i przetwarzania informacji.

Pierwszy komputer ENIAC 1946 r. – pracował w systemie dziesiętnym!

Przełączniki elektryczne musiały rozpoznawać 10 stanów napięcia - jedna

z przyczyn wolnej pracy i małej odporności na zniekształcenia elektryczne

System dziesiętny nie jest jedynym sposobem przedstawiania liczb

System binarny – urządzenia korzystające z niego muszą rozpoznawać

tylko dwa stany, czyli 1 (jest sygnał) lub 0 (nie ma sygnału) a nie dziesięć

stanów jak to ma miejsce w systemie dziesiętnym

Zalety

Układ elektroniczny znacznie prostszy

Poziom sygnałów elektrycznych, rozpatrywanych jako odrębne stany

mogą należeć do szerszego przedziału napięć, a więc są bardziej odporne

na zniekształcenia

11

Page 12: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Jednostka informacji

Kielce, luty 2009 r.

Najmniejszą jednostką informacji jest bit

Bit przyjmuje wartość 0 lub 1

1 bajt (ang. Byte) = 8 bitów

1 słowo (ang. Word) = 2 bajty = 16 bitów

W informatyce nazwy przedrostków nie odpowiadają dokładnie tym w

układzie SI

1 kbajt [KB]= 210 bajta = 1024 bajty

1 Mbajt [MB] = 1024[KB] = 1 048 576 bajty

1 Gbajt [GB] = 1024[MB] = 1 073 741 824 bajty

12

Page 13: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Systemy liczbowe

Kielce, luty 2009 r.

Dla dowolnego systemu liczenia istnieje zbiór cyfr z których tworzone są

liczby

Systemy liczenia dzielą się na:

Pozycyjne

Niepozycyjne

W systemach pozycyjnych wartość liczbowa cyfry zależy od

umiejscowienia (pozycji) w liczbie. (np. system dziesiętny, dwójkowy)

Ilość różnych cyfr systemu nazywa się jego podstawą (P)

Wartość liczbowa cyfry określona jest przez wagę. Waga na pozycji (n)

równa jest podstawie P podniesionej do potęgi n

W systemach niepozycyjnych poszczególne cyfry zachowują swą wartość

liczbową bez względu na miejsce jakie zajmują w liczbie (np. system

rzymski - siedem znaków I, V, X, L, C, D, M)

XII = 10(X)+1(I)+1(I) =12, IX = 10(X)-1(I) =9, MCDX = 1000 (M) + 500(D) -

100(C) +10 (X),

13

Page 14: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Systemy pozycyjne

Kielce, luty 2009 r.

Wzór na zapis liczby L w dowolnym systemie pozycyjnym jest bardzo

prosty

L = an * Pn + an-1 * Pn-1 + … + a0 * P0

Dla zapisu w systemie dziesiętnym

P=10, an ={0,1,2,3,4,5,6,7,8,9}

142 = 1*102+4*101+2*100

Dla zapisu w systemie dwójkowym

P=2, an ={0,1}

10010= 1*24+0*23+0*22+1*21+0*20

14

Page 15: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Konwersja z systemu dziesiętnego do

dwójkowego liczb naturalnych

Kielce, luty 2009 r.

190DEC = 1*102+9*101+0*100

190BIN = ?

Na 1 bajcie można zapisac

liczbę całkowitą z zakresu

0 – 255DEC (11111111)BIN

Jak odzyskać (10111110)BIN?

15

Page 16: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Liczby całkowite ze znakiem – kod U2

Kielce, luty 2009 r.

Kod U2 jest najczęściej spotykanym w obliczeniach na liczbach

całkowitych ze znakiem. Umożliwia w jednoznaczny sposób zapis liczb

binarnych ujemnych

W kodzie U2 waga najstarszego bitu jest zawsze ujemna, dla słowa (8 bit)

Na 1 bajcie możemy zapisać liczbe z zakresu -128 do 127.

Na 2 bajtach -32768 do 32767

16

Page 17: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Liczby całkowite ze znakiem – kod U2

Kielce, luty 2009 r.

Przykłda zapisu liczby w kodzie U2 (słowo 8 bitowe)

-2Liczba 2 binarnie

0000 0010

Zanegowana liczba 2 binarnie

1111 1101 = 253

Zanegowana liczba 2 binarnie +1

254 = 1111 1110

W kodzie U2

(1111 1110 )U2 = -2

17

Page 18: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Liczby całkowite ze znakiem – kod U2

Kielce, luty 2009 r.

Jak odzyskać liczby w kodzie U2 (słowo 8 bitowe)

18

Page 19: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Liczby rzeczywiste

Kielce, luty 2009 r.

Jak zapisać liczbę rzeczywistą?

Zapis poprzez podanie trzech elmentów

Znaku

Mantysy

Wykładnika

L=Z*M*2W

Dokładność zależy od liczby bitów przypisanych poszczególnym

elementom

Wykładnik jest zapisany w tzw. Kodzie z nadmiarem

Wykładnik = zapisana wartość binarna wykładnika - nadmiar

19

Page 20: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Liczby rzeczywiste – standard IEEE745

Kielce, luty 2009 r.

Pojedyńcza precyzja 4 bajty

Mantysa 23 bity

Wykładnik 8 bitów (nadmiar 127), znak 1 bit

20

Page 21: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Liczby rzeczywiste – standard IEEE745

Kielce, luty 2009 r.

Procedura zapisu liczby L

1. Okresl znak Bit31 = 1 jeżeli L ujemna, 0 jeśli dodatnia

2. Szukamy największej liczby postaci 2w mniejszej niż L

3. Zapisujemy wykładnik z nadmiarem w+127

4. Dzielimy liczbę L/ 2w (wynik 1.xxxx)

5. Odejmujemy 1 i szukamy mantysy

6. Zaznaczamy Bit jako 1 jeśli po odjęciu 1/2(bit+1) mamy wartość

nieujemną, jeśli wartość ujemna zaznaczamy bit jako 0, i ignorujemy

operacje. Procedure powtarzamy az w wyniku odejmowania

otrzymamy zero lub dojdziemy do bitu nr 22 (pojedyńcza precyzja)

21

Page 22: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Liczby rzeczywiste – standard IEEE745

Kielce, luty 2009 r.

Procedura zapisu liczby 14.5

10000010

22

Page 23: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Liczby rzeczywiste – standard IEEE745

Kielce, luty 2009 r. 23

Page 24: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Liczby rzeczywiste – standard IEEE745

Kielce, luty 2009 r. 24

Page 25: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Kodowanie znaków

Kielce, luty 2009 r. 25

Page 26: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Kodowanie znaków

Kielce, luty 2009 r. 26

Page 27: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Katedra Informatyki Stosowanej

Kielce, luty 2009 r.

Wprowadzenie do baz danych

27

Page 28: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Bazy danych - podstawy

Kielce, luty 2009 r.

Samo posiadanie informacji nie wystarcza. Trzeba jeszcze mieć do niej

odpowiedni dostęp, by można ją skutecznie wykorzystać.

Jednym ze sposobów gromadzenia i porządkowania informacji są bazy

danych – podstawa technologii informacyjnych.

Bazą danych DB – ang. DataBase, nazywamy uporządkowany zbiór

powiązanych ze sobą danych, reprezentujących fragment rzeczywistości.

Baza danych powinna być tak zorganizowana aby ułatwić

przeprowadzenie podstawowych operacji na jej zawartości takich jak:

Wyszukiwanie

Modyfikowanie

Dodawanie danych

28

Page 29: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Modele baz danych

Kielce, luty 2009 r.

Model danych – podstawowe pojęcie charakteryzujące baze danych

Model danych to zbiór ogólnych zasad posługiwania się danymi,

obejmujący:

Definicje danych – czyli zbiór reguł określających strukturę danych w

bazie

Operowanie danymi – czyli zbiór reguł określających operacje na danych

Integralność danych – czyli zbiór reguł określających, które stany bazy

danych są poprawne, a operacje na danych dozwolone

29

Page 30: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Modele baz danych

Kielce, luty 2009 r.

Wyróżnia się zasadniczo dwa modele baz danych:

•Relacyjny

•Obiektowy

W odrębie danego modelu wyróżniamy logiczny i fizyczny schemat bazy

danych.

Schemat logiczny to abstrakcyjne struktury, w których dane są

porządkowane, a następnie widziane przez użytkownika jako logiczna

reprezentacja jakiegoś fragmentu informacji. Schemat logiczny bazy

danych przedstawiany jest w postaci diagramów ERD (Entity Relationship

Diagram)

30

Page 31: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Modele baz danych

Kielce, luty 2009 r.

Reprezentacja schematu logicznego bazy danych w postaci diagramu ERD

Osoba Ubezpieczenie

PK oso_id PK ubz_id

oso_imie ubz_nr_polisy

oso_nazwisko ubz_data_start

oso_pesel ubz_data_stop

oso_m_urodzenia oso_id

Schemat fizyczny bazy danych reprezentuje umiejscowienie struktur

logicznych w elementach odpowiadających za fizyczne gromadzenie

danych np. podział plików bazy danych miedzy dyski twarde komputera

31

Page 32: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Modele baz danych

Kielce, luty 2009 r.

Fizyczna reprezentacja bazy danych

Osoba

PK oso_id

oso_imie

oso_nazwisko

oso_pesel

oso_m_urodzenia

Ubezpieczenie

PK ubz_id

ubz_nr_polisy

ubz_data_start

ubz_data_stop

oso_id

Dane1.dbf Dane2.dbf

Dysk 1 Dysk 2 Dysk 3 Dysk 4

32

Page 33: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Model relacyjny

Kielce, luty 2009 r.

Model relacyjny został zaproponowany w 1970 roku przez Edgara Franka

Codda i okazał się najbardziej trafnym podejściem do problemu organizacji

danych.

Baza danych składa się z relacji (tabel) powiązanych ze sobą za pomocą

więzów integralności: kluczy głównych i kluczy obcych.

Tabela (relacja) – to podstawowa struktura relacyjnej bazy danych

Wszystkie tabele składają się z atrybutów (kolumn) oraz wierszy (krotek,

rekordów). Tabela poświęcona jest określonemu tematowi, którym może

być rzeczywisty obiekt lub zdarzenie;

Atrybut (kolumna) – jest najmniejszą strukturą w modelu relacyjnym,

przeznaczoną do przechowywania jednostki danych, reprezentującą

pewną cechę tematu jaki opisuje tabela np. atrybut IMIE w tabeli OSOBA.

33

Page 34: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Osoba

PK oso_id

oso_imie

oso_nazwisko

oso_pesel

oso_m_urodzenia

Model relacyjny

Kielce, luty 2009 r.

Wiersz (krotka, rekord) – składa się z pełnego zestawu atrybutów, wiersz

jest najmiejszą strukturą opisującą cały obiekt, którego dotyczy tabela. Np..

Wszystkie informacje o danej osobie w tabeli OSOBA.

Przykład reprezentacji tabeli OSOBA z podziałem na atrybuty oraz

reprezentacji wiersza

TABELA

Osoba

PK oso_id

oso_imie

oso_nazwisko

oso_pesel

oso_m_urodzenia

Osoba

PK oso_id

oso_imie

oso_nazwisko

oso_pesel

oso_m_urodzenia

ATRYBUT WIERSZ

1 ‘Jan’ ‘Kowalski’ 77010201856 ‘Kraków’

34

Page 35: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Model relacyjny

Kielce, luty 2009 r.

W modelu relacyjnym baza danych składa się z tabel (relacji) o

następujących właściwościach:

•Kazda tabela ma swoją unikalną nazwę

•W jednej tabeli nie mogą znaleźć się dwie kolumny o tej samej nazwie

•Kazde pole w danej krotce (wierszu) jest takiego samego typu jak w

odpowiadającej mu kolumnie , lub nie zawiera wartości (NULL)

•W tabeli jedna lub wiele kolumn tworzy tak zwany klucz główny

•Na podstawie wartości klucza głównego można jednoznacznie

zidentyfikować każdy wiersz tabeli.

Klucz główny – PRIMARY KEY PK – tworzony jest przez jeden lub więcej

atrybutów tabeli (klucz złożonym), na podstawie wartości którego można

jednoznacznie zidentyfikować każdy wiersz w tabeli.

Oznacza to, że wartosci znajdujace sie w kolumnie bedacej kluczem

głównym nie moga sie powtarzac i musza byc unikatowe.

35

Page 36: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Model relacyjny

Kielce, luty 2009 r.

Klucz obcy – ang. FOREIGN KEY FK – tworzony jest przez jeden lub

więcej atrybutów tabeli (klucz złożonym), które w innej tabeli są kluczem

głównym. W ten sposób tworzone jest bezpośrednie powiązanie wierszy z

danymi z dwóch różnych tabel.

Osoba Ubezpieczenie

PK oso_id PK ubz_id

oso_imie ubz_nr_polisy

oso_nazwisko ubz_data_start

oso_pesel ubz_data_stop

oso_m_urodzenia oso_id FOREIGN KEY

PRIMARY KEY

Powiązanie tabel kluczami

36

Page 37: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Model relacyjny

Kielce, luty 2009 r. 37

Page 38: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Model relacyjny

Kielce, luty 2009 r. 38

Page 39: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Wiele do wielu

Kielce, luty 2009 r. 39

Page 40: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Model relacyjny

Kielce, luty 2009 r. 40

Page 41: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Model relacyjny

Kielce, luty 2009 r. 41

Page 42: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Model relacyjny

Kielce, luty 2009 r. 42

Page 43: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Katedra Informatyki Stosowanej

Kielce, luty 2009 r.

Algorytmy – wprowadzenie do

programowania

43

Page 44: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Definicja algorytmu i jego cechy

Kielce, luty 2009 r.

Jeżeli mamy do wykonania jakieś zadanie, budujemy sposób, przepis

realizacji tego zadania. Taki przepis to algorytm. Dopiero po zapisaniu

w konkretnym języku programowania algorytm staje się programem.

Algorytm to sposób postępowania, który prowadzi do rozwiązania w

skończonej liczbie kroków.

Do danego celu prowadzi zwykle więcej niż jedna droga. Jak więc

oceniać alternatywne sposoby rozwiązania problemu?

Podstawowe parametry algorytmu to jego złożoność czasowa i

złożoność pamięciowa. Oprócz tego przy algorytmach działających na

liczbach trzeba pamiętać o stabilności numerycznej.

44

Page 45: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Definicja algorytmu i jego cechy

Kielce, luty 2009 r.

Złożoność czasowa mówi, ile kroków obliczeniowych i ile czasu

wymaga zakończenie algorytmu dla danej porcji danych.

Złożoność pamięciowa mówi, jaką maksymalnie część danych i

wyników pośrednich trzeba w ramach danego algorytmu przecho-

wywać w pamięci operacyjnej.

Stabilność numeryczna określa ona wrażliwość wyniku końcowego

na błędy zaokrągleń w trakcie obliczeń oraz na dokładność danych

początkowych.

45

Page 46: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Sposoby zapisu algorytmu

Kielce, luty 2009 r.

Język naturalny

Funkcje matematyczne

Schematy blokowe

Języki formalne

46

Page 47: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Schematy blokowe

Kielce, luty 2009 r.

Służą one do zapisu algorytmu w obrazowy sposób podając kierunek

procesu obliczeń. Najważniejsze używane symbole:

Start – początek programu

Blok wejścia – wprowadzanie danych

Stop – koniec programu

47

Page 48: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Schematy blokowe

Kielce, luty 2009 r.

Blok wyjścia – wyprowadzanie wyników

Blok operacyjny – przetwarzanie danych

Blok decyzyjny

48

Page 49: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Bloki pętli

Kielce, luty 2009 r.

Pętla „powtórz” - z

warunkiem na końcu

Pętla „dopóki” - z warunkiem

na początku

49

Page 50: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Bloki pętli

Kielce, luty 2009 r.

Pętla „dla” - liczona

50

Page 51: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm sumowania

Kielce, luty 2009 r.

Dany ciag

-2 3 11 -1

n=4

suma=0

i=1

x=-2

suma=0+(-2)=-2

i=2

x=3

suma=-2+3=1

i=3

x=11

suma=1+11=12

i=4

x=0

suma=12+(-1)=11

51

Page 52: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm obliczania wartości

ekstremalnych

Kielce, luty 2009 r.

Dany ciag

-2 3 11 -1 999 (wartownik)

x=-2

czy 2=999 ? FAŁSZ

max=-2

x=3

Czy 11<> 999 ? PRAWDACzy 11>3 ? PRAWDAmax=11x=-1

Czy 1<> 999 ? PRAWDACzy -1>11 ? FAŁSZx=999

Czy 999<> 999 ? FAŁSZ

Czy 3<> 999 ? PRAWDACzy 3>-2 ? PRAWDAmax=3x=11

Drukuj (11)

52

Page 53: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm sortowania „bąbelkowego”

Kielce, luty 2009 r.

Algorytm sortowania bąbelkowego polega na porównywaniu par elementów

leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich kolejności. Czyli w

pierwszym przebiegu porównujemy (i ewentualnie zamieniamy):

•Element pierwszy i drugi

•Element drugi i trzeci

•...

•Element (n-1)-wszy i n-ty

Każdy element jest tak długo przesuwany w ciągu, aż napotkany zostanie

element większy od niego, wtedy w następnych krokach przesuwany jest ten

większy element.

Po pierwszym przebiegu ciąg nie musi być jeszcze uporządkowany, ale na

pozycji n znajdzie się maksymalny element ciągu. Zatem w drugim przebiegu

można porządkować ciąg krótszy, czyli tylko elementy na pozycjach od 1 do n-1.

Po drugim przebiegu, dwa ostatnie elementy są na swoich miejscach, czyli

pozostaje posortować ciąg o dwa elementy krótszy, itd.

53

Page 54: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm sortowania „bąbelkowego”

Kielce, luty 2009 r.

Dana tablica

-2 3 11 -1

n=4

Wczytanie danych do tablicy x

x[1]=-2 x[2]=3 x[3]=11 x[4]=-1

Czy element j > elementu j+1 ?PRAWDAZamieo element j z elementem j+1

-2 3 -1 11 pierwszy

-2 -1 3 11 drugi

-2 -1 3 11 trzeci

-2 -1 3 11 czwarty

54

Page 55: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm sortowania „przez wybór”

Jest to chyba najbardziej intuicyjny algorytm sortowania. Polega on na

wielokrotnym wyborze minimalnego elementu z coraz krótszego podciągu danych.

Dokładnie ma to następujący przebieg: Wybierz minimum z ciągu elementów na

pozycjach od 1 do n i zamień go z pierwszym elementem.

•Wybierz minimum z ciągu elementów na pozycjach od 2 do n i zamień go z

drugim elementem (po tym kroku elementy na pozycjach od 1 do 2 są

uporządkowane).

•...

•Wybierz minimum z ciągu elementów na pozycjach n-1 i n i zamień go z

elementem na pozycji n-1 (po tej operacji elementy na pozycjach od 1 do n-1 są

uporządkowane, a element na pozycji n jest maksymalny, czyli ciąg elementów na

pozycjach od 1 do n jest uporządkowany)

Znalezienie minimum w ciągu wymaga m-1 porównań, gdzie m jest długością

ciągu. Algorytm sortowania przez wybór wykonuje n-1 takich operacji, a długość

ciągu, z którego wybierany jest element minimalny zmienia się od n do 2.

55

Page 56: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm sortowania „przez wybór”

Dana tablica

-2 3 11 -1

n=4

Wczytanie danych do tablicy x

x[1]=-2 x[2]=3 x[3]=11 x[4]=-1

Znajdź indeks elementumaksymalnego z podciągu od j do n

Wydruk tablicy posortowanej

Zamieo element j z k

56

Page 57: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

57

Page 58: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytmy standardowych metod

obliczeniowych

Metody aproksymacji i interpolacji funkcji

-metoda najmniejszych kwadratów

-Interpolacja Lagrange’a

Metody rozwiązywania układów równań liniowych

- metody bezpośrednie (eliminacji Gausa)

- metody iteracyjne (Gaus-Seidel)

Metody rozwiązywania równań nieliniowych

- metoda bisekcji

58

Page 59: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Aproksymacja punktowa

Zadanie aproksymacji optymalnej w bazie

jednomianów polega na dobraniu wielomianu

aproksymacyjnego tak, aby przybliżał funkcję daną w

sposób dyskretny w pewnym sensie najlepiej.x

y

km

kk

m

m

m

mmxaaxaxaxaxP

001

1

1...)(

Tak sformułowane zadanie może być rozwiązane, jeśli ustalimy stopień wielomianu m

oraz przyjmiemy kryterium, według którego będziemy oceniać jakość aproksymacji.

Kryterium najczęściej stosowane – metoda najmniejszych kwadratów.

(C. Cichoń, Metody obliczeniowe, str. 50)

)(xPm

59

Page 60: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Aproksymacja

Aproksymacja punktowa

Rozważmy problem aproksymacji danych funkcją liniową dla

punktów w tabeli, metodą najmniejszych kwadratów

f (xi)f (xi)

60

Page 61: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Metoda najmniejszych kwadratów wymaga minimalizacji funkcji

błędu kwadratowego (m=1, n=9)

ze względu na współczynniki aproksymacji

Warunki konieczne na minimum funkcji e(a1,a0)

Aproksymacja

i=0

9

9

i=0

9

i=0

9

i=0

9

i=0

e a1 a0f(xi)a0 a1

a1

a0 a0

a0a0a0

a1 a1

f(xi) f(xi)

f(xi)f(xi)

a1a1

61

Page 62: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Aproksymacja

Warunki te redukują się do układu równań liniowych, którego

rozwiązaniem są wartości a1 =1.538 i a0 =-0.360

9i=0

f (x) P(x)

f (xi) f (xi) P(xi)

P(x)

f (xi)- u (xi)e

62

Page 63: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Układ równao normalnych

63

Page 64: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Aproksymacja - uogólnienie

64

Page 65: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

65

Page 66: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

66

Page 67: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

67

Page 68: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

68

Page 69: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

69

Page 70: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

70

Page 71: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

71

Page 72: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

72

Page 73: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Przykład (dom !!)

Wyznacz współczynniki aproksymacji funkcją kwadratową

metodą najmniejszych kwadratów

f (xi)

73

Page 74: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Interpolacja

Interpolacja jest szczególnym przypadkiem

aproksymacji, kiedy m=n. Wówczas w węzłach

interpolacji wartość funkcji interpolacyjnej jest dokładnie

równa funkcji interpolowanej

Jeśli funkcjami bazowymi są jednomiany, to taką

interpolację nazywamy interpolacją Lagrange’a.

x

f(x)

74

)()(iin

xfxP ni ,...,1,0,

)(xPn

Page 75: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Wielomian interpolacyjny Lagrange’a ma postać

75

FxNxPn

)()(

gdzie macierz jednowierszowa N(x)

zawiera wielomiany bazowe Lagrange’a stopnia n o postaci ogólnej

oraz F jest wektorem

))...()()...()((

))...()()...()(()(

1110

1110

,

niiiiiii

nii

inxxxxxxxxxx

xxxxxxxxxxxN

T

nxfxfxfF )](),...,(),([

10

)](),...,(),([)(,1,0,

xNxNxNxNnnnn

Page 76: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Przykład 4.6. Wyprowadzić wzór interpolacyjny Lagrange’a stopnia drugiego

przybliżający funkcję f(x)=1/x i przyjmując węzły interpolacji

76

4,5,2,2210 xxx

105,6)42)(5,22(

)4)(5,2()( 2

0,2

xx

xxxN

)32244(3

1

)45,2)(25,2(

)4)(2()( 2

1,2

xx

xxxN

25,0,4,0,5,0210 fff

)55,4(3

1

)5,24)(24(

)5,2)(2()( 2

2,2

xx

xxxN

Page 77: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Wielomian interpolacyjny Lagrange’a ma postać

77

15,1425,005,025,0)55,4(3

1

4,0)32244(3

15,0)105,6()(

22

22

2

xxxx

xxxxxP

Page 78: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Metody bezpośrednie rozwiązywania układów

algebraicznych równań liniowych

Zapis macierzowy

112121111...: bxaxaxaE

nn

78

222221212...: bxaxaxaE

nn

............nnnnnnn

bxaxaxaE ...:2211

bAx

0,0det bA

Page 79: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Metoda eliminacji Gaussa

Rozwiązanie w dwóch etapach:

1 – przekształcenie układu równań do postaci z macierzą A górno trójkątną

(postępowanie wprzód)

2 – rozwiązanie tak otrzymanego układu równań rozpoczynając od ostatniego

równania (postępowanie wstecz)

W etapie pierwszym wykorzystujemy przekształcenia elementarne:

79

ji

iji

ii

EE

EEE

EE

)(

Page 80: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Przykład

80

434:

2:

203322:

82:

43214

3213

43212

43211

xxxxE

xxxE

xxxxE

xxxxE

43411

20111

203322

81211

)1(AA

Page 81: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Wyzerowanie elementów poniżej przekątnej w kolejnych kolumnach

81

)2(

124200

61120

41100

81211

43411

20111

203322

81211

A

414

313

212

)(

)(

)2(

doEEE

doEEE

doEEE

Page 82: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

82

)4(

42000

41100

61120

81211

124200

41100

61122

81211

A

434 )2( doEEE

Drugi wyraz na przekątnej jest równy zero dlatego najpierw zamieniamy wiersz

drugi z wierszem trzecim i następnie zerujemy element w trzeciej kolumnie

Page 83: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

W ten sposób sprowadziliśmy układ równań do postaci górno trójkątnej

Jest to koniec postępowania wprzód.

83

4

4

6

8

2000

1100

1120

1211

4

3

2

1

x

x

x

x

Page 84: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Postępowanie wstecz polega na rozwiązaniu końcowego układu równań

rozpoczynając od ostatniego równania

84

7,8212231

3,621212

2,421

2,42

11

22

33

44

xx

xx

xx

xx

Page 85: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm metody eliminacji Gaussa

Liczba równao n

Wprowadź elementy wektora prawejstrony do tablicy r

Wprowadź elementy macierzywspółczynników równao do tablicy c

Element i,j macierzy współczynnikóww tablicy c znajduje się na pozycjin*(i-1)+j

Wprowadzanie danych

85

Page 86: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm metody eliminacji Gaussa

Wybór elementu wiodącego (k,k)

Dzielenie przez element wiadacyrównania (k)

Znalezienie mnożnika pozostałychrównao

Odejmowanie pomnożonegorównania (k) od kolejnych –zerowanie kolumny pod elementemwiadącym

Przekształcanie do postaci górnotrójkątnej

86

Page 87: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm metody eliminacji Gaussa

Wyznaczenie wartości niewiadomej(n) z ostatniego równania

Sumowanie znanych składników wkolejnych równaniach

Wyznaczenie wartości pozostałychzmiennych

Wydruk rozwiązania

Powrotna sybstytucja

87

Page 88: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm metody iteracyjnej Gaussa-

Siedela

Do rozwiązywania dużych układów równań wyższą efektywność wykazują techniki

iteracyjne

Z pierwszego równania wyznaczamy X1

X1=(b1-A12*X2-A13*X3)/A11

Z drugiego X2

X2 =(b2-A21*X1-A23*X3)/A22

Z trzeciego X3

X3 =(b3-A31*X1-A32*X2)/A33

A11 A12 A13 X1 b1

A21 A22 A23 * X2 = b2

A31 A32 A33 X3 b3

88

Page 89: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm metody iteracyjnej Gaussa-

Siedela

Załóżmy wartości początkowe niewiadomych

X10

X20

X30

I wyznaczmy X11 w pierwszej iteracji (1) korzystając z wartości początkowych (0)

X11=(b1-A12*X20 - A13*X30 )/A11

Wartość X21 wyznaczymy wykorzystując obliczoną już wartość X11

(cecha charakterystyczna metody Gaussa – Seidela)

X21 =(b2-A21*X11 -A23*X30 )/A22

To samo dla wartości X31 (korzystamy z bieżących wartości zmiennych X1 i X2)

X31 =(b3-A31*X11 -A32*X21 )/A33

89

Page 90: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm metody iteracyjnej Gaussa-

Siedela

Po pierwszej iteracji (1) otrymujemy przybliżone wartości rozwiązania

X11

X21

X31

Powtarzamy procedurę w iteracji (2)

X12=(b1-A12*X21 - A13*X31 )/A11

X22 =(b2-A21*X12 -A23*X31 )/A22

X32 =(b3-A31*X12 -A32*X22 )/A33

I w kolejnych iteracjach (i) i (i+1) aż do spełnienia warunków

|X1i+1 – X1i |/ X1i+1 < e

|X2i+1 – X2i |/ X2i+1 < e

|X3i+1 – X3i |/ X3i+1 < e90

Page 91: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm metody iteracyjnej Gaussa-

Siedela

Liczba równao n

Wprowadź elementy wektora prawejstrony do tablicy r, oraz warościpoczątkowe do tablicy x

Wprowadź elementy macierzywspółczynników równao do tablicy c

Element i,j macierzy współczynnikóww tablicy c znajduje się na pozycjin*(i-1)+j 91

Page 92: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

m=0Powtarzaj,

Tak dlugo jak m<>0

Algorytm metody iteracyjnej Gaussa-

Siedela

TEMP – wartośd elementu xi

wyznaczona z równania i

Sprawdż warunek|TEMP-x[i]/TEMP|>eTEMP – bierząca wartośd xi,x[i] - wartośd poprzednia

m – wskaźnik spełnienia warunku dlawszystkich zmiennycg

Uaktualnij wartośd x[i]x[i]:=x[i]+LAM*(TEMP-x[i])LAM – parametr relaksacyjnyLAM =1, x[i]=TEMP

92

Page 93: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm metody iteracyjnej Gaussa-

Siedela

Wyprowadź liczbę wykonanychiteracji

Wyprowadź rozwiązanie

93

Page 94: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytmy metody Gaussa-Siedela

Przykład. Rozwiąż układ równań metodą Gaussa-Siedela, z dokładnością e =

0.01 3.00 x1 + 1.00 x2 - 1.00 x3 = 2.00

1.00 x1 + 4.00 x2 +1.00 x3 = 12.00

2.00 x1 + 1.00 x2 + 2.00 x3 = 10.00

Wartości początkowe iteracja = 0x1 = 1.00 x2 = 1.00 x3 = 1.00

Wyniki po kolejnych iteracjach (wydruki do dwóch miejsc po przecinku)

iteracja 1

x1= 0.67 x2 = 2.58 x3 = 3.04

iteracja 2

x1 = 0.82 x2 = 2.03 x3 = 3.16

iteracja 3

x1 = 1.04 x2 = 1.95 x3 = 2.98

iteracja 4

x1 = 1.01 x2 = 2.00 x3 = 2.99

iteracja 5

x1 = 1.00 x2 = 2.00 x3 = 3.00

iteracja 6

x1 = 1.00 x2 = 2.00 x3 = 3.00

Wydruk w formacie ekspotencjalnym, po 6 iteracjach

x1 = 9.9942062650E-01

x2 = 1.9995354965E+00

x3 = 3.0008116252E+00

94

Page 95: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm metody bisekcji

Znajdź pierwiastek funjcji f(x) w przedziale <a, b>

1. Podziel przedział na dwie cześci w punkcie xm=(a+b)/2

2. Wyznacz warość funkcji w punkcie xm i b, jeśli f(xm)*f(b)<0, to znaczy ze

pierwiastek znajduje się w tym przedziale.

3. Jeśli f(xm)*f(b)>0, pierwiastek znajduje się w przedeziale <a, xm>,

wybierz przedział <a, xm> i podziel na dwie równe części.

4. Powtarzaj procedurę tak dlugo az pierwiastek zostanie wyznaczony z

zadana dokładnością to znaczy że przedział w którym się znajduje będzie

mniejszy od zadanej dlugosci e.

Założenie:

Jeden pierwiastek w przedziale f(x)

b

a

xxm

95

Page 96: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytm metody bisekcji

Wprowadz a,b i e (dokładnośd)

Sprawż dlugośd (dokładnośd)przedziału

Warunek f(XL)*f(XR)>0

Wybierz przedział <XL ; xm>

Wybierz przedział <xm ; XR>

Wydrukuj pierwiastek (XL+XR)/2 96

Page 97: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

O efektywności algorytmu

Kielce, luty 2009 r.

Obliczanie wartości wielomianu

Sprawdźmy złożoność obliczeniową operacji wyznaczenia wartości

wielomianu W(x).

Niech W(x) = 7x4 + 3x3 + 2x2 -3x +5

Klasycznie używając zwykłego zapisu:

W(x) = 7*x*x*x*x + 3*x*x*x + 2*x*x - 3*x + 5

Użyto dziesięciu mnożeń, czterech dodawań

W ogólności obliczenie W(x) tym algorytmem wymaga n dodawań

oraz n(n+1)/2 mnożeń, gdzie n jest stopniem wielomianu.

97

Page 98: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

O efektywności algorytmu

Kielce, luty 2009 r.

Znaczącą redukcję kosztów obliczeń daje algorytm Hornera.

Wystarczy inaczej zapisać wielomian:

W(x) = ( ( ( 7 * x + 3 ) * x + 2 ) * x - 3 ) * x + 5

Użyto czterech mnożeń, czterech dodawań

W ogólności algorytm Hornera wymaga n mnożeń oraz n dodawań.

Nie ma zysku na dodawaniach, ale dla mnożeń zredukowaliśmy koszt

metody z O(n2) do O(n).

98

Page 99: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Czego algorytm nie może? – własność STOP

Kielce, luty 2009 r.

Czy możemy przewidzieć, że dany program się zatrzyma, czyli czy ma

własność „STOP”?

Nie można sporządzić schematu, który zbada własność „STOP”

każdego pomyślanego algorytmu!

Schemat taki musiałby bowiem umieć sprawdzić także poniższy krótki

algorytm...

1)Sprawdź, czy ten algorytm ma własność STOP

2)Jeśli TAK, to wpadnij w nieskończoną pętlę

3)A jeśli nie, to ZAKOŃCZ

99

Page 100: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytmy - podsumowanie

Kielce, luty 2009 r.

Budując algorytmy należy przestrzegać następujących zasad:

•Algorytmy trzeba rozłożyć na jak najprostrze operacje podstawowe

•Każdy krok algorytmu dokładnie określić i przemyśleć

•Rozważyć wszystkie możliwe przypadki funkcjonowania algorytmu w

zależności od danych wejściowych oraz operacji wewnętrznych

•Każdy algorytm powinien prowadzić do rozwiązania generując jedną lub

wiele odpowiedzi na zadany problem

Algorytm zdefiniowany z wykorzystaniem powyższych zasad powinien

mieć jasno określony punkt startowy i punkt końcowy.

100

Page 101: Techniki Informacyjne - tu.kielce.pl · Literatura 7 Krzysztof Masłowski, "Excel 2007 PL. Ilustrowany przewodnik", Helion 2007 Krzysztof Masłowski, "Excel 2007. Ćwiczenia praktyczne",

Algorytmy - podsumowanie

Kielce, luty 2009 r.

Algorytmy możemy podzielić na:

•Algorytmy liniowe

•Algorytmy warunkowe

•Algorytmy iteracyjne

Jeśli problem jest trudny bądź złożony, stosuje się metodę programowania

zwaną projektowaniem zstępującym – ang. Top-down design. Polega ona

na podziale problemu na kroki będące podproblemami

101