ALGORYTMY I PROGRAMY
Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera. Ten ciąg instrukcji realizuje jakiś algorytm. Algorytm jest opisem krok po kroku jak rozwiązać problem, czy też jak osiągnąć cel. Opis ten powinien być dokładny i nie pozostawiać wątpliwości co trzeba wykonać.
ETAPY ROZWIĄZYWANIA PROBLEMÓW 1. Sformułowanie zadania 2. Określenie danych wejściowych 3. Określenie celu, czyli wyniku 4. Przedstawienie algorytmu w postaci: Opisu słownego Listy kroków Schematu blokowego Jednego z języków programowania 5. Analiza poprawności rozwiązania 6. Testowanie rozwiązania dla różnych danych ocena efektywności przyjętej metody
Dla algorytmu i programu wspólne są trzy podstawowe własności: Poprawność wykonanie algorytmu lub programu dla dowolnych danych wejściowych przekazuje zawsze poprawne wyniki Skończoność wykonanie akcji odbywa się zawsze w skończonej liczbie kroków Sprawność ten algorytm (program) jest lepszy, który szybciej liczy oraz zajmuje mniej miejsca (pamięci) na dysku.
Każdy algorytm (program) można podzielić na moduły. Wydzielenie modułu w algorytmice to inaczej modularyzacja. W programach moduły to inaczej procedury lub podprogramy. Budowanie programów z procedur jest istotą programowania strukturalnego.
ALGORYTM: Opisany obrazkami występuje szeroko w instrukcjach opisujących sposób montażu zabawek dla dzieci, modeli do sklejania, instrukcjach obsługi Opisany słownie występuje we wszystkich instrukcjach obsługi, na lekcjach wielu przedmiotów w postaci opisu doświadczenia, w informatyce jako element poprzedzający właściwe programowanie Opisany schematem blokowym występuje głównie w nauczaniu elementów informatyki i służy do graficznego prezentowania i rozwiązywania problemu, powinien być poprzedzony opisem słownym Opisany językiem programowania (program) występuje w nauczaniu programowania w wybranym języku programowania, powinien być poprzedzony opisem słownym i schematem blokowym
Algorytmy można przedstawiać w postaci opisu słownego lub w postaci schematu. Schemat blokowy obliczania 5! Wynik 1 Liczba 1 Algorytm otwierania drzwi: naciśnij klamkę i pchnij jeśli drzwi się otworzą udało się koniec. w przeciwnym razie włóż do zamka klucz, przekręć go i naciśnij klamkę jeśli drzwi się otworzą udało się koniec. w przeciwnym razie nie udało się koniec. tak Liczba Liczba + 1 Wynik Wynik * liczba Liczba < 5 nie Wypisz wynik Algorytm obliczania 5! 1. weź kartkę i ołówek 2. wyznacz miejsce na wynik i liczbę 3. wpisz w miejsce liczby i wyniku jedynki 4. czynności opisane w nawiasie wykonuj, dopóki liczba będzie mniejsza od 5: 5. { 6. dodaj do liczby jeden 7. pomnóż wynik przez liczę 8. } 9. wypisz wynik
Po napisaniu algorytmu w postaci schematu blokowego lub opisu słownego można zapisać go w jakimś języku programowania, czyli stworzyć jego kod źródłowy. Istnieją takie języki programowania jak np. Java, C, C++, Logo, Pascal, Fortran, Ada, Basic. Program komputerowy, który poprawnie zinterpretuje treść programu w danym języku programowania i przetłumaczy go linijka po linijce, na język zrozumiały dla komputera to interpreter. Aby uruchomić program, kod źródłowy należy najpierw skompilować, czyli stworzyć program wykonywalny. Kod źródłowy umożliwia dokładną analizę działania programu oraz wprowadzanie zmian.
Program wykonywalny (inaczej kod maszynowy lub postać binarna) to wynik kompilacji kodu źródłowego do postaci nadającej się do uruchamiania i używania programu, ale nie do bezpośredniej analizy jego działania ani też do wprowadzania zmian czy poprawek. Kompilacja to zamiana kodu źródłowego na kod maszynowy, wykonywany przez komputer. Robi to program komputerowy, zwany kompilatorem. Jeśli kompilator nie zrozumie jakiegoś słowa w kodzie źródłowym, np. z powodu literówki to po prostu odmówi kompilacji.
SCHEMATY BLOKOWE
Schematy blokowe buduje się z następujących elementów (klocków): Klocki graniczne: START Używany do rozpoczęcia algorytmu (schematu), może występować tylko jeden raz. STOP Używany do zakończenia algorytmu (schematu). Występuje zwykle jeden, ale można używać kilku.
Klocki wejścia i wyjścia: Podaj wartość Służy do wprowadzania danych (wartości) z zewnątrz. Wyprowadź wartość Służy do wyprowadzania danych (wartości) na zewnątrz.
Klocek wykonawczy Instrukcje do wykonania W tym klocku można umieszczać jedną lub kilka instrukcji. Korzysta się z instrukcji przypisania (:=) i operatorów arytmetycznych (+, -, *, /, ^) Klocek warunkowy Wyrażenie logiczne W tym klocku umieszczamy tylko jedno wyrażenie logiczne. Korzystamy z operatorów logicznych (=, >, <, <=, >=, <>)
PRZYKŁADY ALGORYTMÓW
RÓŻNICA DWÓCH LICZB Początek algorytmu wprowadzenie danej wprowadzenie danej wykonywanie obliczeń wyprowadzenie wyniku koniec algorytmu Różnica dwóch liczb podaj odjemną oznaczamy go przez a podaj odjemnik oznaczamy go przez b r:=a-b r koniec programu liczącego sumę dwóch liczb
BUDOWA ALGORYTMU SUMA DWÓCH LICZB Początek algorytmu wprowadzenie danej wprowadzenie danej wykonywanie obliczeń wyprowadzenie wyniku koniec algorytmu Suma dwóch liczb podaj pierwszy składnik oznaczamy go przez a podaj drugi składnik oznaczamy go przez b s:=a+b s koniec programu liczącego sumę dwóch liczb
BUDOWA ALGORYTMU ILORAZ DWÓCH LICZB Początek algorytmu Wprowadzenie danej Wprowadzenie danej Jeżeli tak Koniec algorytmu Działanie niewykonalne! Iloraz dwóch liczb podaj dzielną oznaczamy ją przez a podaj dzielnik oznaczamy go przez b Sprawdzenie warunku b=0 Wykonywanie obliczeń Jeżeli nie d:=a/b Wyprowadzenie wyniku d Koniec algorytmu Koniec programu liczącego iloraz dwóch liczb
BUDOWA ALGORYTMU ŚREDNIA N LICZB Początek algorytmu Średnia n-liczb Wprowadzenie danej informujacej ile jest liczb oznaczonej przez n Wykonywanie obliczeń Lista wykonania suma:=0 licznik:=0 Sprawdzenie warunku i<n Jeżeli tak Jeżeli nie Wprowadzenie danej x Wykonanie obliczeń: suma:=suma+x licznik:=licznik+1 średnia:=suma/n Wyprowadzenie wyniku średnia Koniec algorytmu liczącego średnią wprowadzonych n-liczb
PRZYKŁADY SCHEMATÓW BLOKOWYCH
ELBOX - LABORATORIUM INFORMATYKI (ELI) W ELI schematy można budować z gotowych elementów - klocków. Podstawowa paleta, zawiera kilkanaście klocków, z których buduje się algorytmy. Na zielonej planszy można układać algorytm, a następnie symulować jego działanie. Każdy algorytm musi mieć punkt startu (tylko jeden). Powinien mieć również co najmniej jeden klocek, na którym się kończy. W ciągu klocków pomiędzy punktem startu i końca nie może być dziur - przerw w połączeniach między klockami.
Aby zbudować schemat blokowy w programie ELI, należy: 1. Otworzyć nowy projekt Plik/Nowy projekt i zaznaczyć w oknie Nowy projekt przycisk Plansza. 2. Bloki przenosimy z palety umieszczonej obok planszy metodą uchwyć i upuść. 3. Bloki umieszczone omyłkowo na planszy usuwamy, przenosząc je poza plansze metodą uchwyć i upuść. 4. Aby wpisać operację (komunikaty, nazwy zmiennych, działania) do bloku (klocka), otwieramy okno dialogowe, naciskając prawy klawisz myszy w obszarze danego bloku (klocka). 5. W prostym schemacie połączenie bloków (klocków) realizuje się przez doklejanie bloku do bloku. 6. W rozbudowanym schemacie używa się bloków (klocków) połączeń Linie
Tworzenie schematu blokowego algorytmu za pomocą programu edukacyjnego ELI 2.0 1. Każda operacja jest umieszczona w bloku (klocku). 2. Schemat rozpoczyna się zawsze blok (klocek). Początek algorytmu 3. Na końcu schematu jest blok (klocek). Koniec algorytmu (musi być przynajmniej jeden taki blok /klocek/ w danym schemacie) 4. Dane wprowadzamy za pomocą bloku (klocka). Wprowadzenie danej 5. Obliczenia wpisujemy do bloku (klocka). Wykonanie obliczeń 6. Wyniki obliczeń wyświetla się za pomocą bloku (klocka). Wyprowadzenie wyniku 7. Bloki (klocki) są ze sobą połączone. 8. Z bloku wychodzi jedno połączenie; wyjątek stanowi blok (klocek) Koniec algorytmu, z którego nie wychodzi żadne połączenie i blok (klocek). Sprawdzenie warunku, z którego wychodzą dwa połączenia.
Początek algorytmu - wyświetla komunikat, rozpoczyna wykonywanie algorytmu. Koniec algorytmu - wyświetla wpisany w nim komunikat, kończy wykonanie algorytmu. Wykonanie obliczeń - wykonuje kolejno obliczenia (zmienne uzyskują wartości). Sprawdzenie warunku - rozgałęzienie algorytmu - kieruje wykonanie lewą lub prawą stroną. Wprowadzenie danej - przypisuje zmiennej pobraną wartość. Wyprowadzenie wyniku - wyświetla komunikat i obliczoną wartość wpisanego wyrażenia. Odczytaj z tablicy - przypisuje zmiennej wartość odczytaną z pola tablicy. Zapisz do tablicy - wpisuje wartość do pola tablicy. Wywołanie procedury - przejście do wykonywania procedury. Początek procedury - rozpoczyna wykonanie procedury. Koniec procedury - kończy procedurę i powoduje powrót do nadrzędnego algorytmu. Deklaracja zmiennych globalnych, czyli wspólnych dla różnych plansz projektu. Sygnał dźwiękowy i wyświetlenie komunikatu.
WŁAŚCIWE I WADLIWE KONSTRUKCJE Z KLOCKÓW