Tópicos

Processamento semântico e geração de código Postfix (não optimizado).

Exercício 1

Traduza para Postfix (não optimizado) a seguinte função:

int *click ( int *x, int dim ) {

int *res, i;

for (i = dim -2, res = x+dim -1; i >= 0; i-- )

if (x [i ] > *res ) res = &x [i ];

return res;

}

Exercício 2

Traduza para Postfix (não optimizado) a seguinte função:

int main ( ) {

extern void printd ( double );

double d, e;

d = e = 3.3e-2;

printd (d + e );

return 0;

}

Exercício 3

Traduza para Postfix (não optimizado) a seguinte função:

void isort(int a[], int length) {

for (int i = 0; i < length; i++) {

int v = a[i];

for (int j = i - 1; j >= 0; j--) {

if (a[j] <= v) break;

a[j + 1] = a[j];

}

a[j + 1] = v;

}

}

Resoluções

As soluções para estes exercícios podem ser encontradas no wiki da disciplina.