(→Exercício 2) |
|||
Line 6: | Line 6: | ||
Considere a seguinte função em C: | Considere a seguinte função em C: | ||
− | <c> | + | <source lang="c"> |
int find(int tab[], int max, int val) { | int find(int tab[], int max, int val) { | ||
int i; | int i; | ||
Line 14: | Line 14: | ||
return i; | return i; | ||
} | } | ||
− | </ | + | </source> |
# Traduza para código Postfix '''não optimizado''' a função acima. | # Traduza para código Postfix '''não optimizado''' a função acima. | ||
Line 28: | Line 28: | ||
Considere a seguinte função em C: | Considere a seguinte função em C: | ||
− | <c> | + | <source lang="c"> |
int main() { | int main() { | ||
int a[10], i = 1; | int a[10], i = 1; | ||
Line 35: | Line 35: | ||
return 0; | return 0; | ||
} | } | ||
− | </ | + | </source> |
# Traduza-a para código Postfix '''não optimizado''' a função acima. | # Traduza-a para código Postfix '''não optimizado''' a função acima. |
Contents[hide] |
Processamento semântico e geração de código Postfix. Optimização.
Considere a seguinte função em C:
int find(int tab[], int max, int val) {
int i;
for (i = 0; i < max; i++)
if (tab[i] == val)
break;
return i;
}
Escreva em código Postfix não optimizado uma função que recebe os valores dos três coeficientes de uma equação de 2º grau (ax² + bx + c) e devolve o número de raizes. Que optimizações poderia fazer a nível do código Postfix?
Considere a seguinte função em C:
int main() {
int a[10], i = 1;
a[0] = 0;
while (i < 10) a[i++] = a[i-1] + 2 * i - 1;
return 0;
}