Buscar

Lista Exercicios Algoritmos

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 13 páginas

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 6, do total de 13 páginas

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 9, do total de 13 páginas

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

Prévia do material em texto

Núcleo de Informática 
Bacharel em Sistemas de Informação 
Algoritmos 
Prof. Hilton Cardoso Marins Junior 
 
CONCEITOS INICIAIS EM C 
 
1) Copie os programas abaixo para o seu ambiente de desenvolvimento e faça as devidas 
alterações para que seja possível executá-los. 
 
#include <stdio.h> 
main{}( 
printf("Existem %d semanas no ano. ", 56) 
) 
 
#include <stdio.h> 
main(){ 
int a=1; b=2; c=3; 
printf("Os numeros sao: %d, %d e %d\n",a,b,c,d) 
} 
 
ENTRADA E SAÍDA DE DADOS 
 
2) Qual será a saída do programa abaixo? 
 
#include <stdio.h> 
main(){ 
printf("%s\n%s\n%s","um","dois","tres"); 
} 
 
3) Faça um programa que receba três notas e calcule a média aritmética entre elas. 
 
4) Faça um programa que receba três notas, seus respectivos pesos, e calcule a média 
ponderada dessas notas. 
 
5) Faça um programa que receba o salário de um funcionário e o percentual de aumento, 
calcule e mostre o valor do aumento e o novo salário. 
 
6) Faça um programa que receba o salário-base de um funcionário, calcule e mostre o salário 
a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre o salário-base e 
paga imposto de 7% sobre salário-base. 
 
7) Faça um programa que receba um número positivo e maior que zero, calcule e mostre: 
a. O número digitado ao quadrado. 
b. O número digitado ao cubo. 
c. A metade do número digitado. 
d. O sucessor do número digitado. 
 
8) O custo ao consumidor de um carro novo é a soma do preço de fábrica com o percentual 
de lucro do distribuidor e dos impostos aplicados ao preço de fábrica. Faça um programa 
que receba o preço de fábrica de um veículo, o percentual de lucro do distribuidor e o 
percentual de impostos. Calcule e mostre: 
 
a. O valor correspondente ao lucro do distribuidor. 
b. O valor correspondente aos impostos; 
c. O preço final do veículo. 
 
9) Faça um programa que receba o número de horas trabalhadas e o valor do salário mínimo. 
Calcule e mostre o salário a receber seguindo as regras abaixo: 
a. A hora trabalhada vale a metade do salário mínimo. 
b. O salário bruto equivale ao número de horas trabalhadas multiplicado pelo valor 
da hora trabalhada. 
c. O imposto equivale a 3% do salário bruto. 
d. O salário a receber equivale ao salário bruto menos o imposto. 
 
10) Um trabalhador recebeu seu salário e o depositou em sua conta corrente bancária. Esse 
trabalhador emitiu dois cheques e agora deseja saber seu saldo atual. Sabe-se que cada 
operação bancária de retirada paga CPMF de 0,38% e o saldo inicial da conta está zerado. 
Faça um programa que receba o valor do salário e dos dois cheques emitidos e calcule o 
saldo atual. 
 
11) João comprou um saco de ração com peso em quilos. João possui dois gatos para os quais 
fornece a quantidade de ração em gramas. Faça um programa que receba o peso do saco 
de ração e a quantidade de ração fornecida para cada gato. Calcule e mostre quanto 
restará de ração no saco após cinco dias. 
 
12) Faça um programa que receba a medida do ângulo formado por uma escada apoiada no 
chão e encostada na parede (ângulo entre a escada e o chão) e a altura da parede onde 
está a ponta da escada. Calcule e mostre a medida desta escada. 
 
CONTROLE DO FLUXO DE EXECUÇÃO - ALTERNATIVA 
 
13) Quais as saídas produzidas pelo algoritmo abaixo? 
 
início 
 inteiro: A, B; 
 A = 1; 
 B = 2; 
 se (A > B) então 
 A = 5; 
 senão 
 B = 10; 
 fim-se; 
 imprima(A,B); 
fim. 
 
14) Implemente o algoritmo anterior em linguagem C. 
 
 
15) Leia o algoritmo abaixo e responda: 
 
