Elementy programowania - Serwis Informacyjny WSJO

advertisement
Elementy programowania
Wyższa Szkoła Języków Obcych w
Poznaniu
mgr Monika Wachowska
1
Plan wykładu
•
•
•
•
•
•
•
•
Algorytmy
Instrukcje
Zapis algorytmu – schematy blokowe
Tablice
Języki programowania
Środowisko pracy Edytora VBA
Makrodefinicje w Excelu
VB – opis języka
2
Algorytmy
3
Algorytm - definicja
Algorytm jest przepisem opisującym krok po kroku
rozwiązanie zadania lub osiągnięcie jakiegoś celu.
Zawiera opis danych, opis wyników oraz plan działania.
Plan ten można przestawić w postaci ciągu czynności,
które muszą być wykonane w określonej kolejności.
Opis czynności występujących w algorytmie nazywamy
instrukcjami.
4
Cechy algorytmu
Algorytm musi być:
• poprawny – dla każdego poprawnego zestawu danych, po
wykonaniu skończonej liczby czynności, prowadzi do
poprawnych wyników,
• jednoznaczny – w każdym przypadku jego zastosowania dla
tych samych danych uzyskamy ten sam wynik,
• szczegółowy – aby wykonawca algorytmu rozumiał opisane
czynności i potrafił je wykonać,
• uniwersalny – aby służył do rozwiązywania pewnej grupy
zadań, a nie tylko jednego konkretnego przypadku zadania.
5
Algorytm – etapy postępowania
1.
2.
3.
4.
Sformułowanie zadania
Określenie danych wejściowych
Określenie celu i wyniku
Poszukiwanie metody rozwiązania problemu
(czyli algorytmu)
5. Przedstawienie algorytmu
6. Analiza poprawności
7. Testowanie rozwiązania dla różnych danych
6
Prezentacja algorytmu
•
Słowna
•
Lista kroków
•
Schemat blokowy
•
Drzewo algorytmu
7
Lista kroków algorytmu
Przedstawienie algorytmu w punktach, np.:
1. Rozpocznij algorytm
2. Wprowadź wartości trzech liczb: a, b,c
3. Oblicz wartość wyrażenia Suma := a+b+c
4. Oblicz wartość wyrażenia Srednia := S/3
5. Wyprowadź wynik: Srednia
6. Zakończ algorytm
schematy
8
Algorytm liniowy (sekwencyjny)
• ciąg instrukcji wykonywanych jedna po
drugiej w kolejności, jaka wynika z ich
następstwa w zapisie algorytmu
(sekwencyjnie),
• opisy nie zależą od żadnych warunków,
9
Inny przykład algorytmu liniowego
Algorytm gotowania jajka na miękko:
Krok 1. Włóż jajko do gotującej się wody.
Krok 2. Zanotuj czas początkowy t0.
Krok 3. Oczytaj czas aktualny t.
Krok 4. Oblicz  t = t - t0.
Krok 5. Jeśli  t < 3 min., to przejdź do kroku 3.
Krok 6. Wyjmij jajko z gotującej się wody. Zakończ
algorytm.
10
Algorytm z warunkami
• może
zawierać
kilka
alternatywnych
wariantów działań,
• wybór działania zależy od spełnienia (bądź
niespełnienia) warunku.
Instrukcje, których wykonanie uzależnione jest
od spełnienia pewnego warunku lub też
którego spełnienie powoduje wykonanie
jednej instrukcji, a niespełnienie innej –
nazywamy instrukcjami warunkowymi.
11
Postaci instrukcji warunkowej
Jeśli spełniony jest warunek W, wykonaj
instrukcję A.
Jeśli spełniony jest warunek W, to wykonaj
instrukcję A;
w przeciwnym razie wykonaj instrukcję B.
12
Przykład instrukcji warunkowej
w algorytmie
Algorytm w postaci listy kroków określania,
która z dwóch liczb jest większa:
• Zacznij algorytm.
• Wprowadź wartości: a i b.
• Sprawdź czy a jest większe od b. Jeśli tak, to
przyjmij max:=a,
w przeciwnym wypadku max:=b.
4. Wyprowadź wartość: max.
5. Zakończ algorytm.
13
Iteracja (powtarzalność)
• wielokrotne powtarzanie tego samego ciągu
operacji,
• powtarzające się ciągi operacji zapisujemy
tylko raz stosując tzw. pętlę (z pętlą mamy do
czynienia, gdy w pewnym kroku algorytmu
wracamy do jednego z wcześniejszych kroków
(co powoduje, że kroki te mogą zostać
wykonane wiele razy)).
14
Przykład iteracji w dodawaniu liczb
(tutaj trzech liczb)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Zacznij algorytm
Suma równa zero.
Wprowadź pierwszą liczbę.
Do poprzedniego wyniku sumy dodaj wprowadzoną liczbę.
Wprowadź drugą liczbę.
Do poprzedniego wyniku sumy dodaj wprowadzoną liczbę.
Wprowadź trzecią liczbę.
Do poprzedniego wyniku sumy dodaj wprowadzoną liczbę.
Wyprowadź wynik sumy.
Zakończ algorytm.
15
Sposoby zakończenia iteracji
• liczba powtórzeń określona z góry – sposób
zakończenia iteracji można określić wprowadzając
tzw. licznik, za pomocą którego są odliczane kroki
iteracji (należy dodatkowo sprawdzać, czy licznik
osiągnął już podaną wielkość), np. zsumuj 10
dowolnych liczb;
• liczba powtórzeń zależna od warunku, np. sumuj
liczby tak długo, aż nie zostanie podane zero.
16
Postać pętli
Liczba powtórzeń określona z góry (n powtórzeń):
Wykonuj instrukcję A dokładnie n razy
Liczba powtórzeń zależy od warunku W:
Powtarzaj wykonywanie instrukcji A aż do
spełnienia warunku W.
17
Przykład algorytmu z pętlą
(obliczenie sumy siedmiu dowolnych liczb)
1.
2.
3.
4.
Zacznij algorytm.
Wartości zmiennej Suma przypisz zero: Suma:=0.
Wprowadź liczbę i zapamiętaj ją w zmiennej a.
Do wyniku sumy dodaj wprowadzoną liczbę:
Suma:=Suma+a.
5. Jeśli nie jest to siódma liczba, wróć do kroku 3.
6. Wyprowadź wynik: Suma.
7. Zakończ algorytm.
18
Schematy blokowe
19
Schemat blokowy
• graficzny zapis algorytmu rozwiązania zadania,
przedstawiający opis i kolejność wykonywania
czynności realizujących danych algorytm,
• poszczególne operacje przedstawione są za
pomocą odpowiednio połączonych skrzynek
(klocków, bloków); połączenia określają
kolejność i sposób wykonywania operacji,
20
Podstawowe bloki
Prezentacja
graficzna
Rodzaj
bloku
START
Skrzynka
graniczna
STOP
max:=a
Skrzynka
operacyjna
Opis
operacji
Uwagi
Początek
algorytmu
Ze skrzynki tej wychodzi tylko
jedno połączenie. W jednym
schemacie jest tylko jeden taki
blok.
Może nazywać się KONIEC. Do
Zakończenie skrzynki
wchodzi
jedno
algorytmu
połączenie; w jednym schemacie
może być więcej takich bloków.
Blok, w którym wykonywane są
różne operacje, m.in. obliczenia.
Wykonywanie Ma jedno połączenie wchodzące i
działań
jedno wychodzące. W jednym
bloku można wpisać więcej niż
21
jedną operację.
Prezentacja
graficzna
Rodzaj
bloku
Opis operacji
Podaj a,b
Skrzynka
wejścia
Wprowadzanie danych
Skrzynka
wyjścia
Pisz Suma
tak
czy a=0?
nie
Skrzynka
warunkowa
Wyprowadzanie
(pisanie, drukowanie)
wyników
Sprawdzanie
warunków
Uwagi
Ma jedno połączenie
wchodzące i jedno
wychodzące.
Do bloku wchodzi jedno
połączenie. Ze skrzynki
wychodzą
dwa
połączenia:
jedno
oznaczone „tak” (gdy
warunek
jest
spełniony), a drugie
„nie” (gdy warunek nie
22
jest spełniony).
Skrzynka warunkowa
w skrzynce wpisujemy warunek logiczny, stosując znaki:
=
- równy
<>
- różny
<
- mniejszy
>
- większy
nie
czy a > 0?
<=
- mniejszy lub równy
>=
- większy lub równy
tak
np.:
a <> 3
Dodatnie
(a > 5) lub (a <= 20)
(a < 5) OR (a <= 20)
(a <= 3) and (a >= 7)
Ujemne
23
Przykłady schematów blokowych
Start
Start
Podaj a
Podaj b
Podaj a, b, c
Podaj c
Srednia:= (a + b + c) / 3
Suma:= a + b + c
Srednia:= S / 3
Pisz Srednia
Pisz Srednia
Stop
Stop
algorytm
24
Algorytm sumujący N kolejnych liczb (czyli liczby od 1 do N) – algorytm z pętlą
Start
Podaj N
S := 0
L := N
Czynności (kroki)
wykonywane
w pętli
czy L > 0
Tak
S := S + L
L := L - 1
Nie
Pisz S
Stop
25
Start
Algorytm sumujący tylko
liczby większe od 5
spośród dziesięciu
wprowadzonych –
przykład algorytmu z
pętlą z określoną liczbą
powtórzeń
S := 0
i := 0
Podaj a
i := i + 1
Nie
czy a > 5
Tak
S := S + a
Nie
czy i = 10
Tak
Pisz S
Stop
26
Download