ZAAWANSOWANE METODY 1 10 11

background image

5.06.21

1

Zaawansowane metody

Zaawansowane metody

programowania w

programowania w

zastosowaniach inżynierskich

zastosowaniach inżynierskich

Programowanie – zagadnienia ogólne: podejście

Programowanie – zagadnienia ogólne: podejście

algorytmiczne, deklaratywne i obiektowe

algorytmiczne, deklaratywne i obiektowe

Prof. dr hab. inż. Jerzy Pokojski
Wydział SiMR PW
Studia dzienne, inżynierskie,
semestr VII
Wykład 1 i 2

background image

5.06.21

2

Plan

Plan

geneza i podstawowe koncepcje
podejścia algorytmicznego

geneza i podstawowe koncepcje
podejścia deklaratywnego,

podejście obiektowe – podstawy.

background image

5.06.21

3

Podejście algorytmiczne

Podejście algorytmiczne

background image

5.06.21

4

Podejście algorytmiczne

Podejście algorytmiczne

Aspekt historyczny
-

John von Neumann (matematyk działający w USA)

zaproponował w latach 40-tych XX wieku aby komputer
sekwencyjnie wykonywał kolejno, zapisane w jego pamięci,
rozkazy. Sekwencję rozkazów należy wcześniej wprowadzić do
pamięci komputera. Sekwencje rozkazów są tworzone
stosownie do rozwiązywanych zadań. Sekwencje rozkazów
nazwano programami. Programy mogą być zapisywane i
składowane na odpowiednich nośnikach. Programy mogą być
wielokrotnie uruchamiane na komputerze. Komputer może
wykonywać, w zależności od potrzeb, różne programy.

background image

5.06.21

5

Podejście algorytmiczne

Podejście algorytmiczne

Aspekt historyczny

- John von Neumann - okoliczności zajęcia się zagadnieniami
komputerowymi.

- metody rozwiązywania problemów matematycznych przed
pojawieniem się komputerów.

- przemysł XIX i XX wieczny – stosowane modele i metody ich
badania.

background image

5.06.21

6

Podejście algorytmiczne

Podejście algorytmiczne

Koncepcja

Komputer może wykonywać, w zależności od potrzeb, różne
programy.
-         sekwencje rozkazów tworzą dany program.
- języki algorytmiczne programowania to fortran, algol,
pascal, c, ...

background image

5.06.21

7

Podejście algorytmiczne

Podejście algorytmiczne

Koncepcja
-

systemy komputerowe, rozumiane jako sprzęt komputerowy i

oprogramowanie, mogą wykonywać różne zadania w realnym
świecie,
-         występuje duża różnorodność zarówno sprzętu
komputerowego jak i oprogramowania,
       

background image

5.06.21

8

Podejście algorytmiczne

Podejście algorytmiczne

Koncepcja
-

oprogramowanie – program komputerowy jest ciągiem instrukcji

wykonywanych kolejno przez komputer,
-         program jest to także pewna metoda rozwiązania problemu,
pewien szczegółowy przepis postępowania mający na celu uzyskanie
rozwiązania określonej jakości; przepis ten często przyjmuje formę
planu zapisanego na określonym poziomie szczegółowości;
twórcami programów mogą być zarówno programiści jak i
użytkownicy,

background image

5.06.21

9

Podejście algorytmiczne

Podejście algorytmiczne

Koncepcja
-

plan rozwiązania problemu często nazywany jest algorytmem,

-         algorytm może być przedstawiany za pomocą szeregu
podejść; jednym z bardziej popularnych są schematy blokowe,
gdzie poszczególnym krokom algorytmu odpowiadają ściśle
sprecyzowane figury geometryczne; inny sposób to posługiwanie
się tzw. pseudokodem czyli instrukcjami, które oddają sens
wykonywanych działań, są wyrażane w języku polskim, ale w tej
postaci nie występują w żadnym języku programowania,
-         generalnie opisy obiektów występujących w algorytmie
nazywamy deklaracjami, opisy czynności instrukcjami.

background image

5.06.21

10

Podejście algorytmiczne

Podejście algorytmiczne

- przykład

- przykład

background image

5.06.21

11

 

 
 
 

 
 
 

 
 
 

problem:
 
program na liczenie średniej arytmetycznej ( średnia ocen)
chcemy żeby program liczył średnią ocen ucznia z danego przedmiotu
wstawienie ujemnej oceny ma przerwać wprowadzanie danych i wyprowadzić
wynik
 
 
 
