background image

 

 

Katedra Konstrukcji i Eksploatacji 

Katedra Konstrukcji i Eksploatacji 

Maszyn

Maszyn

PROGRAMOWANIE

PROGRAMOWANIE

Komputerowe Wspomaganie 

Komputerowe Wspomaganie 

Projektowania

Projektowania

background image

 

 

Komputerowe Wspomaganie 

Komputerowe Wspomaganie 

Projektowania

Projektowania

Algorytmy + Struktury Danych = Programy

Algorytmy + Struktury Danych = Programy

*

*

Algorytmy + Struktury Danych = Programy

Algorytmy + Struktury Danych = Programy

*

*

*

 Nikolas Wirth – twórca języka PASCAL

Program to sformalizowany zapis algorytmu w rygorze 

składni języka programowania.

Programowanie liniowe:

Programowanie liniowe:

Programowanie strukturalne:

Programowanie strukturalne:

START

START

KONIEC

KONIEC

Instrukcja

Instrukcja

Instrukcja

Instrukcja

Instrukcja

Instrukcja

Instrukcja

Instrukcja

START

START

KONIEC

KONIEC

Blok Instrukcji

Blok Instrukcji

Blok Instrukcji

Blok Instrukcji

Blok Instrukcji

Blok Instrukcji

Blok Instrukcji

Blok Instrukcji

background image

 

 

Algorytm

 jest to sposób postępowania, który ma prowadzić w sposób 

automatyczny do rozwiązania określonego zadania.

Zakłada się, że pewne instrukcje tego sposobu postępowania są wykonywalne,

tzn. że są one zdefiniowane i nazywają się 

instrukcjami pierwotnymi

.

Dziedzina algorytmiczna

 to zbiór obiektów wraz z instrukcjami pierwotnymi 

i relacjami pomiędzy elementami zbioru.  

m

n

r

r

f

f

A

,...

,

,...

,

1

1

A – zbiór niepusty,
f

1

..f

n

 – funkcje określone dla argumentów ze zbioru A,

r

1

..r

n

 – relacje zachodzące między elementami zbioru A

Komputerowe Wspomaganie 

Komputerowe Wspomaganie 

Projektowania

Projektowania

background image

 

 

,

mod,

,

,*,

,

,

div

Z

Komputerowe Wspomaganie 

Komputerowe Wspomaganie 

Projektowania

Projektowania

Dziedzina liczb całkowitych:

10 + 3 = 13
10 – 3 = 7
10 * 3 = 30
10 div 3 = 3
10 mod 3 = 1
10 = 3 : fałsz
3 < 10 : 
prawda

background image

 

 

Komputerowe Wspomaganie 

Komputerowe Wspomaganie 

Projektowania

Projektowania

Język maszynowy

...01100100111011...

Język naturalny

...niech mi Pan nie przerywa, Panie...

Język niskiego poziomu

Język niskiego poziomu

Język wysokiego poziomu

Język wysokiego poziomu

Języki programowania

background image

 

 

Komputerowe Wspomaganie 

Komputerowe Wspomaganie 

Projektowania

Projektowania

Proste typy zmiennych:

Zmienne alfanumeryczne

Zmienne alfanumeryczne

Znaki

(char)

Znaki

(char)

Łańcuchy

(string)

Łańcuchy

(string)

Zmienne numeryczne

Zmienne numeryczne

Całkowite

(integer)

Całkowite

(integer)

Rzeczywiste

(real)

Rzeczywiste

(real)

X

X

Identyfikat

or

zmiennej

Identyfikat

or

zmiennej

Wartość

zmiennej

Wartość

zmiennej

X równa się 
5

X

5

Zmienne logiczne

Zmienne logiczne

Prawda

(true)

Prawda

(true)

Fałsz

(false)

Fałsz

(false)

background image

 

 

Komputerowe Wspomaganie 

Komputerowe Wspomaganie 

Projektowania

Projektowania

Stałe:

Stałe liczbowe

Stałe liczbowe

Dziedzina Liczb 

Całkowitych:

-12, 3, 12345, 0

Dziedzina Liczb 

Całkowitych:

-12, 3, 12345, 0

Dziedzina Liczb 

Rzeczywistych:

1.23, -0.345, 234.5

Dziedzina Liczb 

Rzeczywistych:

1.23, -0.345, 234.5

Stałe logiczne

Stałe logiczne

Prawda

True, T, 1

Prawda

True, T, 1

Fałsz

False, Nil, 0

Fałsz

False, Nil, 0

Inne

Inne

np. PI

3.14...

np. PI

3.14...

background image

 

 

Komputerowe Wspomaganie 

