Buscar

P1 2014/1 gabarito

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INF01202 – ALGORITMOS E PROGRAMAÇÃO 
Prof. Marcelo Walter – Prova 1 28/04/2014 
 
 
NOME:____________________________GABARITO__________________________________ 
 
Para todos os programas, omita os cabeçalhos de bibliotecas e utilize identação para melhorar 
a legibilidade dos programas. 
 
1ª questão – (1,5 pontos) 
Seja o programa a seguir (propositalmente sem comentários e identação). Apresente a saída em tela 
gerada pela execução do programa. 
 
#include <stdio.h> 
int main() 
{ 
int i, x, y; 
int z; 
int passou = 0; 
 
for (i=4; i>0; i--) 
{ y=i; 
while (!passou) 
{ y ++; 
x = y + i; 
printf("x=%d y=%d\n", x,y); 
if (x > 10 ) 
{ passou = 1; 
x-= 5; 
do 
{ printf("x=%d " , x); 
x+= 2; 
} while (x<11); 
} 
} 
printf("i=%d \n", i); 
} 
return 0; 
} 
 
Saída em tela: 
x=9 y=5 
x=10 y=6 
x=11 y=7 
x=6 x=8 x=10 i=4 
i=3 
i=2 
i=1 
 
 
 
 
2ª questão – (2,5 pontos) 
Uma função f é definida pela série de potências abaixo: 
€ 
f (x) = x1× 2 −
x 3
3 × 4 +
x 5
5 × 6 −
x 7
7 × 8 + ..., para 0.10.1 ≤≤− x 
Escreva um programa em C que leia um valor x do teclado, verifique se está no domínio da função, 
ou seja, dentro do intervalo especificado, e caso positivo calcule o valor aproximado da função 
nesse ponto, parando de incluir termos quando o valor do termo a ser incluído (em módulo) for 
menor do que uma tolerância E também lida do usuário. A tolerância deve estar entre (0, 0.01]. 
Imprima o valor calculado. 
 
3ª questão – (3 pontos) 
 
Escreva um programa em C que lê um inteiro n e um caractere c do teclado e escreve como saída n 
linhas onde a cada linha será escrito n, n-1, n-2, n-3... 1 caracteres maiúsculos a partir do caractere 
lido, separados por espaços em branco. Por exemplo, se for fornecido n=5 e o caracter ‘f’ : 
F F F F F 
G G G G 
H H H 
I I 
J 
 
 
4ª questão – (3 pontos) 
Escreva um programa em C que implementa um sistema para controle de matrículas de alunos 
através de um menu de opções com apenas 2 opções: 1 – Matrícula Aluno e 2 – Sai do Programa. 
Faça consistência das opções do menu 
As informações sobre as disciplinas possíveis (apenas 3 disciplinas) são armazenadas em 3 vetores, 
um deles vetor de strings (ou seja, uma matriz de caracteres), conforme a tabela abaixo: 
 
Cod Nome da Disciplina Número de Vagas 
12 Cálculo I 30 
45 Física I 35 
55 Algoritmos 40 
 
Apresente as opções de matrícula ao aluno num menu (códigos e nomes das disciplinas), leia e 
valide o código referente a disciplina escolhida e verifique se ainda há vagas disponíveis. Em caso 
positivo imprima a mensagem “Aluno matriculado na disciplina XXX” ou se não houver vagas 
imprima a mensagem “Disciplina XXX sem vagas!”. A cada passagem do laço de interação com o 
usuário, somente um aluno é matriculado em uma disciplina. Abaixo exemplo de execução:

Outros materiais