-         przykład zostanie przedstawiony w postaci schematu blokowego;
równocześnie będzie pokazywane okno ze stanem ekranu komputera, stanem
pamięci poszczególnych komórek (zmiennych), komentarzem w danej chwili
wykonywania algorytmu.
 

background image

5.06.21

12

 

 
 
 

 
 
 

 
 
 

początek

Wydruk:
ocena ?

Wczytanie:
ocena

suma = 0
ilosc = 0

Jeżeli
ocena > 0

tak

nie

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Schemat
blokowy

background image

5.06.21

13

 

 
 
 

 
 
 

 
 
 

Wydruk:
ocena ?

Wczytanie:
ocena

suma = 0
ilosc = 0

Jeżeli
ocena > 0

tak

nie

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Wczytanie:
ocena

Schemat
blokowy

background image

5.06.21

14

 

 
 
 

 
 
 

 
 
 

początek

Wydruk:
ocena ?

Wczytanie:
ocena

suma = 0
ilosc = 0

Jeżeli
ocena > 0

tak

nie

Ekran

ocen
a

sum
a

ilosc

sredn
ia

Komentar
z

Uruchomienie
programu.

Zmienne

background image

5.06.21

15

 

 
 
 

 
 
 

 
 
 

początek

Wydruk:
ocena ?

Wczytanie:
ocena

suma = 0
ilosc = 0

Jeżeli
ocena > 0

tak

nie

Ekran

ocena

ocen
a

sum
a

ilosc

sredn
ia

Komentar
z

Wydruk na ekranie
tekstu „ocena”.

Zmienne

background image

5.06.21

16

 

 
 
 

 
 
 

 
 
 

początek

Wydruk:
ocena ?

Wczytanie:
ocena

suma = 0
ilosc = 0

Jeżeli
ocena > 0

tak

nie

Ekran

ocena 5

ocen
a

sum
a

ilosc

sredn
ia

Komentar
z

Wczytanie wartości
zmiennej ocena z
klawiatury i
wpisanie w pole
zmiennej ocena.

5

Zmienne

background image

5.06.21

17

 

 
 
 

 
 
 

 
 
 

początek

Wydruk:
ocena ?

Wczytanie:
ocena

suma = 0
ilosc = 0

Jeżeli
ocena > 0

tak

nie

Ekran

ocena 5

ocen
a

sum
a

ilosc

sredn
ia

Komentar
z

Nadanie wartości
zerowych
zmiennym suma i
ilosc.

5

0

0

Zmienne

background image

5.06.21

18

 

 
 
 

 
 
 

 
 
 

początek

Wydruk:
ocena ?

Wczytanie:
ocena

suma = 0
ilosc = 0

Jeżeli
ocena > 0

tak

nie

suma = suma + ocena

srednia = suma / ilosc

Ekran

ocena 5

ocen
a

sum
a

ilosc

sredni
a

Komentar
z

Zbadanie czy
zawartość zmiennej
ocena jest większa
od 0. Ponieważ
wynosi ona 5
nastąpi przejście w
kierunku „tak”.

5

0

0

Zmienne

background image

5.06.21

19

 

 
 
 

 
 
 

 
 
 

Jeżeli
ocena > 0

tak

nie

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Wczytanie:
ocena

Ekran

ocena 5

ocen
a

sum
a

ilosc

sredn
ia

Komentar
z

Do aktualnej
zawartości
komórki suma
(poprzedni slajd -
wynosi 0)
dodajemy
zawartość komórki
ocena. Wynikiem
dodawania jest 5.
Wynik jest
zapisany w
komórce suma.

5

5

0

Zmienne

background image

5.06.21

20

 

 
 
 

 
 
 

 
 
 

Jeżeli
ocena > 0

tak

nie

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Wczytanie:
ocena

Ekran

ocena 5

ocen
a

sum
a

ilosc

sredn
ia

Komentar
z

Do aktualnej
zawartości
komórki ilosc
(poprzedni slajd –
wynosi 0)
dodawana jest
liczba 1. Wynik
jest zapisany w
komórce ilosc.

5

5

1

Zmienne

background image

5.06.21

21

 

 
 
 

 
 
 

 
 
 

Jeżeli
ocena > 0

tak

nie

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Wczytanie:
ocena

Ekran

ocena

ocen
a

sum
a

ilosc

sredn
ia

Komentar
z

Wydruk na
ekranie napisu
„ocena”.

5

5

1

Zmienne

background image

5.06.21

22

 

 
 
 

 
 
 

 
 
 

Jeżeli
ocena > 0

