Buscar

a09 t11

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.

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes