Jak zacząć?
Należy najpierw wiedzieć ja zacząć samo programowanie, jest to ogromna wiedza w której należy najpierw zacząć od nauki języka którym się interesujemy np: Pascal/Excel/C++
a następnie zacząć naszą pracę!
Analiza problemu - krok 1
Tak jak wspomniałem, najpierw musimy znać problem i go przeanalizować, a mianowicie problemem jest wydawanie reszty. Możemy więc wysnuć takie zdanie: Z podanej sumy pieniędzy, którą musimy wydać klientowi obliczamy jakie banknoty i monety kolejno powinniśmy wydać.
I to tyle, jeśli chodzi o problem, przejdźmy dalej.
Opis słowny - krok 2
Następną dość ważną rzeczą, jest szybkie, słowne opisanie czynności, które zastosujemy w algorytmie, mogą one wyglądać właśnie tak:
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 kroki2-4
Schemat blokowy - krok 3
Teraz przyszła pora, na graficzny obraz algorytmu, czyli schemat blokowy. Ja zrobiłem go w ten sposób:
Tutaj przykład:
Piszemy program - krok 4
Ostatnim, najważniejszym krokiem jest zamiana teorii w program. Możemy wykorzystać do tego celu wiele języków, np. C czy Pascal, ale ja użyję tak jak już powiedziałem języka C++.
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