a. Se B1 = verdadeiro, B2 = verdadeiro, B3 = falso, quais os comandos que serão 
executados? 
b. Se B1 = falso, B2 = verdadeiro, B3 = falso, quais os comandos que serão 
executados? 
c. Quais os valores de B1, B2, B3 para que somente o comando C5 seja executado? 
d. Se B1 = falso, B2 = verdadeiro, B3 = verdadeiro, quais os comandos que serão 
executados? 
 
início 
 ...... 
 se (B1) então 
 C1; 
 senão 
 se (B2) então 
 se (B3) então 
 C2; 
 senão 
 C3; 
 C4; 
 fim-se; 
 fim-se; 
 fim-se; 
 C5; 
fim. 
 
16) Para os valores (a=5) (b=7) e (c=9), assinale com X a seqüência de execução dos algoritmos 
abaixo e informe qual o valor da variável c ao final da execução: 
 
 Se (a=5) e (b=7) entao ( ) 
 c = c+1 ( ) 
 senao ( ) 
 c = c-1 ( ) 
 fim_se ( ) 
 
 
 Se (a=5) e (b<6) entao ( ) 
 c = 1 ( ) 
 senao ( ) 
 Se (c=8) entao ( ) 
 c = 2 ( ) 
 senao ( ) 
 c = 3 ( ) 
 fim_se ( ) 
 fim_se ( ) 
 
 
17) Indique a saída dos trechos de pseudocódigo listados abaixo. Considere os seguintes 
valores: A=2, B=3, C=5, D=9 e E=6. 
 
 se nao (D > 5) entao 
 X = (A + B) * D 
 senão 
 X = (A - B) / C 
 fim_se 
 imprima(X) 
 
se (A > 2) e (B < 7) entao 
 X = (A + 2) * (B - 2) 
 senao 
 X = (A + B) / D * (C + D) 
 fim_se 
 imprima(X) 
 
 se (A = 2) ou ( B < 7) entao 
 X = (A + 2) * (B – 2) 
senao 
 X = (A + B) / D * (C + D) 
 fim_se 
 imprima(X) 
 
 se nao (A > 2) ou nao (B < 7) entao 
 X = A + E 
 senao 
 X = A / E 
 fim_se 
 imprima(X) 
 
 se nao (A > 3) e não (B < 5) entao 
 X = A + D 
 senao 
 X = D / B 
 fim_se 
 imprima(X) 
 
 se (C >=2) e (B <= 7) entao 
 X = (A + D)/2 
 senao 
 X = D * C 
 fim_se 
 imprima(X) 
 
 se (A > 2) ou nao (B < 7) entao 
 X = A + B - 2 
 senao 
 X = A - B 
 fim_se 
 imprima(X) 
 
18) Faça um programa que gere um número aleatório de 0 a 9, receba um palpite via teclado e 
informe se o palpite é certo ou errado. 
 
Dicas: 
 
a) A instrução srand (time(NULL) ); faz com que o número gerado varie a cada execução 
do programa. Portanto só deve ser executada uma vez a cada execução do programa. 
b) A instrução numeroGerado = rand(); gera um número aleatório e atribui este valor à 
variável numeroGerado. 
c) As funções srand(), rand e time exigem a declaração da biblioteca time.h 
 
d) O operador % é chamado operador módulo ou resto da divisão. Assim, x = y % 10; 
atribui á variável x o resto da divisão de y por 10. Ou seja, se y = 23, x receberá o valor 
3. 
 
e) O número gerado com a função rand() é grande. Se aplicarmos o operador módulo 
deste número grande por 10, por exemplo, teremos sempre o resto da divisão por 10, 
o que será um número de zero a 9. 
 
f) Teste de igualdade em C é feito com == e não apenas com um =. 
 
19) Com base na tabela abaixo, criar um programa capaz de ler o código de um item e a 
quantidade deste item. A seguir, o programa deve calcular e mostrar o valor da conta a 
pagar. 
 
CÓDIGO ESPECIFICAÇÃO PREÇO UNITÀRIO 
1 Cachorro Quente R$ 4.00 
2 X-Salada R$ 4.50 
3 X-Bacon R$ 5.00 
4 Torrada simples R$ 2.00 
5 Refrigerante R$ 1.50 
 
