Ręczna symulacja

Transkrypt

Ręczna symulacja
Podstawy programowania
Przywieszka I
Ręczna symulacja
Robert Muszyński
ZPCiR IIAiR PWr
– Skład FoilTEX –
←- ,→ 1
Wyrażenia i instrukcje, złożoność obliczeniowa
Ręczna symulacja
Przykład: zamiana wartości zmiennych A i B
'
$
A := 5;
B := 10;
A := B;
B := A;
&
%
W celu przeprowadzenia ręcznej symulacji należy:
– Skład FoilTEX –
←- ,→ 1
Wyrażenia i instrukcje, złożoność obliczeniowa
Ręczna symulacja
Przykład: zamiana wartości zmiennych A i B
'
$
1
2
A := 5;
B := 10;
3
4
A := B;
B := A;
&
%
W celu przeprowadzenia ręcznej symulacji należy:
• Ponumerować wszystkie linie badanego fragmentu programu,
– Skład FoilTEX –
←- ,→ 1
Wyrażenia i instrukcje, złożoność obliczeniowa
Ręczna symulacja
Przykład: zamiana wartości zmiennych A i B
'
$
1
2
A := 5;
B := 10;
3
4
A := B;
B := A;
&
nr linii
A
?
B
?
...
Uwagi
%
W celu przeprowadzenia ręcznej symulacji należy:
• Ponumerować wszystkie linie badanego fragmentu programu,
• Utworzyć tabelkę z wszystkimi zmiennymi występującymi w analizowanym fragmencie
programu (przyjmując ich początkowe wartości jako nieznane, jeśli takie są)
– Skład FoilTEX –
←- ,→ 1
Wyrażenia i instrukcje, złożoność obliczeniowa
Ręczna symulacja
Przykład: zamiana wartości zmiennych A i B
'
$
1
2
A := 5;
B := 10;
3
4
A := B;
B := A;
&
nr linii
1
A
?
5
B
?
...
Uwagi
%
W celu przeprowadzenia ręcznej symulacji należy:
• Ponumerować wszystkie linie badanego fragmentu programu,
• Utworzyć tabelkę z wszystkimi zmiennymi występującymi w analizowanym fragmencie
programu (przyjmując ich początkowe wartości jako nieznane, jeśli takie są)
• Wykonywać kolejne instrukcje programu odnotowując powodowane przez nie zmiany w tabelce
– Skład FoilTEX –
←- ,→ 1
Wyrażenia i instrukcje, złożoność obliczeniowa
Ręczna symulacja
Przykład: zamiana wartości zmiennych A i B
'
$
1
2
A := 5;
B := 10;
3
4
A := B;
B := A;
&
nr linii
1
2
A
?
5
B
?
...
Uwagi
10
%
W celu przeprowadzenia ręcznej symulacji należy:
• Ponumerować wszystkie linie badanego fragmentu programu,
• Utworzyć tabelkę z wszystkimi zmiennymi występującymi w analizowanym fragmencie
programu (przyjmując ich początkowe wartości jako nieznane, jeśli takie są)
• Wykonywać kolejne instrukcje programu odnotowując powodowane przez nie zmiany w tabelce
– Skład FoilTEX –
←- ,→ 1
Wyrażenia i instrukcje, złożoność obliczeniowa
Ręczna symulacja
Przykład: zamiana wartości zmiennych A i B
'
$
1
2
A := 5;
B := 10;
3
4
A := B;
B := A;
&
nr linii
1
2
3
A
?
5
B
?
...
Uwagi
10
10
%
W celu przeprowadzenia ręcznej symulacji należy:
• Ponumerować wszystkie linie badanego fragmentu programu,
• Utworzyć tabelkę z wszystkimi zmiennymi występującymi w analizowanym fragmencie
programu (przyjmując ich początkowe wartości jako nieznane, jeśli takie są)
• Wykonywać kolejne instrukcje programu odnotowując powodowane przez nie zmiany w tabelce
– Skład FoilTEX –
←- ,→ 1
Wyrażenia i instrukcje, złożoność obliczeniowa
Ręczna symulacja
Przykład: zamiana wartości zmiennych A i B
'
$
1
2
A := 5;
B := 10;
3
4
A := B;
B := A;
&
%
nr linii
1
2
3
4
A
?
5
B
?
...
Uwagi
10
10
10
W celu przeprowadzenia ręcznej symulacji należy:
• Ponumerować wszystkie linie badanego fragmentu programu,
• Utworzyć tabelkę z wszystkimi zmiennymi występującymi w analizowanym fragmencie
programu (przyjmując ich początkowe wartości jako nieznane, jeśli takie są)
• Wykonywać kolejne instrukcje programu odnotowując powodowane przez nie zmiany w tabelce
– Skład FoilTEX –
←- ,→ 1
Wyrażenia i instrukcje, złożoność obliczeniowa
Ręczna symulacja
Przykład: zamiana wartości zmiennych A i B
'
$
1
2
A := 5;
B := 10;
3
4
A := B;
B := A;
&
%
nr linii
1
2
3
4
A
?
5
B
?
...
Uwagi
10
10
10
W celu przeprowadzenia ręcznej symulacji należy:
• Ponumerować wszystkie linie badanego fragmentu programu,
• Utworzyć tabelkę z wszystkimi zmiennymi występującymi w analizowanym fragmencie
programu (przyjmując ich początkowe wartości jako nieznane, jeśli takie są)
• Wykonywać kolejne instrukcje programu odnotowując powodowane przez nie zmiany w tabelce
– Skład FoilTEX –
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
*/
*/
*/
*/
%
– Skład FoilTEX –
←- ,→ 2
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
1
2
3
4
5
6
7
8
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
*/
*/
*/
*/
%
– Skład FoilTEX –
←- ,→ 2
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
1
2
3
4
5
6
7
8
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
nr linii
*/
*/
*/
*/
%
n
?
pierwsza
?
dzielnik
?
uwagi
– Skład FoilTEX –
←- ,→ 2
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
1
2
3
4
5
6
7
8
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
nr linii
1
*/
*/
*/
*/
%
n
?
27
pierwsza
?
dzielnik
?
uwagi
– Skład FoilTEX –
←- ,→ 2
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
1
2
3
4
5
6
7
8
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
nr linii
1
2
*/
*/
*/
*/
%
n
?
27
pierwsza
?
dzielnik
?
uwagi
1
– Skład FoilTEX –
←- ,→ 2
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
1
2
3
4
5
6
7
8
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
nr linii
1
2
3
*/
*/
*/
*/
%
n
?
27
pierwsza
?
dzielnik
?
uwagi
1
2
– Skład FoilTEX –
←- ,→ 2
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
1
2
3
4
5
6
7
8
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
nr linii
1
2
3
4
*/
*/
*/
*/
%
n
?
27
pierwsza
?
dzielnik
?
uwagi
1
2
warunek w while: PRAWDA
– Skład FoilTEX –
←- ,→ 2
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
1
2
3
4
5
6
7
8
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
nr linii
1
2
3
4
5
*/
*/
*/
*/
%
n
?
27
pierwsza
?
dzielnik
?
uwagi
1
2
warunek w while: PRAWDA
warunek w if: FAŁSZ
– Skład FoilTEX –
←- ,→ 2
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
1
2
3
4
5
6
7
8
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
nr linii
1
2
3
4
5
7
*/
*/
*/
*/
%
n
?
27
pierwsza
?
dzielnik
?
uwagi
1
2
warunek w while: PRAWDA
warunek w if: FAŁSZ
3
– Skład FoilTEX –
←- ,→ 2
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
1
2
3
4
5
6
7
8
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
nr linii
1
2
3
4
5
7
4
*/
*/
*/
*/
%
n
?
27
pierwsza
?
dzielnik
?
uwagi
1
2
warunek w while: PRAWDA
warunek w if: FAŁSZ
3
warunek w while: PRAWDA
– Skład FoilTEX –
←- ,→ 2
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
1
2
3
4
5
6
7
8
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
nr linii
1
2
3
4
5
7
4
5
*/
*/
*/
*/
%
n
?
27
pierwsza
?
dzielnik
?
uwagi
1
2
warunek w while: PRAWDA
warunek w if: FAŁSZ
3
warunek w while: PRAWDA
warunek w if: PRAWDA
– Skład FoilTEX –
←- ,→ 2
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
1
2
3
4
5
6
7
8
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
nr linii
1
2
3
4
5
7
4
5
6
*/
*/
*/
*/
%
n
?
27
pierwsza
?
dzielnik
?
uwagi
1
2
warunek w while: PRAWDA
warunek w if: FAŁSZ
3
warunek w while: PRAWDA
warunek w if: PRAWDA
0
– Skład FoilTEX –
←- ,→ 2
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
1
2
3
4
5
6
7
8
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
nr linii
1
2
3
4
5
7
4
5
6
4
*/
*/
*/
*/
%
n
?
27
pierwsza
?
dzielnik
?
uwagi
1
2
warunek w while: PRAWDA
warunek w if: FAŁSZ
3
warunek w while: PRAWDA
warunek w if: PRAWDA
0
warunek w while: FAŁSZ
– Skład FoilTEX –
←- ,→ 2
Wyrażenia i instrukcje, złożoność obliczeniowa
$
'
1
2
3
4
5
6
7
8
n = 27;
/* test czy n jest liczba pierwsza
pierwsza = 1;
/* zakladamy, ze tak
dzielnik = 2;
while (pierwsza && dzielnik <= N / 2)
if (n % dzielnik == 0)
pierwsza = 0;
/* jednak nie
else dzielnik += 1;
/* kolejny dzielnik
...
&
nr linii
1
2
3
4
5
7
4
5
6
4
8
*/
*/
*/
*/
%
n
?
27
pierwsza
?
dzielnik
?
uwagi
1
2
warunek w while: PRAWDA
warunek w if: FAŁSZ
3
warunek w while: PRAWDA
warunek w if: PRAWDA
0
warunek w while: FAŁSZ
– Skład FoilTEX –
←- ,→ 2

Podobne dokumenty