Baixe o app para aproveitar ainda mais
Prévia do material em texto
60 Q1 (5 pontos). A partir do trecho de código abaixo, complete o programa criando as funções que faltam. Resposta: #include <iostream> using namespace std; struct aluno { int mat; float notas[3]; }; float calcula(struct aluno turma[]) { int i, q; float s1, s2, s3, m1, m2, m3; s1 = turma[0].notas[0] + turma[0].notas[1] + turma[0].notas[2]; s2 = turma[1].notas[0] + turma[1].notas[1] + turma[1].notas[2]; s3 = turma[2].notas[0] + turma[2].notas[1] + turma[2].notas[2]; m1 = s1/3; m2 = s2/3; m3 = s3/3; cout<<"Escolha a media de um aluno\n"; cout<<"Aluno 1: digite 1\n"; cout<<"Aluno 2: digite 2\n"; cout<<"Aluno 3: digite 3\n"; cin>>q; switch(q) { case 1: return m1; break; case 2: return m2; break; case 3: return m3; 1º Avaliação de Algoritmos II Nome: Data: Valor: 25 pontos Curso: break; default: cout<<"Invalido"; break; } } void leAluno(struct aluno turma[]) { int i; for(i=0; i<3; i++) { cout<<"Entre com os dados do " << i+1 << " aluno\n"; cout<<"Entre com a matricula: "; cin>>turma[i].mat; cout<<"Entre com a primeira nota: "; cin>>turma[i].notas[0]; cout<<"Entre com a segunda nota: "; cin>>turma[i].notas[1]; cout<<"Entre com a terceira nota: "; cin>>turma[i].notas[2]; cout<<"\n"; } } void imprimeT(struct aluno turma[]) { int i; for(i=0; i<3; i++) { cout<<"Dados do " << i+1 << " aluno\n"; cout<<"Matricula: " << turma[i].mat << "\n"; cout<<"Primeira Nota: " << turma[i].notas[0] << "\n"; cout<<"Segunda Nota: " << turma[i].notas[1] << "\n"; cout<<"Terceira Nota: " << turma[i].notas[2] << "\n"; cout<<"\n"; } } int main(int argc, char** argv) { struct aluno turma[3]; leAluno(turma); imprimeT(turma); float m = calcula(turma); cout<<"Media: " << m; return 0; } Q2 (4 pontos). Ao se utilizar um vetor como parâmetro para uma função, que informação está sendo passada à função? a. Uma cópia de todos elementos do vetor b. Uma cópia do primeiro elemento do vetor c. O endereço do primeiro elemento do vetor d. O endereço de todos os elementos do vetor Q3 (4 pontos). Analise a função a seguir: O valor n = 10 exibe: a) 0 b) 1 c) 80 d) 1920 e) 3840 Q4 (4 pontos). Analise a função a seguir: A chamada f(18,12) retornará como resultado o valor: a) 0 b) 6 c) 12 d) 24 e) 40 Q5 (4 pontos). O que faz o seguinte programa e qual será sua saída. Resposta: Esse programa faz a tabuada do número armazenado na variável b da função mistério. Sua saída será o resultado da multiplicação. Q6 (4 pontos). Quais as afirmativas são verdadeiras? a. Você pode retornar para um programa quantas variáveis de uma função desejar através do comando return. F b. Uma função só pode ter um comando return. F c. Os protótipos de função servem para declarar as funções, isto é, indicar para o compilador qual o seu nome, tipo de retorno e o número e tipos dos parâmetros. V d. Variáveis declaradas em uma função são acessíveis por todas as outras funções. F e. Se uma função não retorna nada ela deve ser declarada como void. V f. O retorno da função main é feito para o sistema operacional. V g. As bibliotecas <iostream> e <string> contêm o protótipo de algumas funções da biblioteca do C++. V h. Funções podem ser definidas dentro de outras funções. F i. Não se pode utilizar variáveis com o mesmo nome em funções diferentes. F j. Os parâmetros recebidos por uma função armazenam cópias das variáveis usadas na chamada da função. V
Compartilhar