Algoritmo - Exercicio

Iai galera, blz?
Comecei na aula de algoritmo e me deparei com um exercicio que imaginei ser facil ate que tentei resolver a questão que esta me dando dor de cabeça é:
3. Dado o algoritmo a seguir, apresente o valor produzido como saída, se o valor da entrada x for igual a 30, e quando for igual a 36.
declare
x, y, z: inteiro
y ← 1
z ← 0
leia x
enquanto (x > y) faça
x ← x - y
z ← z + 1
y ← y + 2
escreva z

alguem pode me ajudar?? Eu ja pesquisei, mas não consegui resolver

O objetivo do exercício é executar o algoritmo linha por linha.
Não é difícil, mas é trabalhoso.
Por que isto é importante?
Por que ajuda a debugar o código, uma vez que você sabe qual resultado deveria ser gerado e não foi.

Assim, se você quer resolver questões como esta, basta substituir linha por linha os valores atribuídos a cada variável, como dito é trabalhoso, mas não é difícil.

Pra ter uma noção, compare o algoritmo com uma implementação satisfatória em java, com um pequeno ajuste:

public static void main(String[] args) {
        int x, y = 1, z = 0;
        int atual = 30;//alterar o valor para 36, para o segundo teste
        x = atual;
        while (x > y) {            
            x = x - y;
            z = z + 1;
            y = y + 2;
            System.out.println("Para x iniciado em "+atual+" temos: x = "+x+" y = "+y+" z = "+z);
        }
    }

Quando o valor é 30 temos como saida:

x = 29 y = 3 z = 1
x = 26 y = 5 z = 2
x = 21 y = 7 z = 3
x = 14 y = 9 z = 4
x = 5 y = 11 z = 5

E para x iniciado em 36:
x = 35 y = 3 z = 1
x = 32 y = 5 z = 2
x = 27 y = 7 z = 3
x = 20 y = 9 z = 4
x = 11 y = 11 z = 5

Agora que você sabe as saídas, recomendo estudar novamente a questão, fazendo as atribuições linha por linha, para ver se compreende o funcionamento.

Té+

Blz, vlw