tak

nie

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Wczytanie:
ocena

Ekran

ocena 3

ocen
a

sum
a

ilosc

sredn
ia

Komentar
z

Wczytanie kolejnej
wartości do
zmiennej ocena,
jest nią liczba 3.

3

5

1

Zmienne

background image

5.06.21

23

 

 
 
 

 
 
 

 
 
 

Jeżeli
ocena > 0

tak

nie

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Wczytanie:
ocena

Ekran

ocena 3

ocen
a

sum
a

ilosc

sredn
ia

Komentar
z

Zbadanie czy
zawartość
zmiennej ocena
jest większa od 0.
Wynosi 3 , jest
większa od 0,
zatem dalej
przetwarzanie
nastąpi w kierunku
„tak”

3

5

1

Zmienne

background image

5.06.21

24

 

 
 
 

 
 
 

 
 
 

Jeżeli
ocena > 0

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Wczytanie:
ocena

Ekran

ocena 3

ocen
a

sum
a

ilosc

sredn
ia

Komentar
z

Do aktualnej
zawartości
komórki suma
(poprzedni slajd –
wynosi 5) dodana
jest zawartość
komórki ocena
wynosząca 3.
Wynik wynosi 8 i
jest zapisany w
komórce suma

3

8

1

Zmienne

background image

5.06.21

25

 

 
 
 

 
 
 

 
 
 

Jeżeli
ocena > 0

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Wczytanie:
ocena

Ekran

ocena 3

ocen
a

suma

ilosc

sredni
a

Komentarz

Do aktualnej
zawartości komórki
ilosc (poprzedni
slajd – wynosi 1)
dodana jest liczba
1. Wynik wynosi 2 i
jest zapisany w
komórce ilosc.

3

8

2

Zmienne

background image

5.06.21

26

 

 
 
 

 
 
 

 
 
 

Jeżeli
ocena > 0

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Wczytanie:
ocena

Ekran

ocena

ocen
a

suma

ilosc

sredni
a

Komentarz

Na ekranie pojawia
się napis „ocena”.

3

8

2

Zmienne

background image

5.06.21

27

 

 
 
 

 
 
 

 
 
 

Jeżeli
ocena > 0

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Wczytanie:
ocena

Ekran

ocena -1

ocen
a

sum
a

ilosc

sredni
a

Komentar
z

Wczytanie nowej
zawartości komórki
ocena, liczby –1.

-1

8

2

Zmienne

background image

5.06.21

28

 

 
 
 

 
 
 

 
 
 

Jeżeli
ocena > 0

tak

nie

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Wczytanie:
ocena

Ekran

ocena -1

ocen
a

sum
a

ilosc

sredn
ia

Komentar
z

Sprawdzenie czy
zawartość
komórki ocena
jest większa od 0.
Wynosi ona –1 i
nie jest ona
większa od 0.
Następuje
przejście w
kierunku „nie”.

-1

8

2

Zmienne

background image

5.06.21

29

 

 
 
 

 
 
 

 
 
 

Wczytanie:
ocena

suma = 0
ilosc = 0

Jeżeli
ocena > 0

nie

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Ekran

ocena -1

ocen
a

sum
a

ilosc

sredn
ia

Komentar
z

Odbywa się
obliczenie
ilorazu :
zawartość
komórki suma
jest dzielona
przez zawartość
komórki ilosc.
Wynik dzielenia
wynosi 4 i jest
zapisany w
komórce srednia.

-1

8

2

4

Zmienne

background image

5.06.21

30

 

 
 
 

 
 
 

 
 
 

Wczytanie:
ocena

suma = 0
ilosc = 0

Jeżeli
ocena > 0

nie

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Ekran

4

oce
na

sum
a

ilosc

sredn
ia

Komenta
rz

Na ekranie
drukowana jest
zawartość
komórki srednia
czyli liczba 4.

-1

8

2

4

Zmienne

background image

5.06.21

31

 

 
 
 

 
 
 

 
 
 

Wczytanie:
ocena

suma = 0
ilosc = 0

Jeżeli
ocena > 0

nie

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Ekran

4

ocen
a

sum
a

ilosc

sredn
ia

Komentar
z

Koniec pracy
programu

-1

8

2

4

Zmienne

background image

5.06.21

32

 

 
 
 

 
 
 

 
 
 

początek

Wydruk:
ocena ?

Wczytanie:
ocena

suma = 0
ilosc = 0

Jeżeli
ocena > 0

tak

nie

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Schemat

blokowy

background image

5.06.21

