Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Estácio de Sá 1/2014 Grupo A Estrutura de Dados Professora : Jane Aluno(a) : Nova América INSTRUÇÕES : Faça tudo, sem exceção, na folha pautada, especificando o número da questão e do item. Faça, obrigatoriamente, as questões objetivas com caneta. Questões de código : lápis ou caneta. Ponha nome nas folhas pautadas e na folha de questão, devolvendo todas as folhas. AV1 (vale 0.7) 1) Assinale a opção CORRETA. O protótipo da função que permitirá calcular o volume de um paralelepípedo com medidas a, b e c de acordo com o trecho da chamada : cout << “Volume = “ << volume(a,b,c); (A) float volume (float, float); (B) void volume (float , float); (C) void volume (float, float, float &); (D) float volume (float, float, float); Pede-se : a) Mostre o que é impresso na tela. b) Qual é o tipo de passagem de parâmetro usado na função descobrir ? (1. 2 ) c) Diga que variáveis são locais , identificando o escopo das mesmas . 2) Considere os trechos abaixo: int numero = 20; void descobrir(int &valor) { int auxiliar = 11; auxiliar = auxiliar – 1; valor = valor + auxiliar; numero = numero - auxiliar; cout << “Auxiliar = “ << auxiliar << endl; } int main() { int x = 300; descobrir(x); cout << "Valor 1 = " << x << " Valor 2 = " << numero << endl; } Solução : a) Auxiliar = 10 Valor 1 = 310 Valor 2 = 10 b) Passagem de parâmetro por referência c) Locais à main: x Locasi à função descobrir : valor, auxiliar (1.5) 3) Considere uma lista não ordenada com n modelos de um concurso, sendo que cada modelo possui um número de inscrição. Faça uma busca pelo número de inscrição, retornando o índice do vetor (sucesso na busca) ou -1 (fracasso na busca). Considere o protótipo : int acharModelo(int v[ ], int numero, int n); Note : v é o vetor com os números de inscrições, numero é o número de inscrição a ser pesquisado e n é a quantidade de modelos existentes em v. Solução : Notem que é a busca sequencial ensinada na aula 2. int acharModelo(int v[ ], int numero, int n) { for (int i = 0; i < n; i++) if (v[i] == numero) return i; //fora do for return -1; } //fim da função (vale 1.0) 4) Considere o trecho abaixo void misterio(int v[], int n) { //n é o número de elementos de v int i, j, m, aux; for (j = 0; j < n-1; j++) { m = j; for (i = j+1; i < n; i++) { if (v[i] < v[m]) m = i; } aux = v[j]; v[j] = v[m]; v[m] = aux; int v[ 4 ] = { 5 ,3,1,2}; misterio (v, 4); } //fim do 1o. for } //fim da função e o seguinte trecho na main : Marque a opção correta. Como ficará o vetor após a execução da função misterio ? (A) 1 3 5 2 (B) 1 2 5 3 (C) 1 2 3 5 (D) 5 1 2 3 (vale 1.6) 5) Considere o tipo struct professor { int matricula; char nome[30]; float salario; }; e faça o que se pede : Declare uma variável y do tipo definido acima. Solução : professor y; Outra solução : struct professor y; Use y e defina seu salário com o valor R$ 3200,00, seu nome como Tam Ping e matrícula 4567. Solução : y.matricula = 4567; y.salario = 3200; strcpy(y.nome, "Tam Ping"); (vale 2.0) 6) Faça um programa em C++ para ler a altura e o peso de um jogador de vôlei, calcular e imprimir o seu IMC. Para isso ... faça a entrada de dados na main; implemente uma função de nome calcularIMC que receba a altura e o peso do atleta; o resultado do IMC deverá ser impresso na main. Fórmula Matemática : IMC = peso/altura2 Solução : VEJA o .cpp #include <iostream> #include <cstdlib> using namespace std; //protótipo ou decalração da função float calcularImc(float, float); //programa principal int main() { float peso, altura, imc; cout << "\t\tCalculando o IMC " << endl << endl; cout << "Digite seu peso (ex: 90) : "; cin >> peso; cout << "Digite sua altura (ex: 1.85) : "; cin >> altura; imc = calcularImc(peso,altura); cout << "IMC = " << imc << endl; system("pause"); } //Definição da função float calcularImc(float p, float a) { return p / (a * a); }
Compartilhar