metody opisu algorytmów komputerowych

advertisement
Wydział Elektryczny
Katedra Elektrotechniki Teoretycznej i Metrologii
Instrukcja do pracowni z przedmiotu Podstawy Informatyki
Kod przedmiotu: TS1C 100 003
Ćwiczenie pt.
METODY OPISU
ALGORYTMÓW KOMPUTEROWYCH
Numer ćwiczenia
PI EiT 10
Autor
Dr inż. Paweł Myszkowski
Białystok 2012
1. OPIS STANOWISKA
Jest to ćwiczenie typowo tablicowe. Studenci projektują schematy blokowe
algorytmów, rysując je w programie Microsoft Visio. Tak opracowane rozwiązania
przygotowanych zadań stanowią sprawozdanie z ćwiczenia.
2. WSTĘP TEORETYCZNY
2.1. RóŜne definicje pojęcia „algorytm”
Algorytm - metoda rozwiązania zadania, problemu.
Algorytm - skończony i uporządkowany ciąg jasno zdefiniowanych czynności,
koniecznych do wykonania pewnego zadania.
Algorytm - skończony zbiór reguł, wskazujący kolejność operacji
przy rozwiązywaniu problemu pewnego typu.
Algorytm - ściśle określona procedura obliczeniowa,
która dla właściwych danych wejściowych zwraca Ŝądane dane wyjściowe,
zwane wynikiem działania algorytmu.
Dane wejściowe
Proces
Wyniki
Algorytm
2.2. Metody opisu algorytmów
a) Opis w punktach, w języku naturalnym
1. Weź cztery jajka, łyżkę masła i szczyptę soli
2. Masło rozpuść na rozgrzanej patelni
3. ...
b) Pseudokod, czyli niezbyt formalna odmiana języka programowania
1. ...
2. if reszta z dzielenia x przez 2 jest równa zero, then wyświetl komunikat "Liczba parzysta"
3. ...
2
c) Konkretny język programowania
1. ...
2. if ((x%2)==0) printf("Liczba parzysta");
3. ...
d) Schemat blokowy
Elementy występujące w schematach blokowych:
- Początek algorytmu
- Występuje dokładnie jeden raz
- Koniec algorytmu
- Występuje przynajmniej jeden raz
- Instrukcja elementarna
- Blok funkcyjny
- Operacje obliczeniowe lub
organizacyjne
Blok decyzyjny
Operacje warunkowe
Testy
TAK oznacza dalszą ścieŜkę, gdy
warunek jest spełniony
- NIE oznacza dalszą ścieŜkę, gdy
warunek nie jest spełniony
-
3
2.4. Przykłady schematów blokowych opisujących algorytmy
a) Algorytm powstawania programu w języku C/C++
b) Algorytm wyznaczania pierwiastków równania kwadratowego (w dziedzinie liczb
rzeczywistych)
4
3. PRZEBIEG ĆWICZENIA
3.1. W schemacie blokowym, opisującym algorytm wyznaczania pierwiastków
równania kwadratowego, nie uwzględniono sytuacji, gdy uŜytkownik na wejściu
wprowadzi a=0, co moŜe powodować w konsekwencji błędy w programie.
Dokonaj stosownych poprawek w schemacie; rozwaŜ takŜe sytuację, gdy a=0
i b=0.
3.2. Narysuj schemat blokowy opisujący algorytm wyznaczania wartości
bezwzględnej:
 x dla x ≥ 0
x =
− x dla x < 0
Przedstaw zapis powyŜszego algorytmu w postaci opisu w punktach.
3.3. Narysuj schemat blokowy, opisujący algorytm wyznaczania silni liczby n:
n!= 1 ⋅ 2 ⋅ ... ⋅ n
Przedstaw zapis powyŜszego algorytmu w postaci opisu w punktach.
3.4. Narysuj schemat blokowy opisujący algorytm badania parzystości liczby
całkowitej. MoŜesz uŜywać wyłącznie czterech podstawowych operatorów
arytmetycznych (dodawania, odejmowania, mnoŜenia i dzielenia). Przedstaw
zapis powyŜszego algorytmu w postaci opisu w punktach.
3.5. Wektor U zawiera wartości chwilowe pewnego napięcia, występującego
w obwodzie elektrycznym. Narysuj schemat blokowy algorytmu odnajdującego
minimalną oraz maksymalną wartość tego napięcia.
4. LITERATURA
[1] Wróblewski P.: "Algorytmy, struktury danych i techniki programowania.
Wydanie IV", Helion, Gliwice, 2009.
[2] Buczek B.: "Algorytmy. Ćwiczenia", Helion, Gliwice, 2008.
[3] Malina W., Szwach M.: "Metodologia i techniki programowania", PWN,
Warszawa, 2008.
5
[4] Adamski T., Ogrodzki J.: "Algorytmy komputerowe I struktury danych",
Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa, 2005.
[5] Harel D., Feldman Y.: "Rzecz o istocie informatyki. Algorytmika.", WNT,
Warszawa, 2008.
[6] Heineman G., Pollice G., Selkow S.: " Algorytmy. Almanach", Helion,
Gliwice, 2012.
5. ZAGADNIENIA NA ZALICZENIE
1. Co to jest algorytm?
2. Jakie są sposoby opisu algorytmów? Podaj ich wady i zalety.
3. Jakich symboli uŜywa się do opisu algorytmu za pomocą schematu blokowego?
4. W jaki sposób na schemacie blokowym przedstawia się instrukcje iteracyjne (pętle)?
5. Narysuj schemat blokowy algorytmu podanego przez prowadzącego zajęcia.
6
Download