next up previous
Next: About this document ...

Primeira Prova de MAC-211
Primeiro semestre de 2001

  1. (2.0 pontos) A seguinte função em linguagem C é transformada em linguagem de montagem pelo gcc no Linux; mostre a situação completa da pilha quando o primeiro comando de atribuição da função é executado.
    int Func (char *string, int len, int mode)
     {
            int temp;
            char minhaSequencia[4];
            temp = 0;
            .
            .
            .
     }
    

  2. (2.5 pontos) Escreva uma função em linguagem de montagem (passível de ser chamada por uma função em C compilada com o gcc no Linux) que, dados os inteiros $a$, $b$ e $c$, calcula a maior raiz da equação do segundo grau com coeficientes $a$, $b$ e $c$, onde $a \neq 0$. Todos os cálculos devem ser feitos usando-se apenas números inteiros (o resto da divisão pode ser ignorado). Assuma a existência de uma função da biblioteca matemática int raiz_quadrada (int x) que devolve a raiz quadrada (arredondando-a para um inteiro) do parâmetro $x$. O protótipo da função deverá ser

    int Bascara (int a, int b, int c, int *erro);

    O valor retornado em erro deve ser 0 caso nenhum erro tenho ocorrido e 1 caso as suas raízes sejam complexas.

  3. (1.0 ponto) Suponha que o procedimento A chama o procedimento B, que por sua vez chama o procedimento C que finalmente chama o procedimento D. As chamadas não envolvem passagem de parâmetros pela pilha nem alocação de variáveis locais. Como o procedimento D pode retornar diretamente para o procedimento A?

  4. (2.0 pontos) Escreva uma seqüência de comandos UNIX separados pelo caractere pipe, i.e. $\vert$ para

  5. (2.5 pontos) Escreva um filtro em linguagem C que receba um arquivo texto na sua entrada padrão e que jogue para a saída padrão todos as linhas que contenham uma cadeia de caracteres dada em sua linha de comando. Ao final ele deve imprimir quantas linhas possuem tal cadeia. Exemplos de utilização:

    meugrep OlhaEuAqui
    
    meugrep "Esse e' o meu String"
    

Divirta-se e boa prova!



next up previous
Next: About this document ...
Fabio Kon 2002-04-17