NOME DO ALUNO : | ||
NUSP : | ||
ASSINATURA: | ||
Nota | |
Questão 1 | |
Questão 2 | |
Questão 3a | |
Questão 3b | |
Questão 4 | |
TOTAL |
Simule a execução do programa abaixo, destacando a saída e os estados das variáveis nos pontos (*), (**) e (***). Utilize como entrada os três últimos dígitos de seu número USP. Assim, se seu NUSP for 3267962, a entrada será 962.
#include <stdio.h> #include <malloc.h> typedef struct no * apont; struct no { int info; apont prox; }; void InsereInicio (apont * inicio, int x) { apont novo; novo = (apont) malloc( sizeof(struct no) ); novo->info = x; novo->prox = *inicio; *inicio = novo; } void RemoveInicio (apont * inicio) { apont p = *inicio; *inicio = (*inicio)->prox; free (p); } void ImprimeLista (apont inicio) { apont p; printf("Lista: "); for (p = inicio; p!= NULL; p = p->prox) printf("%d ", p->info); printf("\n"); } int main() { apont lista = NULL; int numero, d; scanf("%d", &numero); printf("Entrada = %d\n", numero); d = numero % 10; numero = numero / 10; if (d > 5) InsereInicio(&lista, d); ImprimeLista(lista); (*) d = numero % 10; numero = numero / 10; InsereInicio (&lista, d); ImprimeLista(lista); (**) RemoveInicio(&lista); ImprimeLista(lista); (***) return 0; }
Exemplo: Dada a frase AB*C*D** a seqüência de letras que serão desempilhadas será BCDA.
Dada a seqüência EST*EÉ***FA*C**IL*** qual é a seqüência de letras
desempilhada?
b. Usando a convenção acima, insira asteriscos na palavra BOLA para obter como saída:
Aproveite este última folha para fazer uma crítica à disciplina: aulas, trabalhos, listas, etc. O que você acha que deve ser mudado nos próximos meses?
Sua nota nesta questão (a menos que você a deixe em branco) será completa, independentemente do que você escrever.