20) Codificar um programa para verificar se 3 números inteiros podem ser lados de um 
triangulo. Informar também o tipo do triangulo: eqüilátero, isósceles ou escaleno. Dica: 
cada lado do triângulo é menor que a soma dos outros dois lados. 
 
21) Uma livraria está fazendo uma promoção para pagamento à vista em que o comprador 
pode escolher entre dois critérios de desconto: 
 
Critério A: R$ 0,25 por livro + RS$ 7,50 fixo. 
Critério B: R$ 0,50 por livro + RS$ 2,50 fixo. 
 
Faça um programa em que o usuário digita a quantidade de livros que deseja comprar e o 
programa informa qual é a melhor opção de desconto. 
 
22) Codificar um programa para verificar se um número é par ou ímpar. 
 
23) Codificar um programa para verificar se um número é divisível por outro. 
 
24) Faça um programa que receba 3 números via teclado e imprima o maior deles. 
 
25) Faça um programa para calcular a(s) raízes reais de uma equação do segundo grau. O 
programa deverá receber os 3 coeficientes enão deverá aceitar o coeficiente de x2 igual a 
zero. 
 
26) Faça um programa que recebe dois números e efetua a adição. Caso o valor somado seja 
maior que 20, este deverá ser apresentado somando-se a ele 8; caso o valor somado seja 
menor ou igual a 20, este deverá ser apresentado subtraindo-se 5. 
 
27) Uma empresa abriu uma linha de crédito para os funcionários. O valor da prestação não 
pode ultrapassar 30% do salário. Faça um programa que receba o salário, o valor do 
empréstimo e o número de prestações e informe se o empréstimo pode ser concedido. 
Nenhum dos valores informados pode ser zero ou negativo. 
 
28) Fazer um programa que mostre uma questão de múltipla escolha com 5 opções (letras a, 
b, c, d, e). Sabendo a resposta certa, receber a opção do usuário e informar a letra que o 
usuário marcou e se a resposta está certa ou errada. Usar o tipo char para armazenar a 
variável de teste do switch. Ela pode ser lida do teclado com scanf e a máscara %c ou com 
a função getchar() (opcao = getchar()). Na comparação do case, deve-se colocar o valor a 
ser comparado entre aspas simples: case 'a':, por exemplo. 
 
29) Fazer um programa que lê dois números, lê a operação desejada ( + - * / ), faz a operação 
pedida e mostra o resultado. A operação escolhida deve ser armazenada em uma variável 
do tipo char. 
 
CONTROLE DO FLUXO DE EXECUÇÃO – REPETIÇÃO COM FOR 
 
30) Modique o exercício 18 de modo que o usuário informe quantas tentativas de adivinhação 
quer fazer. O programa permite então que ele tente este número de vezes informado ou 
acaba caso ele acerte antes. 
 
Obs.: O comando break interrompe o laço (for, while ou do...while). 
 
31) Fazer um programa que tenha um menu que permita ao usuário escolher 5 opções de 
exibição de potências. As opções permitem escolher as potências de 2, 3, 5, 10 ou 15. De 
acordo com a opção escolhida, o programa exibirá todas as potências do número escolhido 
que sejam menores que 10000. 
 
32) Considere a progressão geométrica (PG) 1, 2, 4, 8, 16, 32, .... e um inteiro positivo n. 
Deseja-se que um programa faça: 
 
a. Imprimir os n primeiros termos. 
b. Calcular e imprimir a soma dos n primeiros termos da PG sem utilizar a fórmula da 
soma. 
 
33) Considere uma progressão aritmética (PA). Faça um programa que receba o termo inicial 
a1, a razão r e o número de termos a serem gerados. Em seguida, a PA é impressa, com 10 
termos por linha. 
 
Ao final, depois de imprimir todos os termos desejados, deve-se imprimir a soma dos 
termos da PA. Faça uma verificação de acerto através da fórmula da soma dos termos da 
PA dada pela expressão abaixo: 
34) Faça um programa que receba um número n e gere os n primeiros números da sequência 
de Fibonacci, Definida na fórmula: 
 
 
 
 
 
35) Faça um programa que leia um valor inteiro não negativo e imprima todos os pares de 
números inteiros não negativos cuja soma seja igual a este número. Considere que o par 
x,y é diferente de y, x e deve ser impresso duas vezes. 
 
