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:
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. |
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;
}
Brak komentarzy:
Prześlij komentarz