Algorytm : w matematyce oraz informatyce skończony, uporządkowany ciąg jasno
zdefiniowanych czynności, koniecznych do wykonania pewnego rodzaju
zadań. Słowo "algorytm" pochodzi od starego angielskiego słowa algorism,
oznaczającego wykonywanie działań przy pomocy liczb arabskich.Algorytm
ma przeprowadzić system z pewnego stanu początkowego do pożądanego stanu
końcowego. Badaniem algorytmów zajmuje się algorytmika. Algorytm może
zostać zaimplementowany w postaci programu komputerowego lub dla innego
urządzenia. Kiedy podczas tego procesu programista popełni błąd (ang.
bug), może to doprowadzić do poważnych konsekwencji np. błędy w
implementacji algorytmów bezpieczeństwa mogą ułatwić popełnienie
przestępstwa komputerowego.
Jak wydać resztę?
1. Definicja algorytmu.
2. Problem kasjera:
- opis problemu
- metody rozwiązania:
1. Definicja algorytmu.
2. Problem kasjera:
- opis problemu
- metody rozwiązania:
Lista kroków-
- schemat blokowy (2x)
- Excel (zrzut ekranu)
- Turbo Pascal (listing)
- C++
- Visual Basic for Applications
- SCHEMATY BLOKOWE:
PROGRAM EXCEL:
Algorytm (w skrócie) - w matematyce oraz informatyce skończony ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego rodzaju zadań. Słowo "algorytm" pochodzi od starego angielskiego słowa algorism, oznaczającego wykonywanie działań przy pomocy liczb arabskich.
Problem kasjera - możemy się z nim spotkać kiedy jesteśmy w sklepie. Polega on na tym, że kasjer nie ma nam wydać reszty z tych nominałów, które posiada. Wtedy to rodzi się kłopot. Można go rozwiązać za pomocą wydawania algorytmu reszty.
Metody rozwiązania:
LISTA KROKÓW: ( Opis słowny algorytmu wydawania reszty.)
Opis słowny algorytmu wydawania reszty.
Dane: Kwota pieniędzy do wydania, nominały banknotów i bilonu uporządkowane malejąco
Wyniki: Ilość poszczególnych nominałów banknotów i bilonu
Krok 1: Ustalenie wartości początkowych
Krok 2: Sprawdzamy, ile razy najwyższy nominał mieści się w kwocie do wydania
Krok 3: Obliczamy resztę do wydania: poprzednia kwota - obliczona ilość * nominał
Krok 4: Przechodzimy do niższego nominału
Krok 5: Jeśli reszta do wydania = 0 [stop] w przeciwnym razie powtarzamy kroki 2 - 4
TURBO PASCAL:
program Reszta; {obliczenia w petli WHILE}
uses crt;
const N: Array [1..8] of integer = (200, 100, 50, 20, 10, 5, 2, 1);
var i,P,R: longint;
begin
clrscr;
Write('Podaj reszte do wyplacenia: ');
ReadLn(R);
i:=1;
while (R>0) do {dopoki nie wydano calej reszty}
begin
if R>= N[i] then {sprawdzczy mozna wydac danym nominalem}
begin
P:= R div N[i]; {ile razy wydac dany nominal}
R:= R - (P*N[i]); {zmniejsz reszte o wydany nominal}
WriteLn(N[i], ' x ', P); {wypisz wynik}
end;
inc(i); {rozpatrz kolejny nominal}
end;
repeat until keypressed;
end.
program wydawanie_reszty; uses crt; var reszta : longint;
begin
clrscr;
writeln('podaj kwote: '); 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.
C++:
//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]) //sprawdzczy 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