poniedziałek, 2 listopada 2015

#6 Rozwiązywanie problemów

Na dzisiejszej lekcji poruszyliśmy temat "Rozwiązywania problemów". Jako przykład uznaliśmy problem kasjera, czyli wydawanie reszty. Do tego tematu mamy przygotowane informacje, które musieliśmy przekopiować na swoje dyski Google.
Zapoznanie się z dyskiem Google było głównym tematem owej lekcji.


1) lista kroków
2) schematy blokowe
3) MS Excel, VBA
4) Języki programowania np: PASCAL, C ++












1. 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

2. //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