Dica que pode ser uma usada em uma solução: a inicialização do for (primeira opção entre 
parênteses), pode conter mais de uma variável. Por exemplo: for (x = 0, y = 100; etc. . . ). 
 
36) Faça um programa que receba 10 números via teclado e imprima a soma dos números 
cujos quadrados sejam menores que 225. 
 
37) Ler um número e imprimir todos os seus divisores. 
 
38) Considere o programa (analisado em sala de aula) abaixo: 
 
main(){ 
 int linha,coluna; 
 for (linha=1;linha<=5;linha++){ 
 for (coluna=1;coluna<=5;coluna++){ 
 printf("\t[%d,%d]",linha, coluna); 
 } 
 printf("\n"); 
 } 
} 
 
A saída será a seguinte: 
 
[1,1] [1,2] [1,3] [1,4] [1,5] 
[2,1] [2,2] [2,3] [2,4] [2,5] 
[3,1] [3,2] [3,3] [3,4] [3,5] 
[4,1] [4,2] [4,3] [4,4] [4,5] 
[5,1] [5,2] [5,3] [5,4] [5,5] 
 
Considerando a saída como uma matriz, modique o programa acima para que apenas a 
diagonal principal e os dados acima dela sejam impressos. Com as modificações propostas a 
saída deverá ser assim: 
 
[1,1] [1,2] [1,3] [1,4] [1,5] 
 [2,2] [2,3] [2,4] [2,5] 
 [3,3] [3,4] [3,5] 
 [4,4] [4,5] 
 [5,5] 
 
39) Codificar um programa para calcular o valor de P dado por: 
P = 3/2 + 5/4 + 7/6 + 9/8 + ........ + 101/100 
 
40) Codificar um programa para calcular o valor de H, sendo que N deverá ser lido. 
H = 1 + 1/2 + 1/3 + 1/4 + .......+ 1/N 
 
41) Codificar um programa que calcule e mostre a soma dos números pares e a soma dos 
números impares entre X e Y, onde X e Y deverão ser lidos. 
 
42) Codificar um programa para calcular o fatorial de um número informado pelo usuário. 
 
CONTROLE DO FLUXO DE EXECUÇÃO – REPETIÇÃO COM WHILE e 
DO...WHILE 
 
43) Modifique o programa do exercício 30 de modo que o usuário possa tentar adivinhar o 
número quantas vezes desejar, tendo a opção de abandonar o programa quando quiser. 
Aumente agora o intervalo de números gerados para [0.. 99]. 
 
44) Fazer um programa com o seguinte menu: 
 
1. Informa preço da passagem 
2. Informa quantos preços já foram informados 
3. Informa total em R$ já informados 
4. Sai do programa 
 
Para a opção 1, o programa recebe o destino e se é viagem só de ida ou de ida e volta e 
informa o preço, segundo a tabela abaixo: 
 
 
 
 
 
 
 
 
 
45) Fazer um programa que leia uma quantidade desconhecida de números e imprima, no 
final, o maior deles, o menor deles e quantos números foram digitados. Para terminar de 
informar números e finalizar o programa o usuário deve informar 999. 
 
46) Fazer um programa com o seguinte menu: 
 
a. Soma vários números 
b. Multiplica vários números 
c. Sai do programa 
 
Cada opção do menu faz o que o nome sugere. 
 
47) Fazer um programa que leia X e N e informe quantos múltiplos de X existem entre 1 e N . 
Use while ou do-while e não use divisão. 
 
Exemplo: Se X = 8 e N = 30, a saída do programa será 3. Pois existem 3 múltiplos de 8 entre 
1 e 30 (8, 16 e 24). 
 
48) Existem três candidatos a uma vaga no Senado. Feita a eleição, os votos são registrados da 
seguinte forma: 
 
 
 
 
 
 
 
Codificar um programa capaz de informar: o candidato vencedor, a quantidade de votos 
em branco, nulos e o número de eleitores que compareceram às urnas. 
 
 
ESTRUTURAS DE DADOS HOMOGÊNEAS - VETOR 
 
49) Qual será a configuração do vetor num depois de executado o trecho de programa abaixo? 
 
int num[5][5], i , j; 
 
