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