Wykład 1, str. 14
[^akoś^ęzykó^jDragramowani^^^oTteri^^cen^
ekspresywność — łatwość wyrażenia w języku pojęć potrzebnych do obliczeń. Przykład:
„zaprogramować wieże Hanoi”
M
• mamy przełożyć wszystkie krążki z pałeczki 1 na pałeczkę 3, używając pomocniczo pałeczki 2,
• na raz wolno przełożyć tylko jeden krążek,
• nigdy nie wolno kłaść krążka większego na mniejszy.
^Jakoś^ęzykó^jmgmmowani^^^uTten^Jcen^j
z rekursją bez rekursji
void Hanoi(int n,
int a, int b, int c) {
/* n krążków
z pałeczki a na pałeczkę c */ if (n > 0) {
Hanoi(n-1, a, c, b); przełóż krążek z a na c; Hanoi(n-1, b, a, c);
}
}
rekursją poprav
skomplikowane operacje na stosie