Buscar

Lista de Exercícios - Programação Estruturada

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Programação Estruturada 
 Prof. Gustavo Neves Dias, M.Sc. 
 
Rio Comprido - 2018.1 1/3 
 
1ª Lista de Exercícios 
Unidade 1 - Funções e Recursividade 
1. Escreva um programa em C que leia pares de pontos (X,Y), que representam coordenadas 
cartesianas, até seja digitado o ponto (0,0). Escreva também uma função denominada de 
“verificarQuadrante” para verificar e indicar em qual quadrante cada par (X,Y) lido caiu, 
ou seja, verificar se o par (X,Y) lido pertence ao primeiro, segundo, terceiro ou quarto 
quadrante. Ao final, além de indicar o quadrante de cada ponto seu programa deve escrever 
a quantidade de pontos que caíram em cada quadrante. 
Veja a figura abaixo que representa cada quadrante em relação aos eixos cartesianos. 
 
Dica: 
 1º Quadrante: X>0 e Y>0 
 
 2º Quadrante: X<0 e Y>0 
 
 3º Quadrante: X<0 e Y<0 
 
 4º Quadrante: X>0 e Y<0 
 
2. Escreva um programa em C que contenha uma função recursiva denominada de “elevar” 
que eleve um número “N” a uma determinada potência “E” inteira e positiva. Considere a 
seguinte definição recursiva da função. 
 elevar(N,E) = 1, se E=0; 
 elevar(N,E) = N * eleva(N,E-1), se E>0. 
Depois transforme essa função recursiva em um procedimento recursivo (procedure) 
utilizando passagem de parâmetro por referência. 
 
1º quadrante 2º quadrante 
3º quadrante 4º quadrante 
Eixo X 
Eixo Y 
(0, 0) 
 
 
 Programação Estruturada 
 Prof. Gustavo Neves Dias, M.Sc. 
 
Rio Comprido - 2018.1 2/3 
 
3. Escreva um programa em C que leia do teclado um inteiro N, maior ou igual a 1, e que 
apresente no vídeo N linhas da forma abaixo: 
Por exemplo, as seguintes linhas devem ser apresentadas se N = 5. 
1 2 3 4 5 
6 7 8 9 
10 11 12 
13 14 
15 
Se N  1, uma mensagem de erro deve ser apresentada na tela. 
 
4. Escreva um programa em C que leia 3 notas (de zero a dez) N1, N2 e N3 e uma letra. 
Se a letra for A, a função calcula a média Aritmética das notas; 
Se a letra for P, a função calcula a média Ponderada (com os pesos: 5, 3 e 2); e 
Se a letra for H, a função calcula a média Harmônica. 
 
Dica1: 
Média Harmônica H é definida por: 
 
 
Dica2: https://www.youtube.com/watch?v=L0WDPN50m6A 
 
5. Escreva um programa em C que contenha uma função que recebe três valores relativos a 
medidas de segmentos de reta como entrada e retorne se esses valores formam um 
triângulo ou não. 
Dica: Só irá existir um triângulo se, somente se, os seus lados obedeceram à seguinte regra: 
um de seus lados deve ser maior que o valor absoluto (módulo) da diferença dos outros dois 
lados e menor que a soma dos outros dois lados. Veja o resumo da regra abaixo: 
 | b - c | < a < b + c 
 | a - c | < b < a + c 
 | a - b | < c < a + b. 
 
 
 
 Programação Estruturada 
 Prof. Gustavo Neves Dias, M.Sc. 
 
Rio Comprido - 2018.1 3/3 
 
6. A função de Ackermann é definida, para valores inteiros e não negativos m e n, 
recursivamente da seguinte forma: 
A(m,n) = n+1, se m=0; 
A(m,n) = A(m-1,1) se m>0 e n=0; 
A(m,n) = A(m-1,A(m,n-1)) se m>0 e n>0. 
Escreva um programa em C que leia do teclado dois inteiros m e n, maiores ou iguais a 0, e 
escreva na tela o valor da função de Ackermann A(m,n). O programa deverá escrever uma 
mensagem de erro caso m ou n sejam menores do que 0. 
O função que calculará A(m,n) deverá ser implementada de forma recursiva. 
DESAFIO: Qual o valor de A(1,1)? 
 
7. Escreva um programa em C que contenha uma função que recebe a Velocidade Média de 
um veículo (V), seu Consumo Médio (CM), e o Tempo de Percurso (T). 
V = Velocidade média (em Km/Hora) 
CM = Consumo Médio (em Km/Litros) 
T = Tempo de percurso (em Horas) 
No fim, calcule a distância percorrida (D) e a quantidade de combustível consumido (C): 
LC = Litros Consumidos (em Litros)  LC = DP/CM 
DP = Distância percorrida (em Km)  DP = V * T 
 
8. Escreva um programa em C que contenha uma função que recebe a idade de uma pessoa 
em anos, meses e dias e retorna essa idade expressa em dias.

Outros materiais