algorytmy i programy -...
TRANSCRIPT
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.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.
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
Schemat blokowy obliczania 5!
Wynik 1
Liczba 1
Liczba Liczba + 1
Wynik Wynik * liczba
Liczba < 5tak
nie
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:
STARTUżywany do rozpoczęcia algorytmu (schematu),
może występować tylko jeden raz.
STOPUżywany do zakończenia algorytmu (schematu).
Występuje zwykle jeden, ale można używać kilku.
Klocki wejścia i wyjścia:
Służy do wprowadzania danych (wartości) z zewnątrz.Podaj
wartość
Służy do wyprowadzania danych (wartości) na zewnątrz.Wyprowadź
wartość
Klocek wykonawczy
W tym klocku można umieszczać jedną lub kilka
instrukcji. Korzysta się z instrukcji przypisania (:=)
i operatorów arytmetycznych (+, -, *, /, ^)
Instrukcje do
wykonania
Klocek warunkowy
W tym klocku umieszczamy tylko jedno
wyrażenie logiczne. Korzystamy z operatorów
logicznych (=, >, <, <=, >=, <>)
Wyrażenie
logiczne
PRZYKŁADY ALGORYTMÓW
RÓŻNICA DWÓCH LICZB
Początek algorytmu Różnica dwóch liczb
wprowadzenie
danej
podaj odjemną oznaczamy
go przez a
wprowadzenie
danej
podaj odjemnik oznaczamy
go przez b
wykonywanie
obliczeńr:=a-b
wyprowadzenie
wynikur
koniec algorytmu koniec programu liczącego sumę dwóch liczb
BUDOWA ALGORYTMU – SUMA DWÓCH LICZB
Początek algorytmu Suma dwóch liczb
wprowadzenie
danej
podaj pierwszy składnik oznaczamy
go przez a
wprowadzenie
danej
podaj drugi składnik oznaczamy
go przez b
wykonywanie
obliczeńs:=a+b
wyprowadzenie
wynikus
koniec algorytmu koniec programu liczącego sumę dwóch liczb
BUDOWA ALGORYTMU – ILORAZ DWÓCH LICZB
Początek algorytmu Iloraz dwóch liczb
Wprowadzenie danej podaj dzielną oznaczamy ją przez a
Wprowadzenie danej podaj dzielnik oznaczamy go przez b
Sprawdzenie warunku b=0
Jeżeli tak Jeżeli nie
Koniec algorytmu
Działanie niewykonalne!
Wykonywanie
obliczeń 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
Wyprowadzenie wyniku
średniaWykonanie obliczeń:
suma:=suma+x
licznik:=licznik+1
średnia:=suma/n 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.
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
Aby zbudować schemat blokowy w programie
ELI, należy:
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.
Tworzenie schematu blokowego algorytmu za pomocą programu
edukacyjnego ELI 2.0
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