Difference between revisions of "Compiladores/Aula Prática 12"

From Wiki**3

< Compiladores
(Tópicos)
(Problema)
Line 3: Line 3:
 
Processamento semântico e geração de código Postfix (não optimizado).
 
Processamento semântico e geração de código Postfix (não optimizado).
  
== Problema ==
+
== Exercício 1 ==
 +
 
 +
Traduza para Postfix (não optimizado) a seguinte função escrita em C:
 +
<c>
 +
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;
 +
}
 +
</c>
 +
 
 +
== Exercício 2 ==
 +
Traduza para Postfix (não optimizado) a seguinte função escrita em C:
 +
<c>
 +
int main() {
 +
  extern void printd ( double );
 +
  double d, e;
 +
  d = e = 3.3e-2;
 +
  printd (d + e );
 +
  return 0;
 +
}
 +
</c>
 +
 
 +
== Exercício 3 ==
 +
Traduza para Postfix (não optimizado) a seguinte função:
 +
<c>
 +
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;
 +
  }
 +
}
 +
</c>
  
 
== Resolução ==
 
== Resolução ==

Revision as of 18:25, 9 February 2015

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 escrita em C: <c> 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;

} </c>

Exercício 2

Traduza para Postfix (não optimizado) a seguinte função escrita em C: <c> int main() {

 extern void printd ( double );
 double d, e;
 d = e = 3.3e-2;
 printd (d + e );
 return 0;

} </c>

Exercício 3

Traduza para Postfix (não optimizado) a seguinte função: <c> 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;
 }

} </c>

Resolução

As ligações acima contêm as soluções para os exercícios propostos.

Procurar resolver sem consultar.