for (i=0; i<5; i++){ 
for (j=0; j<5; j++){ 
if (i>j){ 
num[i][j]=1; 
} 
if (i==j){ 
num[i][j]=0; 
} 
if (i<j){ 
num[i][j]=-1; 
} 
} 
} 
 
50) Faça um programa que receba via teclado 8 notas de uma turma. Depois de lidas todas as 
notas, calcule e imprima a média da turma. As notas devem ser armazenadas em um vetor 
de reais (float). 
 
51) Ler 2 vetores de inteiros com 11 elementos cada um. Em seguida, gerar um vetor soma 
onde cada elemento corresponda à soma dos dois elementos correspondentes dos vetores 
lidos. Gerar outro vetor produto cujos elementos correspondam ao produto dos 
elementos de mesma posição dos vetores lidos. Exibir os 4 vetores na tela. 
 
52) Ler um vetor com 8 elementos do tipo float e imprimir seus elementos de trás pra frente 
(do último ao primeiro). 
 
53) Ler 2 vetores com 7 elementos do tipo inteiro cada um e concatená-los em um terceiro 
vetor. 
 
54) Fazer um programa que receba 15 valores inteiros e os grave em um vetor. Depois desta 
etapa, percorra o vetor e identifique o maior e o menor elemento do vetor. Informe os 
Voto Significado 
1 candidato 1 
2 candidato 2 
3 candidato 3 
4 voto branco 
5 voto nulo 
 0 1 2 3 4 
0 
1 
2 
3 
4 
valores e a posição que eles ocupam no vetor. Depois destaetapa, some os elementos do 
vetor e exiba o valor desta soma. 
 
55) Fazer um programa que leia a senha do usuário e informe se a senha está correta ou 
incorreta. Considere que a senha correta está gravada no código fonte do programa. 
 
56) Fazer um programa que leia uma string e a imprima de trás pra frente. 
 
Exemplo: Digitado: ifsudestemg 
Impresso: gmetsedus 
 
57) Fazer um programa que preencha automaticamente uma matriz 3X3 com 0, 1, 2, 3, 4, ... 
Em seguida, o programa recebe, via teclado, os elementos de outra matriz 3X3. Por fim, o 
programa calcula e exibe a matriz soma das duas primeiras matrizes. 
 
58) Fazer um programa que leia os elementos de uma matriz 4X4. Em seguida, o programa 
calcula e exibe a soma dos elementos da diagonal principal. 
 
59) Codificar um programa para simular a verificação se o dado usado em um determinado 
jogo é “viciado” ou não. Considere que dado não “viciado” é aquele em que não há grande 
variação na quantidade de vezes que cada face é sorteada ao final de vários lançamentos. 
 
O programa deve permitir que o usuário escolha o número de faces do dado (mínimo de 2) 
e a quantidade de lançamentos a serem simulados. 
 
Após fazer a simulação, o programa deverá emitir um relatório apresentando a 
quantidade de vezes que cada face fora sorteada. 
 
60) Fazer um programa com o seguinte menu: 
 
1. Inserir notas 
2. Exibir nota do aluno 
3. Modifica nota 
4. Média do aluno 
5. Média da turma na disciplina 
6. Média geral da turma 
7. Exibir todas as notas 
8. Sair 
 
Dicas: 
 A turma tem 5 alunos e cada aluno tem 3 disciplinas. 
 As notas devem ser inseridas em uma matriz 5X3. 
 Considere que as opções 2, 3, 4, 5, 6 e 7 só podem ser executadas se a opção 1 já tiver 
sido executada. 
 Considere que a opção 1 só pode ser executada uma vez. 
 A opção 2 pede o número do aluno e exibe suas notas. 
 A opção 3 pede o número do aluno e da disciplina, lê a nova nota e substitui a antiga 
pela nova. 
 A opção 4 pede o número do aluno, calcula e exibe sua média. 
 A opção 5 pede o número da disciplina, calcula e exibe a média da turma na disciplina. 
 
MODULARIZAÇÃO: FUNÇÕES 
 
61) Considerando a função abaixo. 
 
int M(int K, int L){ 
if (K > L){ 
return 1; 
} 
 
if (K == L){ 
return 0; 
} 
 
if (K < L){ 
return -1; 
} 
} 
 
Calcule: 
 
a) M(3,2) 
b) M(3,2) + M(2,3) + M(2,2) 
c) M(2 * M(3,2), M(2,3 + 2)) 
 
