Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Atividades 1. É possível que uma função chame outra função? Até agora, vimos que o programa principal chama uma função, e depois que ela é executada, o programa volta ao fluxo principal. Mas será que existem situações nas quais uma função precisa chamar outra? A distância entre dois pontos com coordenadas (x1,y1) e (x2,y2) é dada pela fórmula: 𝑑𝐴𝐵 = √(𝑥𝐴 − 𝑥𝐵)2 + (𝑦𝐴 − 𝑦𝐵)2 Sendo assim, e usando a biblioteca cmath.h para calcular a raiz quadrada e as potenciações, faça um programa que calcule a distância entre dois pontos, dada as suas coordenadas,informadas pelo usuário. 2. Qual a finalidade de usar funções em C++? a) Fazer tarefas específicas. b) Fazer com que os programas rodem mais rápido. c) Reduzir o número de linhas de código. d) Tornar o programa mais fácil. e) Deixar os laços de repetição mais curtos. 3. Analise as frases a seguir: i. Uma função pode retornar mais de um valor simultaneamente. ii. Uma função precisa estar declarada para poder funcionar. iii. Se uma função não retorna valor, o tipo de retorno deve ser declarado como void. 2 De acordo com o que vimos na aula, as frases são respectivamente: a) Verdadeira, verdadeira, verdadeira. b) Falsa, falsa, falsa. c) Verdadeira, verdadeira, falsa. d) Verdadeira, falsa, falsa. e) Falsa, verdadeira, verdadeira. 4. Analise as frases abaixo: i. Em uma função, o return não é necessário se o tipo de retorno é diferente de void. ii. Uma variável local declarada em uma função não é válida fora da função. iii. Uma função pode ter mais do que um parâmetro. Os valores dos parâmetros são passados para a função quando ela é chamada. Quais das frases são verdadeiras? a) Somente i b) Somente ii c) Somente iii d) Somente i e iii e) Somente ii e iii 3 5. A função abaixo está (assinale a alternativa com a justificativa correta): void minhafuncao(int x,int y){ cout<<x*y; return(x*y); } a) Correta. O código está correto. b) Errada, pois não podemos retornar dessa forma (x*y). c) Errada, pois não há variáveis locais. d) Errada, pois o tipo de retorno é void e há um return. e) Errada, pois o cout está incorreto. 6. Observe os códigos de declaração abaixo: i. int soma(int x,y) ii. int soma(x,y) iii. int soma(int x,void y) Quais deles estão corretos? a) Somente i b) Somente ii c) Somente iii d) Todos estão corretos. e) Nenhum está correto. 4 Chaves de resposta: Questão 1: #include <iostream> #include <math.h> using namespace std; float distancia(int x1,int y1,int x2,int y2){ float termo1, termo2, resultado; termo1 = pow((x2-x1),2); termo2 = pow((y2-y1),2); resultado = sqrt(termo1+termo2); return resultado; } int main (void){ int x1,y1,x2,y2; float dist; cout<<"Digite a coordenada X do ponto 1:"<<endl; cin>>x1; cout<<"Digite a coordenada Y do ponto 1:"<<endl; cin>>y1; cout<<"Digite a coordenada X do ponto 2:"<<endl; cin>>x2; cout<<"Digite a coordenada Y do ponto 2:"<<endl; cin>>y2; dist = distancia(x1,y1,x2,y2); cout<<"A distancia entre os dois pontos eh "<<dist; } Questão 2: Resposta: Letra a. O objetivo de uma função é realizar tarefas específicas e modularizar o programa. Isto não implica em reduzir o número de linhas de código. Questão 3: Resposta: Letra e. Uma função não pode retornar mais do que um valor. As afirmações ii e iii estão corretas. 5 Questão 4: Resposta: Letra e. As frases ii e iii são verdadeiras. A frase i está incorreta: o return é obrigatório quando o tipo é diferente de void. Questão 5: Resposta: Letra d. A função possui um return e o tipo de retorno dela é void. Questão 6: Resposta: Letra e. Todos têm algum tipo de erro. (i) Falta o tipo do parâmetro y. (ii) Falta o tipo dos parâmetros x e y. (iii) Não podemos ter tipo void nos parâmetros.
Compartilhar