Písemka - nematuranti

Naprogramujte funkce push(x) a pop() pracující s polem velikosti 20, které se chovají jako zásobník. Funkce push vloží jeden prvek (celé číslo) do zásobníku, funkce pop poslední prvek odebere a navrátí. Když odebíráme z prázdného zásobníku nebo přidáváme do plného, funkce vyhlásí chybu.

Ukázkové řešení - Python

# Globalni promenne
zasobnik = [0] * 20
pocet = 0

def push(prvek):
	global zasobnik, pocet # Zpristupnime globalni promenne v teto funkci
	if (pocet == 20): # Pokud by zasobnik pretekl
		raise Exception # Vyhodime vyjimku
	zasobnik[pocet] = prvek # Jinak nastavime hodnotu
	pocet += 1 # A dodatecne zvysime pocet

def pop():
	global zasobnik, pocet # Zpristupnime globalni promenne v teto funkci
	if (pocet == 0): # Pokud by zasobnik podtekl
		raise Exception # Vyhodime vyjimku
	pocet -= 1 # Nejdriv snizime pocet 
	return zasobnik[pocet] # Navratime spravny prvek a funkce skonci 

# Ukazkove pouziti
push(456)
push(23)
push(1)
print(pop())
print(pop())
print(pop())
print(pop())