62) Considerando a função: 
 
int X(int A, int B, int C){ 
if ((A > B) && (B > C)){ 
return A; 
} 
 
if ((A < B) && (B < C)){ 
return A; 
}else{ 
return (A + B + C) / 3; 
} 
} 
 
Calcule: 
 
a) X(10, 8, -1) 
b) X(1, 3, 5) 
c) X(5, 2, -1) 
d) X(X(10, 8, -1), 6 * X(1, 3, 5), 2) 
 
63) Fazer um programa que execute até que o usuário decida encerrar. Na execução, o 
programa recebe 2 números, o usuário escolhe a operação desejada ( + - * / ) e o 
programa efetua a operação desejada. Use chamadas de funções para executar as 
operações. Não permita divisão por zero. 
 
 
64) Refaça o programa que calcula as raízes de um equação do 2º. grau usando funções. As 
seguintes funções devem ser criadas e usadas: 
 
float calculaDelta(float, float, float): recebe os coeficientes da equação e retorna o valor 
de delta. 
 
float calculaRaizUm(float, float, float): recebe os coeficientes a e b da equação, recebe o 
valor de delta e retorna o valor de uma das raízes da equação. 
 
float calculaRaizDois(float, float, float): recebe os coeficientes a e b da equação, recebe o 
valor de delta e retorna o valor da outra raíz da equação. 
 
65) Fazer um programa que gere e imprima um vetor com 20 números inteiros. Estes números 
devem ser aleatórios e gerados pela função int geraInt(int limiteSuperior). Esta função 
gera aleatoriamente um número inteiro entre 0 e limiteSuperior. 
 
66) Faça um programa com um menu contendo as seguintes opções: gera vetor, exibe vetor, 
acha maior, acha menor, calcula média dos elementos, calcula soma dos elementos, 
calcula produto dos elementos, sai do programa. 
 
Considere que o vetor em questão tem 15 elementos reais. Implemente cada opção do 
menu através da chamada de uma função específica. 
 
67) Codificar uma função que calcule o saldo final de uma aplicação financeira levando em 
consideração: 
 
a) que haverá um único deposito inicial. 
b) que a cada dia o valor aplicado deverá ser atualizado por uma taxa de juros. 
c) que o valor permanecerá aplicado por um prazo em dias. 
 
A função deverá obrigatoriamente possuir o seguinte protótipo: 
 
float aplica(double d, double t, int p); 
 
onde: d = valor do depósito inicial 
t = taxa de juros diária 
p = prazo em dias da aplicação 
 
68) Números palíndromos são aqueles que escritos da direita para a esquerda têm o mesmo 
valor. Ex. 929, 545, 97379. Codifique uma função que seja capaz de receber um número 
inteiro e retornar o seu respectivo palíndromo. 
 
Obs.: Para que seja possível testar a função, será necessário codificar um programa que 
solicite os dados necessários a serem passados como parâmetros para a função. 
 
69) Codificar um programa capaz de verificar através de uma função, se um número é ou não 
palíndromo de outro. A função deve receber os dois números e retornar “verdadeiro” ou 
“falso”. 
 
 
 
 
ESTRUTURAS DE DADOS HETEROGÊNEAS - Struct 
 
70) Faça um programa para ler o nome de diversas cidades e suas respectivas populações. 
Após esta etapa, o programa deverá imprimir o nome da cidade mais populosa. Não use 
vetor. 
 
71) Faça um programa que leia as seguintes informações sobre os alunos de uma turma: 
nome, nota do 1º bimestre, nota do 2º bimestre, nota do 3º bimestre, nota do 4º bimestre 
e quantidade de faltas. Não use vetor. 
 
O programa deverá emitir um relatório que mostre para cada aluno o nome, a média das 
notas e a situação (aprovado ou reprovado). Considere aprovado o aluno com média >= 70 
e quantidade de faltas <= 25. 
 
Ao final o programa deverá imprimir a quantidade de aprovados, quantidade de 
reprovados, percentual de aprovados, percentual e reprovados, a média da turma, 
quantidade de alunos abaixo da média da turma e quantidade de alunos acima da média 
da turma. 
 
72) Refaça os dois programas anteriores usando vetor.

Outros materiais