33

 

 
 
 

 
 
 

 
 
 

Wydruk:
ocena ?

Wczytanie:
ocena

suma = 0
ilosc = 0

Jeżeli
ocena > 0

tak

nie

suma = suma + ocena

ilosc = ilosc + 1

srednia = suma / ilosc

Wydruk:
srednia

Koniec

Wydruk:
ocena ?

Wczytanie:
ocena

Schemat

blokowy

background image

5.06.21

34

 

 
 
 

 
 
 

 
 
 

 
 
 
-

        

 

   zmienne: ocena, suma, ilosc, srednia

 
-             wydrukuj napis „podaj ocenę”
 
-             wczytaj zmienną: ocena
 
-              suma =0
 
-             ilosc = 0
 
-         A : jeżeli ( ocena większa od zera ) to
 
-         suma = suma +ocena
 
-         ilosc = ilosc +1
 
-         wydrukuj: „Podaj ocenę:”
 
-         wczytaj ocena
 
-         skocz do A
 
-                 w przeciwnym razie
 
-         srednia = suma / ilosc
 
-         wydrukuj „Srednia:” srednia

 
-

        

koniec

 
 

Pseudokod

background image

5.06.21

35

 

 
 
 

 
 
 

 
 
 

 
 
 
-

        

 

 

  zmienne: ocena, suma, ilosc, srednia

 
-             wydrukuj napis „podaj ocenę”
 
-             wczytaj zmienną: ocena
 
-              suma =0
 
-             ilosc = 0
 
-         A : jeżeli ( ocena większa od zera ) to
 
-         suma = suma +ocena
 
-         ilosc = ilosc +1
 
-         wydrukuj: „Podaj ocenę:”
 
-         wczytaj ocena
 
-         skocz do A
 
-                 w przeciwnym razie
 
-         srednia = suma / ilosc
 
-         wydrukuj „Srednia:” srednia

 
-

        

koniec

 
 

Pseudokod

- deklaracje

background image

5.06.21

36

 

 
 
 

 
 
 

 
 
 

 
 
 
-

        

 

   zmienne: ocena, suma, ilosc, srednia

 
-            

 wydrukuj napis „podaj ocenę”

 
-             wczytaj zmienną: ocena
 
-              suma =0
 
-             ilosc = 0
 
-         A : jeżeli ( ocena większa od zera ) to
 
-         suma = suma +ocena
 
-         ilosc = ilosc +1
 
-         wydrukuj: „Podaj ocenę:”
 
-         wczytaj ocena
 
-         skocz do A
 
-                 w przeciwnym razie
 
-         srednia = suma / ilosc
 
-         wydrukuj „Srednia:” srednia

 
-

        

koniec

 
 

Pseudokod

- część
wykonawcza

background image

5.06.21

37

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- rozwiązanie problemu

- rozwiązanie problemu

problem

rozwiązanie
problemu

implementacja

background image

5.06.21

38

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- etapy rozwiązania

- etapy rozwiązania

problemu

problemu

rozwiązanie problemu:

- specyfikacja problemu

- budowa algorytmu

- testowanie ręczne algorytmu

implementacja:

- kodowanie

- testowanie kodu

background image

5.06.21

39

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- typy danych

- typy danych

-identyfikatory (nazwy
zmiennych, funkcji,...)

-typ całkowity, rzeczywisty,
znakowy,..

background image

5.06.21

40

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- operatory

- operatory

arytmetyczne

arytmetyczne

- +, -, *, ...

background image

5.06.21

41

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- operatory logiczne i

- operatory logiczne i

relacyjne

relacyjne

->, <, ...
- i, lub, ...

background image

5.06.21

42

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- sterowanie –

- sterowanie –

instrukcja warunkowa)

instrukcja warunkowa)

Jeżeli ( wyrażenie ) to

akcja_1

w przeciwnym razie

akcja _2

background image

5.06.21

43

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- sterowanie (pętla)

- sterowanie (pętla)

wykonuj dopóki ( wyrażenie )

akcja

background image

5.06.21

44

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- sterowanie (pętla)

- sterowanie (pętla)

wykonuj

akcja

dopóki (wyrażenie)

background image

5.06.21

45

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- sterowanie (pętla)

- sterowanie (pętla)

wykonuj od i = 1 do i = N

akcja

background image

5.06.21

46

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- procedury, funkcje

- procedury, funkcje

background image

5.06.21

47

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- operacje

- operacje

wejścia/wyjścia

wejścia/wyjścia

background image

5.06.21

48

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- przykład