Komputerowe Wspomaganie 

Projektowania

Projektowania

Operatory:

Operatory arytmetyczne:

Operatory arytmetyczne:

suma

różnica

iloczyn

iloraz

div

iloraz całkowity 

mod

: reszta z 

dzielenia

suma

różnica

iloczyn

iloraz

div

iloraz całkowity 

mod

: reszta z 

dzielenia

równe

<> 

różne (/=)

większe

mniejsze

>= 

większe-równe

<= 

mniejsze-

równe

równe

<> 

różne (/=)

większe

mniejsze

>= 

większe-równe

<= 

mniejsze-

równe

Operatory relacji:

Operatory relacji:

Operatory logiczne:

Operatory logiczne:

AND 

koniunkcja

OR 

alternatywa 

NOT

negacja

AND 

koniunkcja

OR 

alternatywa 

NOT

negacja

AND

Prawda

Fałsz

Fałsz

Fałsz

Fałsz

Fałsz

Prawda

Prawda

Prawda

OR

Prawda

Fałsz

Prawda

Fałsz

Fałsz

Fałsz

Prawda

Prawda

Prawda

NOT

Prawda

Fałsz

Fałsz

Prawda

background image

 

 

X równa się 
5

X

5

Komputerowe Wspomaganie 

Komputerowe Wspomaganie 

Projektowania

Projektowania

Instrukcja przypisania:

Formalna postać instrukcji przypisanie związana jest ze składnią

konkretnego języka programowania:

X := 5

X := 5

(setq X 5)

(setq X 5)

X = 5

X = 5

background image

 

 

Komputerowe Wspomaganie 

Komputerowe Wspomaganie 

Projektowania

Projektowania

Instrukcja warunkowa:

Instrukcja 1

Instrukcja 1

Instrukcja 2

Instrukcja 2

Warunek

Warunek

Fałsz

Prawda

Pętla z warunkiem na początku:

Pętla z warunkiem na końcu:

Warunek może mieć postać:
- zmiennej logicznej posiadającej 
  wartość prawda lub fałsz
- relacji o wartość prawda lub fałsz

Instrukcja

Instrukcja

Warunek

Warunek

Fałsz

Prawda

Blok instrukcji

Blok instrukcji

Instrukcja

Instrukcja

Warunek

Warunek

Fałsz

P

ra

w

d

a

Blok instrukcji

Blok instrukcji

background image

 

 

Komputerowe Wspomaganie 

Komputerowe Wspomaganie 

Projektowania

Projektowania

Programowanie Strukturalne: Funkcja Użytkownika

Pole okręgu o promieniu R wynosi *R*R

2

R

F

funkcja PoleOkreguargument R

wynik = *R*R

koniec

funkcja PoleOkreguargument R

wynik = *R*R

koniec

...
X = PoleOkregu 5
Y = PoleOkregu 10
P = Y - X

...
X = PoleOkregu 5
Y = PoleOkregu 10
P = Y - X

Argument

Argument

formalny

formalny

Argument

aktualny

Argument

aktualny

...
function PoleOkregu(R:real):real;
begin
   result:=PI*R*R
end;
...
X:=PoleOkregu(5);
Y:=PoleOkregu(10);
P:=Y-X;
...

...
function PoleOkregu(R:real):real;
begin
   result:=PI*R*R
end;
...
X:=PoleOkregu(5);
Y:=PoleOkregu(10);
P:=Y-X;
...

background image

 

 

Komputerowe Wspomaganie 

Komputerowe Wspomaganie 

Projektowania

Projektowania

Programowanie metodą „Step Down”:

od ogółu do szczegółu

R

w

R

z

Problem: Napisać program obliczający pole fragmentu 
pierścienia kołowego na podstawie danych R

z

, R

w

 i  

uzyskanych od użytkownika.

Start Programu
  rz = Pytanie „Podaj promień R

z

  rw = Pytanie „Podaj promień R

w

  alfa = Pytanie „Podaj kąt [º]”
  alfa = Radian alfa
  f1 = PoleWycinka rz alfa
  f2 = PoleWycinka rw alfa
  wynik = f1 – f2
Koniec Programu

Start Programu
  rz = 

Pytanie

 

„Podaj promień R

z

  rw = 

Pytanie

 

„Podaj promień R

w

  alfa = 

Pytanie

 

„Podaj kąt [º]”

  alfa = 

Radian

 

alfa

  f1 = 

PoleWycinka

 

rz alfa

  f2 = 

PoleWycinka

 

rw alfa

  wynik = f1 – f2
Koniec Programu

funkcja 

Radian

 argument 

deg

  wynik = deg * PI / 180
koniec


Document Outline