Baixe o app para aproveitar ainda mais
Prévia do material em texto
Nome: ____________________________________________________________ Matr.: _______________ Subturma: T05___ PROVA ESCRITA 2 (vale 6,0 pontos) • Leia atentamente cada questão, preenchendo as suas respostas no caderno de respostas, sem rasurar; • Qualquer parte desta prova pode ser utilizada como rascunho. (vale 2,0 pontos) 1) Considere o seguinte programa em C++, execute-o e informe o que é impresso pelo programa: #include <iostream> using namespace std; int r; struct X { char id; int a; int d; }; int process( int po, int de ) { int res = po de; if( res > 0 ) res = 1; else if( res < 0 ) res = 1; return res; } int main() { X ro[3], rb; char n[3] = { 'x', 'y', 'z' }; r = 5; for(int i = 0; i < 3; i++) { ro[i].id = n[i]; ro[i].a = r + 2; ro[i].d = r 3; r += 4; } cout << ro[0].id << ro[0].a << ro[0].d << endl; r = 1; rb.id = 'v'; rb.a = r + 7; rb.d = 6; ro[r] = rb; cout << ro[r].id << ro[r].a << ro[r].d << endl; rb.id = 's'; rb.a = 5; rb.d = 3; r = rb.a rb.d; ro[r].id = n[r]; ro[r].a = 4; ro[r].d = 6; cout << process( rb.a, ro[r].d ) << process( ro[r].a, rb.d ) << endl; return 0; } UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA ECT1203 – Linguagem de Programação – 2013.1 2ª Avaliação Escrita – Turma 05 Prof. João Paulo Prova 2 TipoA possui este ponto após a palavra Prof (vale 2,0 pontos) 2) Faça um programa em C++ que realize um cadastro de 200 pessoas para um censo demográfico. Para cada pessoa, deverá ser lido: nome, idade, sexo (M ou F), telefone e endereço. Considere as seguintes tarefas que o seu programa deverá realizar obrigatoriamente: (0,5 ponto) a) Declare as seguintes estruturas em seu programa, para representar uma pessoa e seu endereço, respectivamente: (0,5 ponto) b) Utilizando as estruturas declaradas anteriormente, realize o cadastro de 200 pessoas, lendo para cada: nome, idade, sexo (M ou F), telefone, endereço (logradouro, numero, bairro, cidade e estado); Após cadastro, declare e implemente em seu programa as seguintes funções, obedecendo os seus protótipos: (0,4 ponto) c) Uma função para calcular o número de pessoas de um determinado sexo. A função receberá o vetor com as pessoas cadastradas, seu tamanho (200) e o sexo (M ou F) a ser considerado na contagem. A função irá retornar o valor do número de pessoas do sexo considerado no parâmetro. Eis o protótipo: int contar_genero( Pessoa p[], int tamanho, char sexo ); (0,4 ponto) d) Uma função para determinar qual pessoa é a mais velha de todas as 200 pessoas cadastradas. Esta função recebe o vetor de pessoas cadastradas e seu tamanho (200). Esta função não retornará qualquer valor (void), mas terá que informar o nome, a idade e o endereço da pessoa mais velha. Eis o protótipo: void mais_velha( Pessoa p[], int tamanho ); (0,2 ponto) e) O seu programa deverá imprimir: • Todos os dados de todas as pessoas cadastradas; • O número de pessoas do sexo masculino e do sexo feminino; • O nome, a idade e o endereço da pessoa mais velha cadastrada. Prova 2 TipoA pede para encontrar a pessoa mais velha. RASCUNHO (vale 2,0 pontos) 3) Faça um programa em C++ que calcule a quantidade de tempo em segundos decorridos a partir das 00:00:00 (HH:MM:SS) do dia atual até um horário (hora, minutos e segundos) informado pelo usuário. Considere como obrigatório em seu programa: (0,3 ponto) a) Leitura do horário informado pelo usuário. O horário será informado também através de três valores: horas, minutos e segundos; (0,5 ponto) b) Criar uma função que converta horas para segundos. Esta função recebe o valor em horas e retorna o valor calculado em segundos. Obedeça o seguinte protótipo: int hourToSec( int qt_horas ); (0,5 ponto) c) Criar uma função que converta minutos para segundos. Esta função recebe o valor em minutos e retorna o valor calculado em segundos. Obedeça o seguinte protótipo: int minToSec( int qt_minutos ); (0,5 ponto) d) Utilizando as funções anteriores, hourToSec() e minToSec(), calcule a quantidade total de segundos das 00:00:00 até o horário informado pelo usuário; (0,2 ponto) e) Imprima o horário lido do usuário no formato HH:MM:SS e imprima também a quantidade de segundos decorridos desde as 00:00:00 até o horário informado pelo usuário. Dicas: • 1 hora = 3600 segundos; • 1 hora = 60 minutos; • 1 minuto = 60 segundos; • 1 dia = 24 horas. RASCUNHO
Compartilhar