- przykład

background image

5.06.21

49

 

 
 
 

 
 
 

 
 
 

background image

5.06.21

50

 

 
 
 

 
 
 

 
 
 

 

 
Przykład         
zadanie przykładowe:
 
- dana jest krzywa y = x*x
 
 
 
 
 
 
 
 
 
 
 
 
 
 
-         chcemy policzyć pole powierzchni pod krzywą
-         prostokąt elementarny: dx * y
-         x się zmienia:
-                                             x = xpocz
-                                             x = xpocz +dx
-                                             x = xpocz +dx +dx
-                                             x = xpocz +dx + dx +dx
P

dx

background image

5.06.21

51

 

 
 
 

 
 
 

 
 
 

początek

Wczyt
aj
xpocz,
xkon,
dx

x = xpocz
pole = 0

x = x +dx

x
>xko
n

Wydruk:
pole

Koniec

pole_p. = dx * (x * x)

pole = pole + pole_p

tak

nie

background image

5.06.21

52

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- budowa

- budowa

kompleksowych

kompleksowych

programów

programów

- podział na moduły, hierarchia

background image

5.06.21

53

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- budowa

- budowa

kompleksowych

kompleksowych

programów

programów

Problem kompleksowy

Wczytanie Testowanie Obliczenia
Wizualizacja

danych danych
wyników

background image

5.06.21

54

 

 
 
 

 
 
 

 
 
 

Podejście algorytmiczne

Podejście algorytmiczne

- budowa

- budowa

kompleksowych

kompleksowych

programów

programów

Program - całość

Moduł Moduł Moduł Moduł

wczytania testowania obliczania
wizualizacji

danych danych
wyników

background image

5.06.21

55

 

 
 
 

 
 
 

 
 
 

Przykład

Przykład

kompleksowego

kompleksowego

programu

programu

- aplikacja wspomagająca proces
projektowania schodów spiralnych

background image

5.06.21

56

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

background image

5.06.21

57

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

- pokaz aplikacji systemów doradczych.

background image

5.06.21

58

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

Zapis wiedzy:

- reguły :

jeżeli ( przesłanka) to

konkluzja

background image

5.06.21

59

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

Zapis wiedzy:

- reguły – setki, tysiące

background image

5.06.21

60

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

background image

5.06.21

61

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

- przykład

- przykład

BAZA WIEDZY

BAZA WIEDZY

1) Jeżeli < różnica średnic dwóch sąsiednich stopni wału jest
większa od 20 mm>

to < rośnie karb>

2) Jeżeli < rośnie karb >

to < maleje wytrzymałość zmęczeniowa >

3) Jeżeli <maleje wytrzymałość zmęczeniowa >

to < wał może cechować się mniejszą trwałością >

4) Jeżeli <rośnie karb>

to <można go zmniejszyć >

 

background image

5.06.21

62

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

- przykład

- przykład

LISTA FAKTÓW

Fakt1 < różnica średnic dwóch sąsiednich stopni wału jest
większa od 20 mm>

 

background image

5.06.21

63

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

- przykład

- przykład

AGENDA

Reguła nr 1

 

background image

5.06.21

64

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

- przykład

- przykład

LISTA FAKTÓW

Fakt1 < różnica średnic dwóch sąsiednich stopni wału jest
większa od 20 mm>

Fakt2 < rośnie karb>

 

background image

5.06.21

65

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

- przykład

- przykład

AGENDA

Reguła nr 2, Reguła nr 4

 

background image

5.06.21

66

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

- przykład

- przykład

LISTA FAKTÓW

Fakt1 < różnica średnic dwóch sąsiednich stopni wału jest
większa od 20 mm>

Fakt2 < rośnie karb>

Fakt3 < maleje wytrzymałość zmęczeniowa >

Fakt4 < można go zmniejszyć >

 

background image

5.06.21

67

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

- przykład

- przykład

AGENDA

Reguła nr 3

 

background image

5.06.21

68

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

- przykład

- przykład

LISTA FAKTÓW

Fakt1 < różnica średnic dwóch sąsiednich stopni wału jest
większa od 20 mm>

Fakt2 < rośnie karb>

Fakt3 < maleje wytrzymałość zmęczeniowa >

Fakt4 <można go zmniejszyć >

Fakt5 < wał może cechować się mniejszą trwałością >  

background image

5.06.21

69

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

background image

5.06.21

70

 

 
 
 

 
 
 

 
 
 

Podejście deklaratywne

Podejście deklaratywne

a proceduralne

a proceduralne

