1. Lista kroków - Wykonanie algorytmu opisujemy przedstawiając kolejne kroki tego
procesu. W każdym kroku opisujemy zwięźle wykonywaną operację. Istnieją pewne
zasady tego opisu. Kroki są
numerowane i wykonywane zgodnie z numerami, o ile nie zostanie nakazane inaczej.
Przed listą kroków należy umieścić tzw. specyfikację danych. Jest to opis danych
wejściowych i wyjściowych algorytmu. Dane wejściowe to informacja, którą musi
otrzymać algorytm w celu
rozwiązania problemu. Dane wyjściowe to wyniki pracy
algorytmu.
Przykład:
Algorytm Euklidesa wyznaczania NWD dwóch liczb a i b
Wejście:
a,b - liczby naturalne, których
NWD oblicza algorytm
Wyjście:
a lub b - wartość NWD
pierwotnych liczb a i b.
Krok 1: |
Czytaj a,b |
; wczytujemy dane wejściowe |
Krok 2: |
Jeśli
a = b, to idź
do kroku 5 |
; jeśli a = b, to NWD jest a lub b |
Krok 3: |
Jeśli
a > b, to a ← a -
b. Inaczej b ← b - a |
; jeśli a jest różne od b, to od większej liczby odejmujemy
mniejszą |
Krok 4: |
Idź do kroku 2 |
; wracamy do sprawdzania warunku w kroku 2 |
Krok 5: |
Pisz a |
; wypisujemy NWD |
Krok 6: |
Zakończ |
; koniec algorytmu |
Użyte operacje:
Czytaj - powoduje odczyt danych i przypisanie ich podanym
symbolom.
Pisz - powoduje wypisanie informacji
Idź do kroku n - powoduje, że następna operacja zostanie wykonana od kroku
n.
Jeśli
warunek, to operacja1. Inaczej operacja2
- jeśli warunek jest spełniony, to zostaje wykonana operacja1.
Inaczej wykonana zostanie operacja2.
Zakończ - powoduje zakończenie wykonywania algorytmu.
2.Schemat blokowy - Algorytm opisywany jest w sposób graficzny za pomocą
następujących symboli:
|
Symbol startowy, od którego rozpoczyna się wykonanie algorytmu |
|
Symbol końca algorytmu |
|
Strzałka określa kierunek wykonania. Prowadzi do następnego symbolu w
algorytmie. |
|
Symbol przetwarzania danych |
|
Symbol operacji wprowadzania danych lub wyprowadzania wyników. |
|
Symbol decyzyjny. W zależności od wyniku testu idziemy drogą TAK, jeśli
test jest spełniony lub drogą NIE, jeśli test nie jest spełniony. |
Schemat blokowy również wymaga specyfikacji danych wejściowych i
wyjściowych.
3.
Arkusz kalkulacyjny - program komputerowy
przedstawiający dane, głównie liczbowe, w postaci zestawu dużych tabel
dwuwymiarowych, pozwalający na automatyczną obróbkę tych danych oraz na
prezentację ich w różny sposób.
Najważniejszym narzędziem arkusza kalkulacyjnego są funkcje
(matematyczne, statystyczne, daty i czasu, finansowe, bazodanowe,
logiczne), za pomocą których wprowadzone do arkusza dane są
automatycznie przetwarzane. Możliwe jest także tworzenie różnego rodzaju
symulacji.
Za pomocą arkusza kalkulacyjnego można także wizualizować dane,
prezentując je w postaci wykresów (kolumnowych, słupkowych, kołowych,
liniowych, warstwowych itd.), które pozwalają łatwiej zorientować się we
wzajemnych zależnościach i tendencjach.
Rozwiazanie problemu w arkuszu kalkulacyjnym MS Excel444:
4.
Visual basic - język programowania wysokiego poziomu i narzędzie programowania firmy Microsoft. Składnia jest oparta na języku BASIC,
ale unowocześniona. Zawiera kilkaset instrukcji,funkcji i słów
kluczowych. Nie jest językiem w pełni obiektowym, gdyż nie udostępnia
np. możliwości dziedziczenia, czy polimorfizmu. Wykorzystuje technologię ActiveX.
5.
Turbo Pascal – jedna z popularniejszych implementacji kompilatorów języka Pascal, zintegrowane środowisko programistyczne, produkt firmy Borland International dla procesorów Z-80 (system CP/M) oraz rodziny Intel 80x86 i nowszych. Obecnie nie jest już rozwijany. Następcą Turbo Pascala jest Borland Delphi.
Rozwiązywanie problemu przy pomocy Turbo Pascal (listing):
program wydawanie_reszty; uses crt; var reszta : longint;
begin
clrscr;
writeln('podaj kwotę: '); readln(reszta); writeln;
writeln(reszta div 200, ' banknotow 200zl');
reszta:=reszta mod 200;
writeln(reszta div 100, ' banknotow 100zl');
reszta:=reszta mod 100;
writeln(reszta div 50, ' banknotow 50zl');
reszta:=reszta mod 50;
writeln(reszta div 20, ' banknotow 20zl');
reszta:=reszta mod 20;
writeln(reszta div 10, ' banknotow 10zl');
reszta:=reszta mod 10;
writeln(reszta div 5, ' monet 5zl');
reszta:=reszta mod 5;
writeln(reszta div 2, ' monet 2 zl');
reszta:=reszta mod 2;
writeln(reszta, ' monet 1 zl');
repeat until keypressed;
end.
6.
C++ – język programowania ogólnego przeznaczenia. Umożliwia abstrakcję danych oraz stosowanie kilku paradygmatów programowania: proceduralnego, obiektowego i generycznego.
Charakteryzuje się wysoką wydajnością kodu wynikowego, bezpośrednim
dostępem do zasobów sprzętowych i funkcji systemowych, łatwością
tworzenia i korzystania z bibliotek (napisanych w C++, C
lub innych językach), niezależnością od konkretnej platformy sprzętowej
lub systemowej (co gwarantuje wysoką przenośność kodów źródłowych) oraz
niewielkim środowiskiem uruchomieniowym. Podstawowym obszarem jego
zastosowań są aplikacje i systemy operacyjne.
Rozwiązywanie problemu przy pomocy C++ (listing)
//Wydawanie reszty, C++
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[])
{
//tablica dostepnych nominalow
int N[8]={200, 100, 50, 20, 10, 5, 2, 1};
int R,P, i;
cout << "Podaj reszte do wyplacenia: ";
cin >> R;
i=0;
while (R>0) //dopoki nie wydano calej reszty
{
if (R >= N[i]) //sprawdz czy mozna wydac danym nominalem
{
P=R / N[i]; //ile razy wydac dany nominal
R=R-(N[i]*P); //zmniejsz reszte o wydany nominal
cout << N[i] << " x " << P << endl; //wypisz wynik
}
i++; //rozpatrz kolejny nominal
}
system("PAUSE");
return 0;
}