Baixe o app para aproveitar ainda mais
Prévia do material em texto
Técnicas de Programação Prova 1 1 de novembro de 2013 Nome: RA: Informações 1. Qualquer evidência de plágio resultará em nota Zero na DISCIPLINA. 2. Resposta final a lápis eliminará qualquer direito de reconsideração de nota na ques- tão. 3. A interpretação da questão faz parte da avaliação, quaisquer dúvidas não serão respondidas pelo professor durante o tempo de prova. Questões 1. (1 ponto) O centro de uma esfera fica localizado em uma posição no espaço definida por três variáveis cx, cy, e cz. A esfera também possui um raio r. Defina um registro (struct) para representar esferas. 2. (1 ponto) Explique para que serve o typedef e forneça um código exemplificando o uso. 3. (1 ponto) Considere o seguinte trecho de código. # include <stdio.h> void troca (int *a, int *b) { int *t; *t = *a; *a = *b; *b = *t; } int main () { int a = 2; int b = 3; troca(&a,&b); printf ("%d %d\n", a, b); return 0; } RESPONDA: • Explique porque o código acima está errado e depois forneça uma modificação correta da função troca. Técnicas de Programação Prova 1 Página 1 de 2 Nome: 4. (3 pontos) Considere o código abaixo: 1 # include <stdio.h> 2 3 typedef struct formiga Formiga; 4 struct formiga { 5 int id; 6 Formiga *proxima; 7 }; 8 9 int main () { 10 int i; 11 Formiga a[5]; 12 Formiga *x; 13 /* montando uma fila de formigas */ 14 for (i = 0; i < 4; i++) { 15 a[i].id = i + 1; 16 a[i].proxima = a + (i + 1); 17 } 18 (a + i)->id = i + 1; 19 (a + i)->proxima = NULL; 20 21 /* Formigas se reorganizando */ 22 x = a + 1; 23 x->proxima = x->proxima->proxima; 24 25 /* Imprimindo a nova fila de formigas */ 26 x = a; 27 while(x != NULL) { 28 printf ("%d ", x->id); 29 x = x->proxima; 30 } 31 32 return 0; 33 } RESPONDA: • Qual é o tipo da variável a ? • Qual é o tipo da variável x ? • O que o programa imprimirá na saída padrão ? • Desenhe um diagrama representando o estado da memória após a execução da linha 23. • A linha 18 pode ser substituída pelo código abaixo (sim/não) ? a[i].id = i + 1; Técnicas de Programação Prova 1 Página 2 de 2
Compartilhar