-różne problemy
-różny sposób tworzenia aplikacji
-różne narzędzia

background image

5.06.21

71

 

 
 
 

 
 
 

 
 
 

Przykład podejścia

Przykład podejścia

deklaratywnego

deklaratywnego

- generowanie w oparciu o wiedzę modelu
dynamicznego płynu w rurociągu

background image

5.06.21

72

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

background image

5.06.21

73

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

-geneza

-problemy z rozwojem i konserwacją

oprogramowania algorytmicznego

background image

5.06.21

74

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

-pojęcie klasy

background image

5.06.21

75

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- klasa:

- składniki : dane, metody

background image

5.06.21

76

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- np. klasa

samochód

:

- składniki:

kolor_samochodu String

pojemnosc_silnika Integer

cena ...

background image

5.06.21

77

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- np. klasa

samochod

:

- obiekty klasy samochod:

Fiat 126P

obiekt

klasy samochod

Składniki:

Kolor: bialy,

Pojemnosc: 650

Cena: 1500

Polonez 1500

obiekt klasy
samochod

Składniki:

Kolor: zielony,

Pojemnosc: 1500

Cena: 2500

background image

5.06.21

78

-klasa

korpus_skrzynki_przekladniowej

:

-

określenie rodzaju korpusu (jednolity a

dzielony),

- określenie wymiarów gabarytowych,

- określenie ciężaru korpusu,

- określenie rodzaju półfabrykatu,

- określenie rodzaju obróbki cieplnej,

- w przypadku półfabrykatów odlewanych –
określenie technologii form odlewniczych.

- przykład klasy:

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

background image

5.06.21

79

- przykład klasy:

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- klasa

Otwór

:

-

uwzględnienie: postaci otworu, rowków

walcowych, podcięć stożkowych, pogłębień
walcowych, i stożkowych, sfazowań krawędzi
otworu,

- uwzględnienie: parametru chropowatości
powierzchni, dokładność wymiarowa każdej
powierzchni

,

background image

5.06.21

80

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

Klasa

Klasa-i-

obiekt

-
notacja

background image

5.06.21

81

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- pojęcie klasy

- definicja wzorca zagregowanego obiektu
- opis złożonej struktury danych np. stopień
wału lub koło zębate, - duża liczba
parametrów różnych typów,

- możliwość uwzględnienia istotnych
aspektów np. opis geometryczny, pełnione
funkcje,

- przedmiotem opisu mogą być również
abstrakcje, zdarzenia, itp.,

- możliwość wielokrotnego wykorzystania
napisanego oprogramowania,

-

background image

5.06.21

82

ObWytaczanie

ObWytaczanieRowka

ObWytaczanieZgrubne

ObWytaczanieKsztaltujace

.......

UstalNaddatkiObrobkowe()

WytaczanieOtworu()

....

- przykład klasy

ObWytaczanie

Podejście obiektowe

Podejście obiektowe

- podstawowe koncepcje

- podstawowe koncepcje

background image

5.06.21

83

ObWytaczanie

ObWytaczanieRowka

ObWytaczanieZgrubne

ObWytaczanieKsztaltujace

.......

UstalNaddatkiObrobkowe()

WytaczanieOtworu()

....

- przykład klasy

ObWytaczanie

Atrybuty
klasy

Metody klasy

Podejście obiektowe

Podejście obiektowe

- podstawowe koncepcje

- podstawowe koncepcje

background image

5.06.21

84

ObWiercenie

ObNawiercanie

ObWiercenie

ObPowiercanie

.......

UstalNaddatkiObrobkowe()

Wiercenie()

....

- przykład klasy

ObWiercenie

Atrybuty
klasy

Metody klasy

Podejście obiektowe

Podejście obiektowe

- podstawowe koncepcje

- podstawowe koncepcje

background image

5.06.21

85

ObFrezowanie

ObFrezowanieRowka

ObFrezowanieZgrubne

ObFrezowanieKsztaltujace

.......

UstalNaddatkiObrobkowe()

FrezowanieRowka()

....

- przykład klasy

ObFrezowanie

Atrybuty
klasy

Metody klasy

Podejście obiektowe

Podejście obiektowe

- podstawowe koncepcje

- podstawowe koncepcje

background image

5.06.21

86

-zawartość metod:

reguły, procedury, bazy
danych

Podejście obiektowe

Podejście obiektowe

- podstawowe koncepcje

- podstawowe koncepcje

background image

5.06.21

87

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- klasa:

składniki :

dane, metody

background image

5.06.21

