Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. 5- Veja o código a seguir: #include < stdio.h > #include < stdlib.h > void imprime(int v[]) { int i; for(i=0;i<10;i++)printf("v[%d]=%d\n", i, v[i]); } int main(int argc, char *argv[]) { int num[]={1,2,3,4,5,6,7,8,9,10}; __________________________ // chamada a função imprime return 0; } Está faltando o segundo comando na função main(), este deve ser uma chamada a função imprime(int v[]). Sabendo-se que o parâmetro a ser passado é um vetor,marque a alternativa com a forma correta da chamada desta função, de modo que o vetor num[] declarado na primeira linha da função main() tenha seus valores exibidos na tela. imprime(vet); imprime(num[]); imprime(v[]); imprime(num); imprime(int num []); Explicação: A chamda correta a esta função é imprime(num); pois em seu cabeçalho já está explicito que o parãmeetro é do tipo vetor de inteiros, assim basta inserir o indentificador do vetor no momento da chamada da função. 2. Analise o código a seguir: #include < stdio.h > #include < stdlib.h > void modifica(int v[]) { int temp=v[0]; v[0]=v[1]; v[1]=temp; } int main(int argc, char *argv[]) { int vetor[]={5,3}; modifica(vetor); printf("vetor[0]=%d\tvetor[1]=%d", vetor[0], vetor[1]); return 0; } Marque a alternativa correta: A saída que será exibida é v[0]=5 e v[1]=5 os valores dos campos do vetor são copiados, na função main(). A saída que será exibida é v[0]=3 e v[1]=3 os valores dos campos do vetor são copiados, na função main(). A saída que será exibida é v[0]=5 e v[1]=3 os valores dos campos do vetor não são alterados, na função main(). O programa não executa, pois há erro nas atribuições no corpo da função modifica(int v[]). A saída que será exibida é v[0]=3 e v[1]=5 os valores dos campos do vetor são alterados, na função main(). Explicação: Na função o acesso ocorre exatamente no vetor que foi passado como parâmetro, portanto há alteração do conteúdo do mesmo. 3. Um engenheiro gostaria de definir uma função para resolver um determinado problema. Observe o código abaixo e identifique a opção que exibe o que é retornado pela função. Retorna 0 caso o número digitado seja negativo Retorna 1 se o número digitado for divisível por 10 Retorna o total de algarismos do número digitado independente do sinal Nada retorna porque tem erro na função, uma vez que não testa se o número é negativo Retorna o total de números digitados e divisíveis por 10 Explicação: A função descobre divide o numero digitado por 10 e torna a dividir este resultado por 10 enquanto que o resultado das divisões são maiores que zero. Toda vez que a função realiza uma divisão é incrementada a variável c, desta forma o valor armazenado na variável c que é retornado pela função indica o número de algarismos que formam o número introduzido pelo o usuário. Gabarito Coment. Gabarito Coment. 4. Quando uma função e chamada e recebe como parâmetro o endereço de uma variável, damos o nome a esta forma de passagem de parâmetros de Passagem por: referência ponteiro memória endereço valor Explicação: Há duas formas de passagem de parâmetros em uma função. Quando passamos um valor para a variável, então chamamos passagem por valor. Ou quando passamos o endereço de uma variável chamaos de passagem de parâmetro pro referência. 5. Em todos os programas codificados em linguagem C aparece a função main(). Verifique as afirmativas. I- A execução de um programa em C inicia na primeira linha da função main() II - Alguns programas complexos em C necessitam de mais de uma função main() III - A função main() em detgerminadas situações pode ser opcional no código. IV - Embora muito importante não é possivel escrever um programa em C apenas com a função main(). Marque a alternativa CORRETA: Todas as afirmativas estão corretas As afirmativas I e III estão corretas Apenas a afirmativa I está correta As afirmativas I e II estão corretas As afirmativas I e IV estão corretas Explicação: A execução de um programa em C inicia-se a partir do primeiro comando da função main(). Não pode haver num mesmo programa mais de uma função main() e todo programa em C deve ter uma função main(), mesmo que o prorama se resuma apenas na função main(). 6. O cabeçalho de uma função é composto por: < tipo de retorno > nome da função ( lista de parâmetros). A lista de parâmetros, quando houver deve ter os parãmetros separados por vírgula e estes são entradas para a função, enquanto o tipo de retorno indica o tipo de valor que será a saída de uma função. Entretanto algumas funções não retornam nenhum valor, neste caso deve-se usar no seu cabeçalho para tipo de retorno a palavra: int float void return boolean Explicação: void é uma palavra reservada da linguagem C que quando usada antes do nome de uma função indica que a mesma não retorna valor. 7. Observe o programa abaixo e escolha a opção que apresenta o que retorna da função chamada. O menor número é retornado O maior número é retornado O valor retornado corresponde ao índice da variável que contem o menor número Nada retorna porque o nome do vetor da função main é diferente do nome do vetor da função descobre O valor retornado corresponde ao deslocamento mais um em relação ao endereço base da variável que contem o menor número Gabarito Coment. Gabarito Coment. 8. MARQUE A OPÇÃO REFERNETE VALOR FINAL DA VARIÁVEL RESULT? 9 18 11 6 7 1. Seja a função a seguir, onde são passados como parâmetros um vetor e seu tamanho, respectivamente int v[] e tam: void imprime(int v[], int tam) { int i; for(i=0; i< = tam;i++) printf("v[%d]=%d\n", i, v[i]); } Analise o código da função e marque a alternativa correta: O laço de repetição está errado pois tenta acessar fora dos limites do vetor. O cabeçalho da função possui erro , pois neste caso não pode-se usar como valor de retorno void. Não há problemas com o código da função, esta pode ser executada sem problemas. Há erro no uso da função printf(), sabendo que um dos argumentos é um elemento do vetor. A função printf() não pode ser usada com vetores. Explicação: Como o tamanho do vetor é passado pelo parâmeto tam, o laço de repetição só pode acessar da posição 0 até a posição tam-1. Portanto há erro na tentativa de acesso no vetor. 2. O presidente da construtora Sempre Verde precisou, em um determinado momento, reajustar o salário dos funcionários e, como ele sabia programar porque tinha se dedicado muito à disciplina de Linguagem de Programação I, definiu uma função com o seguinte protótipo:float calcSalario(float salario, float percentual); Baseado nesse protótipo é CORRETO afirmar que a função: Recebe dois valores, salário e o percentual de reajuste, passados por valor. Recebe dois valores passados por referência. Não retorna nenhum valor para a função chamadora. Retornará dois valores para a função chamadora. Retornará o salário somado ao percentual. Explicação: Passagem por referência precisava do & antes do nome de cada variável. Se não retornasse, teria que ser void. Nunca retorna dois valores. Não tem como dizer porque o corpo não está presente. 3. Observe o código apresentado na questão: #include < stdio.h> #include < stdlib.h> int x=4; void main(){ int x=5; exibir(x); system("PAUSE"); } void exibir(int y){ printf("%d",y); } Dentre as opções abaixo é correto afirmar: O programa exibirá 0 O programa exibirá 5 O programa exibirá 4 O programa exibirá 9 Ocorrerá um erro Gabarito Coment. Gabarito Coment. 4. Qual o tipo de retorno e quantos parâmetros tem a função abaixo? float media(int n1, int n2, int n3){ return (n1+n2+n3)/3; } Tipo de retorno: float Quantidade de parâmetros: 3 Tipo de retorno: media Quantidade de parâmetros: 2 Tipo de retorno: media Quantidade de parâmetros: 3 Tipo de retorno: int Quantidade de parâmetros: 3 Tipo de retorno: float Quantidade de parâmetros: 2 Explicação: float é o tipo de retorno; E a quantidade de parâmetros é 3, pois temos que carregar n1, n2 e n3 do tipo int na função. 5. Na definição de uma função, precisamos escrever suas partes, sendo algumas obrigatórias e outras, facultativas. tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN) { corpo da função } Das opções apresentadas abaixo, marque a que apresenta apenas partes obrigatórias de forma que a função execute alguma tarefa, sem levar em consideração os símbolos (chaves, parênteses, etc). Tipo, Nome e Parâmetros. Tipo, Parâmetro e corpo da função. Nome, Parâmetro e Corpo da função. Tipo , Nome, e Corpo da função. Tipo, Nome, Parâmetros e Corpo da Função. Explicação: Uma função terá, obrigatoriamente, seu tipo, nome para que possa ser chamada e o os comandos/ funções que formam seu corpo. Ela poderá não receber nada logo, os parâmetros nem sempre estarão presentes. Gabarito Coment. 6. Os programas inicialmente eram desenvolvidos em um único bloco, com a introdução da modularização de programas foi possível garantir uma melhora na legibilidade dos códigos, um maior aproveitamento e reuso de códigos e melhora na manutenção de sistemas. Assim o principal elemento da modularização de programas é: tipo de dados vetor variáveis funções structs Explicação: As funções são blocos de programas que proporcionam, um programa dividido em módulos, podendo estas funções serem utilizadas varias vezes no mesmo programa ou ainda em outros programas, garantindo o reuso de código. Como as funções são blocos pequenos de códigos com objetivos bem específicos, o entendimento da funcionalidade do bloco é facilitada, garantindo uma maior legibilidade do programa e em consequ~encia maior facilidade para manutenção do programa. 7. Função em C onde são colocados todos os comandos e outras funções que desejamos que sejam executadas systema("pause") main() end return begin Gabarito Coment. Gabarito Coment. Gabarito Coment. 8. Um programa pode ser formado por uma, ou mais funções. Quando existir mais de uma função, onde deverão se posicionar as demais funções em relação à função main()? Observe as afirmativas abaixo e assinale a resposta CORRETA I Antes da função main() obrigatoriamente. II Depois da função main(), obrigatoriamente, para melhorar a visibilidade, mas nada a acrescentar. III Se depois da função main(), obrigatoriamente, tem que incluir o protótipo antes. IV Pode ser antes da função main(). Somente a afirmativa I está correta. Somente a afirmativa II está correta. Somente a afirmativa IV está correta. As afirmativas III e IV estão corretas. Só a afirmativa III está correta. Explicação: Essa resposta necessita de um conhecimento prévio sobre o que está sendo perguntado. 1. Ao definirmos uma função, podemos afirmar que: I Toda função tem parâmetros II Quando nada retorna, o tipo é void III Quando todos os parâmetros são do mesmo tipo, é suficiente usar o tipo uma vez e separar os nomes dos parâmetros por vírgulas IV Na passagem por valor, o endereço da variável da função chamadora é passado para a função chamada Após uma análise das afirmativas acima, escolha a opção correta. Somente a afirmativa II está correta As afirmativas II, III e IV estão corretas As afirmativas I e II estão corretas As afirmativas II e III estão corretas As afirmativas II e IV estão corretas Explicação: Dominar os conceitos iniciais será fundamental para responder a essa questão. Sintaxe na definição de uma função está bem explicada na Aula 8 2. Um Engenheiro civil gostaria de construir uma função que pudesse calcular o total de metros lineares que deveriam ser comprados para montar o rodapé de salas retangulares. Ele pediu ao desenvolvedor para definir a função. Assinale a opção que corresponde à definição CORRETA da função. float rodapeRet(float largura, comprimento) { return largura + comprimento * 2;} float rodapeRet(float largura, float comprimento); { return largura * comprimento;} float rodapeRet(float largura, float comprimento) { return (largura + comprimento)*2;} float rodapeRet(float largura, float comprimento) { return largura * comprimento;} float rodapeRet(float largura, float comprimento); { return largura + comprimento * 2;} Explicação: A resposta é simples, pois só precisava de um conhecimento anterior sobre o perímetro de um retângulo além do que foi estudado na AULA 8 3. Dada a função abaixo, qual o valor que será retornado quando esta função for chamada com: perc(200, 15) float perc(float val, float perc) { float resp; resp = val + val * (perc/100); return resp; } 170 215 230 130 30 4. Um desenvolvedor, ao construir um programa, precisou de uma função que calculasse o produto entre dois números inteiros. Ele construiu uma função, tendo considerado a propriedade de fechamento, isto é, o produto de dois inteiros, inteiro será e colocou a linha abaixo no programa. cout << " Produto = " << multiplicar(a,b); Observe as opções abaixoe escolha aquela onde o protótipo da função está presente. float multiplicar(int a, int b) int multiplicar(int a, int b) ; void multiplicar(int a, int b) void multiplicar(int a, int b); int multiplicar(int a, b); Explicação: Se fosse do tipo void, não precisaria de cout. Todo protótipo termina com ; . O tipo de cada parâmetro precisa estar presente 5. Suponha uma Universidade cujo critério para aprovação seja o seguinte: a soma das duas provas PR1 e PR2 tem que ser maior, ou superior a 14. Caso o aluno não consiga fazer esse total, deverá ir fazer a PR3, cuja nota, acrescida à soma da PR1 com PR2, precisará ser, no mínimo, o que falta para completar 21 pontos. Assinale a opção CORRETA da definição de uma função que receba como parâmetros as notas da PR1 e da PR2, retornando a nota mínima que o aluno precisará tirar na terceira prova para que seja aprovado. float aprovacaoFinal(float pr1,float pr2) { pr3=(pr1 + pr2); } float aprovacaoFinal(float pr1, float pr2) { return 21-(pr1 + pr2); } void aprovacaoFinal (float pr1, float pr2) { return (21 - pr1 -pr2); } float aprovacaoFinal(float pr1, float pr2) { pr3 = (21-pr1-pr2); } float aprovacaoFinal( float pr1, pr2) { return 21 - ( pr1 + pr2); } Explicação: Se fosse do tipo void, não retornaria nada. O tipo de cada parâmetro precisa estar presente. O tipo float tem que retornar. 6. Quando uma função e chamada e recebe como parâmetro o endereço de uma variável, damos o nome a esta forma de passagem de parâmetros de Passagem por: memória valor referência ponteiro endereço Explicação: Há duas formas de passagem de parâmetros em uma função. Quando passamos um valor para a variável, então chamamos passagem por valor. Ou quando passamos o endereço de uma variável chamaos de passagem de parâmetro pro referência. 7. Um engenheiro gostaria de definir uma função para resolver um determinado problema. Observe o código abaixo e identifique a opção que exibe o que é retornado pela função. Retorna 0 caso o número digitado seja negativo Retorna o total de algarismos do número digitado independente do sinal Nada retorna porque tem erro na função, uma vez que não testa se o número é negativo Retorna o total de números digitados e divisíveis por 10 Retorna 1 se o número digitado for divisível por 10 Explicação: A função descobre divide o numero digitado por 10 e torna a dividir este resultado por 10 enquanto que o resultado das divisões são maiores que zero. Toda vez que a função realiza uma divisão é incrementada a variável c, desta forma o valor armazenado na variável c que é retornado pela função indica o número de algarismos que formam o número introduzido pelo o usuário. Gabarito Coment. Gabarito Coment. 8. O cabeçalho de uma função é composto por: < tipo de retorno > nome da função ( lista de parâmetros). A lista de parâmetros, quando houver deve ter os parãmetros separados por vírgula e estes são entradas para a função, enquanto o tipo de retorno indica o tipo de valor que será a saída de uma função. Entretanto algumas funções não retornam nenhum valor, neste caso deve-se usar no seu cabeçalho para tipo de retorno a palavra: float int boolean void return Explicação: void é uma palavra reservada da linguagem C que quando usada antes do nome de uma função indica que a mesma não retorna valor. 1. 5- Veja o código a seguir: #include < stdio.h > #include < stdlib.h > void imprime(int v[]) { int i; for(i=0;i<10;i++)printf("v[%d]=%d\n", i, v[i]); } int main(int argc, char *argv[]) { int num[]={1,2,3,4,5,6,7,8,9,10}; __________________________ // chamada a função imprime return 0; } Está faltando o segundo comando na função main(), este deve ser uma chamada a função imprime(int v[]). Sabendo-se que o parâmetro a ser passado é um vetor,marque a alternativa com a forma correta da chamada desta função, de modo que o vetor num[] declarado na primeira linha da função main() tenha seus valores exibidos na tela. imprime(num); imprime(num[]); imprime(v[]); imprime(vet); imprime(int num []); Explicação: A chamda correta a esta função é imprime(num); pois em seu cabeçalho já está explicito que o parãmeetro é do tipo vetor de inteiros, assim basta inserir o indentificador do vetor no momento da chamada da função. 2. Analise o código a seguir: #include < stdio.h > #include < stdlib.h > void modifica(int v[]) { int temp=v[0]; v[0]=v[1]; v[1]=temp; } int main(int argc, char *argv[]) { int vetor[]={5,3}; modifica(vetor); printf("vetor[0]=%d\tvetor[1]=%d", vetor[0], vetor[1]); return 0; } Marque a alternativa correta: A saída que será exibida é v[0]=3 e v[1]=5 os valores dos campos do vetor são alterados, na função main(). A saída que será exibida é v[0]=5 e v[1]=5 os valores dos campos do vetor são copiados, na função main(). A saída que será exibida é v[0]=3 e v[1]=3 os valores dos campos do vetor são copiados, na função main(). A saída que será exibida é v[0]=5 e v[1]=3 os valores dos campos do vetor não são alterados, na função main(). O programa não executa, pois há erro nas atribuições no corpo da função modifica(int v[]). Explicação: Na função o acesso ocorre exatamente no vetor que foi passado como parâmetro, portanto há alteração do conteúdo do mesmo. 3. Observe o programa abaixo e escolha a opção que apresenta o que retorna da função chamada. O valor retornado corresponde ao índice da variável que contem o menor número O valor retornado corresponde ao deslocamento mais um em relação ao endereço base da variável que contem o menor número O maior número é retornado O menor número é retornado Nada retorna porque o nome do vetor da função main é diferente do nome do vetor da função descobre Gabarito Coment. Gabarito Coment. 4. Em todos os programas codificados em linguagem C aparece a função main(). Verifique as afirmativas. I- A execução de um programa em C inicia na primeira linha da função main() II - Alguns programas complexos em C necessitam de mais de uma função main() III - A função main() em detgerminadas situações pode ser opcional no código. IV - Embora muito importante não é possivel escrever um programa em C apenas com a função main(). Marque a alternativa CORRETA: Todas as afirmativas estão corretas As afirmativas I e II estão corretas Apenas a afirmativa I está correta As afirmativas I e III estão corretas As afirmativas I e IV estão corretas Explicação: A execução de um programa em C inicia-se a partir do primeiro comando da função main(). Não pode havernum mesmo programa mais de uma função main() e todo programa em C deve ter uma função main(), mesmo que o prorama se resuma apenas na função main(). 5. MARQUE A OPÇÃO REFERNETE VALOR FINAL DA VARIÁVEL RESULT? 6 18 7 11 9 6. Função em C onde são colocados todos os comandos e outras funções que desejamos que sejam executadas main() end return begin systema("pause") Gabarito Coment. Gabarito Coment. Gabarito Coment. 7. Os programas inicialmente eram desenvolvidos em um único bloco, com a introdução da modularização de programas foi possível garantir uma melhora na legibilidade dos códigos, um maior aproveitamento e reuso de códigos e melhora na manutenção de sistemas. Assim o principal elemento da modularização de programas é: funções variáveis vetor structs tipo de dados Explicação: As funções são blocos de programas que proporcionam, um programa dividido em módulos, podendo estas funções serem utilizadas varias vezes no mesmo programa ou ainda em outros programas, garantindo o reuso de código. Como as funções são blocos pequenos de códigos com objetivos bem específicos, o entendimento da funcionalidade do bloco é facilitada, garantindo uma maior legibilidade do programa e em consequ~encia maior facilidade para manutenção do programa. 8. Qual o tipo de retorno e quantos parâmetros tem a função abaixo? float media(int n1, int n2, int n3){ return (n1+n2+n3)/3; } Tipo de retorno: float Quantidade de parâmetros: 2 Tipo de retorno: media Quantidade de parâmetros: 2 Tipo de retorno: float Quantidade de parâmetros: 3 Tipo de retorno: media Quantidade de parâmetros: 3 Tipo de retorno: int Quantidade de parâmetros: 3 Explicação: float é o tipo de retorno; E a quantidade de parâmetros é 3, pois temos que carregar n1, n2 e n3 do tipo int na função. 1. Seja a função a seguir, onde são passados como parâmetros um vetor e seu tamanho, respectivamente int v[] e tam: void imprime(int v[], int tam) { int i; for(i=0; i< = tam;i++) printf("v[%d]=%d\n", i, v[i]); } Analise o código da função e marque a alternativa correta: O laço de repetição está errado pois tenta acessar fora dos limites do vetor. Há erro no uso da função printf(), sabendo que um dos argumentos é um elemento do vetor. A função printf() não pode ser usada com vetores. Não há problemas com o código da função, esta pode ser executada sem problemas. O cabeçalho da função possui erro , pois neste caso não pode-se usar como valor de retorno void. Explicação: Como o tamanho do vetor é passado pelo parâmeto tam, o laço de repetição só pode acessar da posição 0 até a posição tam-1. Portanto há erro na tentativa de acesso no vetor. 2. Observe o código apresentado na questão: #include < stdio.h> #include < stdlib.h> int x=4; void main(){ int x=5; exibir(x); system("PAUSE"); } void exibir(int y){ printf("%d",y); } Dentre as opções abaixo é correto afirmar: O programa exibirá 5 Ocorrerá um erro O programa exibirá 0 O programa exibirá 9 O programa exibirá 4 Gabarito Coment. Gabarito Coment. 3. Um programa pode ser formado por uma, ou mais funções. Quando existir mais de uma função, onde deverão se posicionar as demais funções em relação à função main()? Observe as afirmativas abaixo e assinale a resposta CORRETA I Antes da função main() obrigatoriamente. II Depois da função main(), obrigatoriamente, para melhorar a visibilidade, mas nada a acrescentar. III Se depois da função main(), obrigatoriamente, tem que incluir o protótipo antes. IV Pode ser antes da função main(). Somente a afirmativa IV está correta. Somente a afirmativa II está correta. Só a afirmativa III está correta. As afirmativas III e IV estão corretas. Somente a afirmativa I está correta. Explicação: Essa resposta necessita de um conhecimento prévio sobre o que está sendo perguntado. 4. Na definição de uma função, precisamos escrever suas partes, sendo algumas obrigatórias e outras, facultativas. tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN) { corpo da função } Das opções apresentadas abaixo, marque a que apresenta apenas partes obrigatórias de forma que a função execute alguma tarefa, sem levar em consideração os símbolos (chaves, parênteses, etc). Tipo, Nome, Parâmetros e Corpo da Função. Tipo, Nome e Parâmetros. Tipo , Nome, e Corpo da função. Tipo, Parâmetro e corpo da função. Nome, Parâmetro e Corpo da função. Explicação: Uma função terá, obrigatoriamente, seu tipo, nome para que possa ser chamada e o os comandos/ funções que formam seu corpo. Ela poderá não receber nada logo, os parâmetros nem sempre estarão presentes. Gabarito Coment. 5. O presidente da construtora Sempre Verde precisou, em um determinado momento, reajustar o salário dos funcionários e, como ele sabia programar porque tinha se dedicado muito à disciplina de Linguagem de Programação I, definiu uma função com o seguinte protótipo: float calcSalario(float salario, float percentual); Baseado nesse protótipo é CORRETO afirmar que a função: Recebe dois valores passados por referência. Retornará dois valores para a função chamadora. Retornará o salário somado ao percentual. Não retorna nenhum valor para a função chamadora. Recebe dois valores, salário e o percentual de reajuste, passados por valor. Explicação: Passagem por referência precisava do & antes do nome de cada variável. Se não retornasse, teria que ser void. Nunca retorna dois valores. Não tem como dizer porque o corpo não está presente. 6. Dada a função abaixo, qual o valor que será retornado quando esta função for chamada com: perc(200, 15) float perc(float val, float perc) { float resp; resp = val + val * (perc/100); return resp; } 170 130 30 230 215 7. Um desenvolvedor, ao construir um programa, precisou de uma função que calculasse o produto entre dois números inteiros. Ele construiu uma função, tendo considerado a propriedade de fechamento, isto é, o produto de dois inteiros, inteiro será e colocou a linha abaixo no programa. cout << " Produto = " << multiplicar(a,b); Observe as opções abaixo e escolha aquela onde o protótipo da função está presente. int multiplicar(int a, int b) ; float multiplicar(int a, int b) int multiplicar(int a, b); void multiplicar(int a, int b) void multiplicar(int a, int b);Explicação: Se fosse do tipo void, não precisaria de cout. Todo protótipo termina com ; . O tipo de cada parâmetro precisa estar presente 8. Suponha uma Universidade cujo critério para aprovação seja o seguinte: a soma das duas provas PR1 e PR2 tem que ser maior, ou superior a 14. Caso o aluno não consiga fazer esse total, deverá ir fazer a PR3, cuja nota, acrescida à soma da PR1 com PR2, precisará ser, no mínimo, o que falta para completar 21 pontos. Assinale a opção CORRETA da definição de uma função que receba como parâmetros as notas da PR1 e da PR2, retornando a nota mínima que o aluno precisará tirar na terceira prova para que seja aprovado. float aprovacaoFinal(float pr1, float pr2) { return 21-(pr1 + pr2); } float aprovacaoFinal(float pr1, float pr2) { pr3 = (21-pr1-pr2); } float aprovacaoFinal( float pr1, pr2) { return 21 - ( pr1 + pr2); } float aprovacaoFinal(float pr1,float pr2) { pr3=(pr1 + pr2); } void aprovacaoFinal (float pr1, float pr2) { return (21 - pr1 -pr2); } Explicação: Se fosse do tipo void, não retornaria nada. O tipo de cada parâmetro precisa estar presente. O tipo float tem que retornar.
Compartilhar