Professional Documents
Culture Documents
Wykład 1
Wykład 1
Wykład 1
Wykład 1
Pojęcia wstępne
Pojęcie algorytmu
Algorytmem jest pewna ściśle określona procedura
obliczeniowa, która
dla właściwych danych wejściowych
„produkuje” żądane dane wyjściowe
zwane wynikiem działania
algorytmu .
Pojęcie algorytmu
Algorytmem jest pewna ściśle określona procedura
obliczeniowa, która
dla właściwych danych wejściowych
„produkuje” żądane dane wyjściowe
zwane wynikiem działania
algorytmu .
1 2 3
Algorytmy muszą wykorzystywać w swoich
działaniach wyłącznie elementarne operacje, które mogą
być wykonane w sposób jednoznaczny, np.
dla algorytmów obliczeniowych
operacje arytmetyczne: +, -, *, /
operatory porównywania: <,>,#,=,≥ ,≤
operatory logiczne: ˄,˅
funkcje matematyczne: sin, log, pierwisatek
Algorytmy muszą wykorzystywać w swoich
działaniach wyłącznie elementarne operacje, które mogą
być wykonane w sposób jednoznaczny, np.
dla algorytmów sortowania
Cechy algorytmu informatycznego:
Cechy algorytmu informatycznego:
Lista wejścia
Przykład:
a, b, c
Lista wyjścia
Przykład:
pole, obwód
Lista wyjścia
Przykład:
Lista wyjścia
Przykład:
a*b, 2*a+2*b
Operacja
Przykład:
delta:= b2-4*a*c
Operacja
Przykład:
Operacja
Przykład:
Tak Warunek
Nie
Instrukcja 1 Instrukcja 2
Strukturogramy zwarte NS
Blok DECYZYJNY
- zawiera pytanie i wybór jednej z dwóch możliwych instrukcji
Tak Warunek
Nie
Instrukcja 1 Instrukcja 2
Przykład:
Tak a>b
Nie
max:= a max:= b
Oblicza wartość maksimum z dwóch zmiennych: a, b
Strukturogramy zwarte NS
Blok DECYZYJNY
Przykład:
Tak a>b
Nie
fun1:=a*b-3 fun1:=3*b+2+a
fun2:=a+b-a/b fun2:=a+b
fun3:=1
fun3
fun1, fun2
Strukturogramy zwarte NS
Blok DECYZYJNY
Przykład:
Tak a>b Nie
Min:= b Min:= a
Max:= a Max:= b
Min, Max
Strukturogramy zwarte NS
suma:= 0
i := 1, 100, 1
suma := suma+ i
suma
Strukturogramy zwarte NS
suma:= 0
i := 1, 100
suma := suma+ i
suma
Strukturogramy zwarte NS
suma, iloczyn
Strukturogramy zwarte NS
warunek
warunek
licznik <= 10
liczba
suma:= suma + liczba
licznik:= licznik + 1
Strukturogramy zwarte NS
warunek
Strukturogramy zwarte NS
warunek
liczba
suma:= suma+ liczba
licznik:= licznik + 1
licznik > 10
Strukturogramy zwarte NS
licznik:= 0
suma:= 0
liczba
suma:= suma+ liczba
licznik:= licznik + 1
licznik > 10
Strukturogramy zwarte NS
Przykład pętli typu: POWTARZAJ
n
licznik:= 0
suma:= 0
liczba
suma:= suma+ liczba
licznik:= licznik + 1
licznik > n
n, suma
Typy algorytmów
q iteracyjny (pętla).
Typ: liniowy (sekwencyjny):
Blok STARTOWY
Start
Blok KOŃCOWY
Koniec
Lista wejścia
Przykład:
a,b,c
Lista wyjścia
Przykład:
pole, obwód
Lista wyjścia
Przykład:
a*b, 2*a+2*b
Operacja
Przykład:
delta:= b2-4*a*c
Tak warunek
Nie
: Instrukcje_1 Instrukcje_2
. . . . . . .
Instrukcje wspólne
Schematy blokowe zorientowane
Blok DECYZYJNY
Przykład:
Tak Nie
a>b
: Min:=b Min:=a
Max:=a Max:=b
Schematy blokowe zorientowane
Instrukcje 1
Instrukcje dalsze
Schematy blokowe zorientowane
Przykład pętli typu: DLA
Suma:=0
i:=1,100,2
Suma:=suma+i
Instrukcje dalsze
Schematy blokowe zorientowane
Blok pętli typu: DOPÓKI ( WHILE )
Nie
warunek
Tak
Blok pętli
Dalsze operacje
Schematy blokowe zorientowane
Blok pętli
Nie
warunek
Tak
Przykłady różnych form zapisu
TEGO SAMEGO
algorytmu
Zagadnienie:
Problem: Oblicz wartość funkcji:
x
f(x) = -----
|x|
Dane: dowolna liczba rzeczywista x
Wynik: wartość funkcji f(x) określona jest wzorem:
-1 dla x < 0
f(x) = 0 dla x = 0
1 dla x > 0
Opis słowny
x
Schemat zwarty:
x
x <0
Tak Nie
Schemat zwarty:
x
x <0
Tak Nie
-1
Schemat zwarty:
x
x <0
Tak Nie
-1 Tak x=0 Nie
Schemat zwarty:
x
x <0
Tak Nie
-1 Tak x=0 Nie
0
Schemat zwarty:
x
x <0
Tak Nie
-1 Tak x=0 Nie
0 1
Schemat blokowy
start
Schemat blokowy
start
X
Schemat blokowy
start
Tak Nie
X<0
Schemat blokowy
start
Tak Nie
X<0
-1
koniec
Schemat blokowy
start
Tak Nie
X<0
-1 Tak Nie
X=0
koniec
Schemat blokowy
start
Tak Nie
X<0
-1 Tak Nie
X=0
koniec 0
koniec
Schemat blokowy
start
Tak Nie
X<0
-1 Tak Nie
X=0
koniec 0 1
koniec koniec
Zapis w pseudokodzie :
Funkcja f(x)
początek
wczytanie x
jeżeli x>0 to pisz (1)
w przeciwnym razie
jeżeli x=0 to pisz(0)
w przeciwnym razie pisz(-1)
koniec
Program w języku Turbo Pascal
PROGRAM funkcja;
VAR x: Real;
BEGIN
READ (x);
IF x>0 THEN WRITE(1)
ELSE IF x=0 THEN WRITE(0)
ELSE WRITE(-1);
END.
Koniec