Buscar

ECT1203 - 2a. Lista de Exercícios

Prévia do material em texto

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE 
ESCOLA DE CIÊNCIAS E TECNOLOGIA 
ECT1203 – Linguagem de Programação 
2ª Lista de Exercícios 
 
 
FUNÇÕES 
 
Questão 12: O que será impresso na tela pelo programa abaixo, considerando-se que o usuário, 
quando solicitado, forneceu os valores 10 e 20? 
 
#include <iostream> 
using namespace std; 
 
int soma1(int a, int b); 
void soma2(int a, int b, int& r); 
 
int main() 
{ 
int a, b, r1=0, r2=0, r3=0; 
 
cin >> a >> b; 
 
soma1(a, b); 
 
cout << a << b << r1; 
 
r2 = soma1(a, b); 
 
cout << a << b << r2; 
 
soma2(a, b, r3); 
 
cout << a << b << r3; 
 
return 0; 
} 
 
int soma1(int a, int b) 
{ 
 return a + b; 
} 
 
void soma2(int a, int b, int r) 
{ 
 r = a + b; 
} 
 
 
Questão 13: O que será impresso na tela pelo programa abaixo, considerando-se que o usuário, 
quando solicitado, forneceu os valores 10 e 20? 
 
int func1(int x); 
int func2(int &x); 
void func3(int &x, int &y); 
void func4(); 
 
int x=10; 
 
int main() 
{ 
int a, b; 
 
cin >> a >> b; 
 
func1(a); 
 
cout << a << b << x; 
 
func2(a); 
 
cout << a << b << x; 
 
func3(a, b); 
 
cout << a << b << x; 
 
func4(); 
 
cout << a << b << x; 
 
return 0; 
} 
 
int func1(int x) 
{ 
 x++; 
cout << x; 
return x; 
} 
 
int func2(int& x) 
{ 
 x++; 
 cout << x; 
 return x; 
} 
void func3(int& x, int &y) 
{ 
 x++; 
 y++; 
} 
void func4() 
{ 
 x++; 
} 
 
 
Questão 14: Escreva uma função chamada nome que simplesmente imprima na tela o seu nome 
completo. Escreva um programa que execute a função nome. 
 
Questão 15: Escreva uma função para verificar se um número é par ou impar. A função deve receber 
como parâmetro um número inteiro n e retornar o valor 1 caso n seja par e 0 caso contrário. 
 
Questão 16: Escreva uma função chamada somatorio que receba como parâmetros 2 números 
inteiros n1 e n2 e retorne o somatório de todos os números inteiros contidos no intervalo [n1,n2]. 
Escreva um programa de teste que receba do usuário dois números inteiros, passe-os como 
parâmetro para a função somatorio e imprima na tela o valor resultante da mesma. 
 
Questão 17: Faça uma função que receba com parâmetro um número float n e outros dois valores i e 
d por referência. Estes dois valores irão receber respectivamente a parte inteira e a parte decimal de 
n. Em seguida, escreva um programa principal que receba do usuário um valor v e imprima na tela a 
parte inteira e a parte decimal de v. 
 
Questão 18: Escreva uma função chamada primo que receba como parâmetro um número inteiro 
positivo x e retorne 1 se x é primo, ou 0 em caso contrário. Em seguida, escreva um programa que 
receba do usuário um inteiro não-negativo n e, utilizando a função primo, imprima a soma dos n 
primeiros números primos. 
 
Questão 19: Escreva uma função chamada Troca3 que receba por referência três parâmetros inteiros 
a, b e c. Ao término da função, a variável a deve conter o valor de b, b deve conter o valor de c e c 
deve conter o valor de a (a = b, b = c, c = a). 
Dica: Uma forma de resolver o problema é construir uma função auxiliar chamada Troca2 que recebe 
por referência dois parâmetros k1 e k2 e troca os valores dos mesmos (k1 = k2, k2 = k1). A função 
Troca3 deve utilizar a função Troca2 
 
Questão 20: Escreva uma função chamada Ord3 que receba por referência três parâmetros inteiros 
a, b e c. Ao término da função os valores de a, b e c devem ser ordenados de forma decrescente 
nessas mesmas variáveis, de tal forma que a >= b >= c. Por exemplo, se a = 5, b = 4 e c = 3, após a 
chamada da função Ord3, a = 3, b = 4 e c = 5. 
 
 
Questão 21: Calculadora: Escreva quatro funções chamadas adicao, subtracao, multiplicacao e 
divisao que recebam cada uma como parâmetros dois números inteiros a e b e retornem 
respectivamente a soma, a diferença, o produto e a divisão de a por b. 
 
Crie outra função chamada menu que imprima na tela as seguinte opções: 
 
***************** 
* Calculadora Simples. Opcoes possiveis: 
* 1. Adicao 
* 2. Subtracao 
* 3. Multiplicacao 
* 4. Divisao 
* 5. Sair do programa 
**************** 
 
Em seguida crie uma função chamada opcao que receba do usuário um número inteiro 
representando uma das opções acima. Se a opção for inválida, informe ao usuário e peça para ele 
entrar com um novo número até que este represente uma opção válida. A função deve retornar a 
opção válida informada pelo usuário. 
 
Por fim, crie um programa que utilize a função menu para fazer a impressão do menu de opções na 
tela; utilize a função opcao para ler a opção do usuário; receba do usuário dois números reais x e y e 
utilize a função apropriada para realizar a operação desejada pelo usuário. Imprima o resultado na 
tela e volte a imprimir o menu, até que o usuário entre com a opção 5. 
 
 
FUNÇÕES RECURSIVAS 
 
Questão 29: Utilizando funções recursivas, escreva uma função na linguagem C++ que implemente a 
função f(x), matematicamente definida por: 
 
 ( ) {
 ( ) 
 
 
 
Questão 30: Utilizando funções recursivas, implemente programas na linguagem C++ que: 
 
a) Mostre na tela o somatório de 1 até um número digitado pelo usuário 
b) Mostre na tela os n primeiros números da série de Fibonacci. 
c) Somar os elementos de um vetor passado como parâmetro. 
 
Questão 31: Sendo 
 
 x 
 
Faça uma função recursiva para o cálculo da potência. Assuma potência inteira positiva, e em uma 
segunda versão considere também potências negativas.

Continue navegando