88

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- ukrywanie informacji

- np. informacja publiczna i
prywatna

background image

5.06.21

89

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- ukrywanie informacji

- składnik: dana lub metoda
prywatna lub publiczna

background image

5.06.21

90

W aplikacji występują:

- definicja klasy
- powołanie do życia obiektu
- dodatkowe czynności wykonywane przy
powołaniu do życia obiektu – specjalna
metoda: KONSTRUKTOR

- czas życia obiektu
- usuwanie obiektu ; specjalna metoda
DESTRUKTOR

Podejście obiektowe

Podejście obiektowe

- podstawowe koncepcje

- podstawowe koncepcje

background image

5.06.21

91

W aplikacji występują :

- definicja klasy

Podejście obiektowe

Podejście obiektowe

- podstawowe koncepcje

- podstawowe koncepcje

Początek definicji klasy

Nazwa klasy

.......................
Dane

.......................

.......................
Metody

.......................

Koniec definicji klasy

background image

5.06.21

92

W aplikacji występują :

- powołanie do życia obiektu

Podejście obiektowe

Podejście obiektowe

- podstawowe koncepcje

- podstawowe koncepcje

- powołanie do życia obiektu klasy
NAZWA_KLASY o nazwie NAZWA_OBIEKTU

background image

5.06.21

93

W aplikacji występują :

- dodatkowe czynności wykonywane przy
powołaniu do życia obiektu – specjalna
metoda: KONSTRUKTOR

Podejście obiektowe

Podejście obiektowe

- podstawowe koncepcje

- podstawowe koncepcje

- powołanie do życia obiektu klasy
NAZWA_KLASY o nazwie NAZWA_OBIEKTU
(DANE_POCZATKOWE)

background image

5.06.21

94

W aplikacji występują :

- czas życia obiektu

Podejście obiektowe

Podejście obiektowe

- podstawowe koncepcje

- podstawowe koncepcje

...

NAZWA_OBIEKTU. Dana

NAZWA_OBIEKTU.metoda()

...

....

...

background image

5.06.21

95

W aplikacji występują :

-usuwanie obiektu ; specjalna metoda
DESTRUKTOR

Podejście obiektowe

Podejście obiektowe

- podstawowe koncepcje

- podstawowe koncepcje

- automatycznie lub ręcznie

background image

5.06.21

96

Podsumowanie:

- duży udział pracy koncepcyjnej w
budowie modeli obiektowych,

Podejście obiektowe

Podejście obiektowe

- podstawowe koncepcje

- podstawowe koncepcje

background image

5.06.21

97

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- ukrywanie informacji

- np. informacja publiczna i
prywatna

background image

5.06.21

98

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- enkapsulacja

- np. klasa String

- pola ze znakami i z ilością
znaków

- metody do łączenia obiektów
klasy

String, itp..

background image

5.06.21

99

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- abstrakcyjne typy danych

background image

5.06.21

100

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- klient/serwer model

String s1

s1.nadaj_wartosc
(„poczatek”)

n = s1.policz_dlugosc()

background image

5.06.21

101

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- dziedziczenie

Window

MenuWindow EditWindow
DialogWindow

InfoDialog
QuestionDialog

background image

5.06.21

102

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

- podstawowe

- podstawowe

koncepcje

koncepcje

- polimorfizm

Window

MenuWindow EditWindow
DialogWindow

InfoDialog
QuestionDialog

- obiekt w, metody display()

background image

5.06.21

103

 

 
 
 

 
 
 

 
 
 

Podsumowanie

Podsumowanie

background image

5.06.21

104

 

 
 
 

 
 
 

 
 
 

Podejście obiektowe

Podejście obiektowe

a podejście

a podejście

proceduralne

proceduralne

Podejście obiektowe a

Podejście obiektowe a

podejście deklaratywne

podejście deklaratywne

background image

5.06.21

105

Podejście algorytmiczne

Podejście algorytmiczne

background image

5.06.21

106

Podejście algorytmiczne

Podejście algorytmiczne

- przetwarzanie

- przetwarzanie

wsadowe

wsadowe

czas

Dane
wejścio
we

Wynik
i

Akcje podejmowane
przez program

background image

5.06.21

107

Podejście algorytmiczne

Podejście algorytmiczne

- przetwarzanie

- przetwarzanie

wsadowe

wsadowe

czas

Dane
wejścio
we

Wynik
i

Poszczególne akcje
podejmowane przez
program

background image

5.06.21

108

Podejście algorytmiczne

Podejście algorytmiczne

- przetwarzanie

- przetwarzanie

interaktywne

interaktywne

czas

Dane
wejścio
we i
decyzje

Wynik
i

Akcje podejmowane
przez program

Dane
wejścio
we i
decyzje

Dane
wejścio
we i
decyzje

background image

5.06.21

109

Podejście algorytmiczne

Podejście algorytmiczne

- przetwarzanie

- przetwarzanie

interaktywne +

interaktywne +

elementy grafiki

elementy grafiki

czas

Dane
wejścio
we i
decyzje

Wynik
i

Dane
wejścio
we i
decyzje

Dane
wejścio
we i
decyzje

background image

5.06.21

110

Podejście algorytmiczne

Podejście algorytmiczne

- przetwarzanie

- przetwarzanie

interaktywne + elementy

interaktywne + elementy

grafiki interaktywnej

grafiki interaktywnej

czas

Dane
wejścio
we i
decyzje

Wynik
i

F1

F2

background image

5.06.21

111

Podejście algorytmiczne

Podejście algorytmiczne

- przetwarzanie

- przetwarzanie

interaktywne + elementy

interaktywne + elementy

grafiki interaktywnej

grafiki interaktywnej

czas

Dane
wejścio
we i
decyzje

Wynik
i

Mysz

Zdarze
nie
(które
pole)

MS
Windows

background image

5.06.21

112

Podejście algorytmiczne

Podejście algorytmiczne

- przetwarzanie

- przetwarzanie

interaktywne + elementy

interaktywne + elementy

grafiki interaktywnej

grafiki interaktywnej

czas

Dane
wejścio
we i
decyzje

Wynik
i

Mysz

MS
Windows

Zdarze
nie
(który
formula
rz,
które
pole)

background image

5.06.21

113

Podejście algorytmiczne

Podejście algorytmiczne

- przetwarzanie

- przetwarzanie

interaktywne + elementy

interaktywne + elementy

grafiki interaktywnej

grafiki interaktywnej

czas

Dane
wejścio
we i
decyzje

Wynik
i

Mysz

MS
Windows

Zdarze
nie
(który
formula
rz,
które
pole)

A obiekty ?

background image

5.06.21

114

Podejście algorytmiczne

Podejście algorytmiczne

- przetwarzanie

- przetwarzanie

interaktywne + elementy

interaktywne + elementy

grafiki interaktywnej

grafiki interaktywnej

czas

Dane
wejścio
we i
decyzje

Wynik
i

Mysz

MS
Windows

Zdarze
nie
(który
formula
rz,
które
pole)

background image

5.06.21

115

Podejście algorytmiczne

Podejście algorytmiczne

- przetwarzanie

- przetwarzanie

interaktywne + elementy

interaktywne + elementy

grafiki interaktywnej

grafiki interaktywnej

czas

Dane
wejścio
we i
decyzje

Wynik
i

Mysz

MS
Windows

Zdarze
nie
(który
formula
rz,
które
pole)

A reguły ?

background image

5.06.21

116

Podejście algorytmiczne

Podejście algorytmiczne

- przetwarzanie

- przetwarzanie

interaktywne + elementy

interaktywne + elementy

grafiki interaktywnej

grafiki interaktywnej

czas

Dane
wejścio
we i
decyzje

Wynik
i

Mysz

MS
Windows

Zdarze
nie
(który
formula
rz,
które
pole)

A reguły ?

Moduł
regułow
y


Document Outline


Wyszukiwarka

Podobne podstrony:
Metodyka 1,3,5 10,11
Metody pracy z dziećmi 10 11
pyt 10,11 , Podstawowa i całkowita przemiana materii, potrzeby energetyczne człowieka, metody pomiar
SiatkĂłwka- zagrania sytuacyjne 2002.10.11, Edukacja w Sporcie, Metodyka WF
Metody Pracy Hodowlanej 5 10 11
Zaawansowane metody udrażniania dród oddechowych
2004 10 11 prawdopodobie stwo i statystykaid 25166
Dietetyka wd9,10,11 Otyłość
Harmonogram 10 11 Lab MWNE
25 10 11
Zad 25 10 11, AGH Imir materiały mix, Studia
10.11.2010, prawo administracyjne ćwiczenia(2)
10.11.2009, semestr 1, makro i mikro ekonomia
MP 10-11 Z dz w0. Istota MP
test dla IIIr sem letni 10 11
Psychologia społeczna wykład$ 10 11
10,11,12
Kolokwium MzS I P 10 11
Anatomia 10 11 02

więcej podobnych podstron