Baixe o app para aproveitar ainda mais
Prévia do material em texto
INF01202 – ALGORITMOS E PROGRAMAÇÃO Prof. Marcelo Walter – Prova 1 24/09/2014 NOME:________________________________________________________________________ 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 mesmo. #include <stdio.h> #define TAM 6 int main() { int v[]={-1,1,0,-2,2,3}; int i,j, a=2, b=10; for(i=0;i<TAM;i++) { if (v[i] > 0) { j=v[i]; while(j>0) { printf("%d\n", a * b); a++; b--; j--; } } } return 0; } 2ª questão – (3 pontos) Foi feita uma pesquisa para determinar o perfil dos alunos que ingressaram na Ciência da Computação na UFRGS num determinado semestre. Escreva um programa que: 1. Leia inicialmente o número total de alunos (n>0, faça validação) que prestaram vestibular para Ciência da Computação no semestre; 2. Leia, em seguida num laço, um número indeterminado de informações sobre os alunos que passaram no vestibular. Para cada aluno o programa deve ler o sexo do aluno ('m' para masculino e 'f' para feminino) e o número de vezes que este aluno prestou vestibular. A última linha, que não entrará nos cálculos, contém no lugar do sexo a letra ‘x’ (minúsculo). Este é o "sinal" para parar de ler dados. Determine e imprima ao final da entrada de dados: • a porcentagem de alunos que passaram no vestibular • a porcentagem de alunos do sexo masculino que passaram no vestibular • a porcentagem de alunos, independente de sexo, que prestou vestibular 3 ou mais vezes no período OBS: Você não deve usar vetores nesta questão. 3ª questão – (2,5 pontos) Uma conta corrente bancária é composta por um código com 6 dígitos, além de um dígito verificador (dv). Para se certificar de que um código de agência foi digitado corretamente, é feita a comparação do dígito verificador (dv) por um outro dígito calculado (dc). O cálculo do dc é feito nos algarismos do código da conta correspondente multiplicando-se os algarismos do código pelos números primos (1, 2, 3, 5, 7 e 11) e o resto da divisão desta soma por 9, como mostrado abaixo: a) Código da conta digitado = 250126 , dígito verificador digitado (dv = 7) b) Soma dos produtos dos algarismos do código da agência pelos números primos: sp = 2*1 + 5*2 + 0*3 + 1*5 + 2*7 + 6*11 = 97 c) Dígito verificador calculado (dc = resto da divisão de sp por 9) = 7 d) Como o dígito verificador dv é igual ao dígito calculado (dc) conclui-se que a conta foi digitada corretamente. Fazer um programa com 2 vetores: um para o código da conta (cc) e outro para os números primos (np), conforme os passos abaixo: a) declarar o vetor np com os números primos 1, 2, 3, 5, 7 e 11; b) ler os algarismos do código da conta para o vetor cc e o dígito verificador dv do código da conta; c) calcular o dígito verificador calculado, dc; d) se dv ≠ dc, emitir mensagem de erro e encerrar o processamento; e) se o código da conta foi digitado corretamente, imprimir o mesmo e a mensagem “Digitado corretamente”. 4ª questão – (3 pontos) Uma empresa de ônibus MW tem saídas diárias de Porto Alegre para outras cidades do Brasil, conforme tabela abaixo: Código Destino Tarifa 11 Florianópolis R$ 95.70 23 Uruguaiana R$ 112.20 55 Caxias do Sul R$ 45.55 62 Rio de Janeiro R$ 136.89 Faça um programa que exiba na tela a lista de destinos disponíveis com o valor da passagem e, em seguida, receba como entrada o código do destino escolhido e a quantia em dinheiro recebida do passageiro. Se o dinheiro recebido for insuficiente, imprima uma mensagem de erro; caso contrário, calcule o troco e imprima na tela o destino escolhido, o valor da passagem e o valor do troco. O valor digitado para o código de destino deve ser um dos valores válidos acima ou 99 para sair do programa.
Compartilhar