[Algorytmy] Niezmiennik pętli

martin_bar
Użytkownik
Użytkownik
Posty: 30
Rejestracja: 3 lut 2013, o 18:56
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 7 razy

[Algorytmy] Niezmiennik pętli

Post autor: martin_bar »

Cześć, mam problem z zadaniem z niezmienników.

Podaj niezmiennik pętli i udowodnij jego poprawność:

Kod: Zaznacz cały

1 <= b - warunek wstępny

i = 1;
c = 1;
while (i  <=  b ) {
    c= c * a; 
    i ++;
}
Szukałem trochę wiadomości o niezmiennikach ... stosowania ale nie jestem pewno co będzie niezmiennikiem dla mojego zadania. Rozumiem że jest to pierwszy krok indukcyjny, coś niezmiennego. Czy będzie to:
\(\displaystyle{ i \le b}\) ?

Pozdrawiam,
Ostatnio zmieniony 10 lis 2013, o 21:09 przez Afish, łącznie zmieniany 3 razy.
Powód: Temat umieszczony w złym dziale.
Awatar użytkownika
Vardamir
Użytkownik
Użytkownik
Posty: 1913
Rejestracja: 3 wrz 2010, o 22:52
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 6 razy
Pomógł: 410 razy

[Algorytmy] Niezmiennik pętli

Post autor: Vardamir »

A czym jest zmienna \(\displaystyle{ a}\) ?
martin_bar
Użytkownik
Użytkownik
Posty: 30
Rejestracja: 3 lut 2013, o 18:56
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 7 razy

[Algorytmy] Niezmiennik pętli

Post autor: martin_bar »

Dobre pytanie...

Nic na jej temat nie jest podane w warunku wstępnym, ani później.
A czy bez jej znajomości nie da się podać niezmiennika ?-- 10 lis 2013, o 18:16 --Nikt nie pomoże ?
miodzio1988

[Algorytmy] Niezmiennik pętli

Post autor: miodzio1988 »

A czy bez jej znajomości nie da się podać niezmiennika ?
Bez znajomości tej stałej w ogóle problem /algorytm jest do bani zdefiniowany
martin_bar
Użytkownik
Użytkownik
Posty: 30
Rejestracja: 3 lut 2013, o 18:56
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 7 razy

[Algorytmy] Niezmiennik pętli

Post autor: martin_bar »

A mógłby ktoś wyjaśnić mi na chłopski rozum jak określa się ten niezmennik ?

Na jakimś prostym programie typu znajdowanie największej liczby:

Kod: Zaznacz cały

do {
	cout << "Podaj kolejna liczbe: " << endl;	
	cin >> i;
		if(i>max){
			max = i;
		}
	cout << "Najwieksza podana liczba to: " << max << endl;
	} while(i != -1);
A jeżeli przyjelibyśmy a jako stałą równą np. 1 to oczywiście wtedy ta liczba będzie niezmiennikiem pętli ?

W jaki sposób możemy udawadniać niezmienniki ?

Dziękuję za odpowiedzi -- 11 lis 2013, o 19:19 --Eh nikt się na tym nie zna ? ;-/ ?
ODPOWIEDZ