Você está na página 1de 10

MINISTRIO DA EDUCAO UNIVERSIDADE FEDERAL DOS VALES DO JEQUITINHONA E MUCURI-UFVJM

PR-REITORIA DE GRADUAO
DIAMANTINA MG

CURSO
Sistema de Informao
Lista de Exerccio PER. TURNO DATA

DISCIPLINA
Algoritmo e Estrutura de Dados I
AEDSI

2 Noturno Professor: Marcus Vinicius Carvalho Guelpeli

20/11/2013

1. Fazer um programa para receber valores inteiros X, Y e Z do usurio e determinar se estes valores podem formar os lados de um tringulo. Em caso afirmativo, informar se o tringulo equiltero, issceles ou escaleno. 2. Fazer um programa que recebe 3 valores no inteiros do usurio e mostra o maior deles, o menor deles e a mdia. 3. Faa um programa que leia uma lista de 50 nmeros, colocando-os em um vetor, aps o trmino da leitura, mostre os elementos com o ndice menor que 10 e com valor igual zero. Os valores podem variar de 0 a 10, caso estejam fora desta faixa o programa deve recusar (dar uma mensagem- n fora da faixa) e entrar novamente com o valor. 4. Faa um programa que leia uma lista de 200 nmeros, mostre os nmeros lidos repetidos e quais foram as posies que no ocorreram as repeties. Os nmeros da lista no esto em nenhuma ordem especfica. 5. Fazer um programa que entre com 10 nmeros. Separar os nmeros pares no VetPar e os nmeros mpares no VetImpar. No final mostrar quantidades de elemento nos vetores, seus somatrios e o contedo dos vetores. 6. Fazer um programa que preencha aleatoriamente no (intervalo 1-100) uma matriz 5x10. O programa no permitir o preenchimento com nmeros mltiplos de 3. Caso isso ocorra dever ser sorteado um novo nmero. 7. Faa um programa que, dada uma seqncia qualquer de notas de alunos variando de 0 a 10 escreva, ao final da digitao, a maior e a menor das notas. O final ser identificado pela introduo de uma nota -1, que no deve fazer parte do clculo. 8. Escreva um programa para calcular o resultado das sries dadas a seguir, onde o valor de N fornecido pelo usurio. 0 + 1 + 1/2 + 1/3 + 1/4 + 1/5 + ... + 1/N (1/2)2 + (2/3)2 + (3/4)2 + ... + ((N-1)/N)2 N! (fatorial de N) 1*3 + 3*5 + 5*7 + ...+ N*(N+2) 0 - 1 + 1/2 - 1/3 + 1/4 - 1/5 + ... 1/N 1! - 3! + 5! - 7! + ... + N! 9. Preparar um programa para ler as medidas da base e da altura de um tringulo, calculando e imprimindo sua rea, sabendo que o clculo da rea dado por: rea = (base*altura)/2.

10. Escreva um programa que leia um valor real correspondente a uma medida em metros, convertendo o valor dado em ps (1 metro = 3.315 ps), exibindo os valores dado e convertido. Caso o usurio fornea um valor negativo, deve ser exibida uma mensagem e a operao de converso no deve ser efetuada. 11. Fazer um projeto que crie os programas clculo de reas. Menu rea: 1. Quadrado 2. Retngulo 3. Tringulo isscele 4. Tringulo Escaleno 5. Tringulo retngulo 6. Circulo 7. Cubo 8. Paralelogramo 9. Sair 12. Construa um programa que receba trs nmeros inteiros e verifique qual o maior nmero e o 10 sucessores e os 20 antecessores desde nmero. 13. Faa um programa que calcule a soma de N nmeros quaisquer fornecidos pelo usurio. O valor de N deve ser tambm dado pelo usurio (sugere-se que N seja o primeiro valor fornecido). 14. Escreva programa que calcule a soma de N nmeros quaisquer fornecidos pelo usurio. O programa deve parar de ler (e, portanto somar) valores quando for introduzido o nmero 0 (zero). 15. Fazer um programa que crie um loop finito que termina quando usurio digitar o numero 0. Mostrar quantas vezes o programa ficou no loop. 16. Faa uns programas para calcular a somatria, a soma dos quadrados entre os n primeiros nmeros naturais. 17. Escrever um programa que gera e escreva os nmeros mpares entre 100 e 200. 18. Escrever um programa que l 100 valores, um de cada vez, e conta quantos deles esto no intervalo [10, 20] e quantos deles esto fora deste intervalo, escrevendo estas informaes. 19. Fazer um programa para ler as coordenadas x e y de dois pontos e calcular a distncia entre os dois pontos no plano, atravs da seguinte frmula: d = 20. Fazer um programa que l um conjunto de 10 valores e os imprime ordenados. 21. Fazer um programa que recebe como parmetro um vetor de 5 posies contendo as notas de um aluno ao longo do ano e devolve a mdia do aluno. 22. 23. Faa um programa que entre com 10 nmeros pelo teclado; armazene-os em um vetor de dez posies; imprima-o na tela na ordem em que os nmeros foram entrados e depois na ordem inversa. 24. Fazer um programa que l um conjunto de 10 valores inteiros e verifica se algum dos valores igual a mdia dos mesmos.

25. Fazer um programa que l valores para uma matriz do tipo float de 5 linhas por 3 colunas e imprime a diferena entre a mdia dos elementos das colunas pares e a mdia dos elementos das linhas mpares.

26. Fazer um programa que l uma string qualquer de no mximo 80 caracteres e imprime: Quantos caracteres tm a string; Quantos caracteres so de pontuao; Quantos caracteres so nmeros; Quantos caracteres so minsculos. 27. Fazer um programa que l uma string contendo palavras separadas por um espao em branco cada e as imprime uma abaixo das outras. 28. Faa um programa que dada uma mensagem entrada via teclado pelo usurio (mximo de 255 caracteres), determine o nmero de palavras nela. Dica: cuidado com espaos consecutivos. Ex.: " eu estou aqui " tem 3 palavras. 29. Fazer uma rotina que aguarda uma string do teclado e retorna o valor 1 se a string digitada foi "SIM" e 0 se a string digitado foi "NAO". O programa s deve retornar alguma coisa se a string digitada for "SIM" ou "NAO". 30. Fazer um programa que recebe uma string como parmetro e imprime quantas palavras (separadas por espaos em branco) o mesmo contm. 31. Fazer um programa que solicita um nmero inteiro e soletra o mesmo na tela. Ex:124: um, dois, quatro 32. Faa um programa que verifique se um nmero dado via teclado primo. Dica: para saber se um nmero n primo, basta dividir por cada um dos nmeros menores que ele; se o resto for diferente de zero pra todos (n%d!=0, pra qualquer d menor que n), ele primo. 33. Escrever um programa que recebe uma string e um caracter como parmetro e remove todas as ocorrncias do caracter da string. 34. Escreva programa que receba uma string um caracter e o ndice de uma posio da string como parmetro e insira o caracter na posio "empurrando" todos os demais para o lado. 35. Faa um programa que determina se uma mensagem entrada pelo teclado ou no um palndromo (pesquise o seignificado desta palavra). 36. Escreva um programa para calcular e mostrar o salrio semanal de uma pessoa, determinado pelas condies que seguem. Se o nmero de horas trabalhado for inferior a 40, a pessoa recebe $8,00 por hora, seno a pessoa recebe $320,00 mais $12,00 para cada hora trabalhada acima de 40 horas. O programa deve pedir o nmero de horas trabalhadas como entrada e deve dar o salrio como sada.

37. Um vendedor necessita de um programa que calcule o preo total devido por um cliente. Escreva um programa que recebe o cdigo de um produto e a quantidade comprada e calcula o preo total, usando a tabela abaixo:

Cdigo do Produto 1000 2000 2300 4213 5909

Preo Unitrio 12,90 3,00 22,50 50,00 34,89

38. Escrever um programa que recebe os 3 comprimentos de lados a, b, c e os ordena em ordem decrescente, de modo que a represente o maior dos 3 lados lidos. Determine, a seguir, o tipo de tringulo que estes 3 lados formam, com base nos seguintes casos escrevendo sempre os valores e uma mensagem adequada na funo principal do programa: Se a > b+c no formam tringulo algum. Se a2 = b2 + c2 formam um tringulo retngulo. Se a2 > b2 + c2 formam um tringulo obtusngulo. Se a2 < b2 + c2 formam um tringulo acutngulo. Se forem todos iguais formam um tringulo equiltero. Se a=b ou b=c ou a=c ento formam um tringulo issceles. 39. O departamento que controla o ndice de poluio do meio ambiente mantm 3 grupos de indstrias que so altamente poluentes do meio ambiente. O ndice de poluio aceitvel varia de 0,05 at 0,25. Se o ndice sobe para 0,3 as indstrias do 1 grupo so intimadas a suspenderem suas atividades, se o ndice cresce para 0,4 as do 1 e 2 grupo so intimadas a suspenderem suas atividades e se o ndice atingir 0,5 todos os 3 grupos devem ser notificados a paralisarem suas atividades. Escrever um programa que l o ndice de poluio medido e emite a notificao adequada aos diferentes grupos de empresas. 40. Faa um programa que conte de 10 a 3, mostrando na tela, e calcula a soma desses nmeros, usando lao for. 41. Escreva um programa para calcular o fatorial de um nmero x. 42. A Srie de Fibonacci tem como dados os 2 primeiros termos da srie que so respectivamente 0 e 1. partir deles, os demais termos so construdos pela seguinte regra: tn = t n-1 + t n-2. Escrever um programa que gera os 10 primeiros termos da Srie de Fibonacci e calcula e escreve a soma destes Termos:0 1 1 2 3 5 8 13 21 ... 43. Escrever um programa que gera os 10 primeiros termos da Srie Fibonacci e os escreve, juntamente com o seu nmero de ordem. 44. Faa um programa que mostre uma contagem na tela de 233 a 456, s que contando de 3 em 3 quando estiver entre 300 e 400 e de 5 em 5 quando no estiver.

45. Escrever um programa que l um nmero no determinado de valores para m, todos inteiros e positivos, um de cada vez. Se m for par, verificar quantos divisores possui e escrever esta informao. Se m for mpar e menor do que 12 calcular e escrever o fatorial de m. Se m impar e maior ou igual a 12, calcular e escrever a soma dos inteiros de 1 at m. 46. Faa um programa que receba a idade de uma pessoa e mostre na sada em qual categoria ela se encontra: 10-14 infantil 15-17 juvenil 18-25 adulto 47. Escrever um programa que l um nmero n (nmero de termos de uma progresso aritmtica), a1(primeiro termo desta progresso) e r (razo da progresso) e escreve os n termos desta progresso, bem como a sua soma. 48. Faa um programa que sorteie um nmero aleatrio entre 0 e 500 e pergunte ao usurio qual o "nmero mgico". O programa dever indicar se a tentativa efetuada pelo usurio maior ou menor que o nmero mgico e contar o nmero de tentativas. Quando o usurio conseguir acertar o nmero o programa dever classicar o usurio como: De 1 a 3 tentativas: muito sortudo De 4 a 6 tentativas: sortudo De 7 a 10 tentativas: normal > 10 tentativas: tente novamente

49. Entrar via teclado com N valores quaisquer. O valor N (que representa a quantidade de nmeros) ser digitado, dever ser positivo, mas menor que vinte. Caso a quantidade no satisfaa a restrio, enviar mensagem de erro e solicitar o valor novamente. Aps a digitao dos N valores, exibir: O maior valor; O menor valor; A soma dos valores; A mdia aritmtica dos valores; A porcentagem de valores que so positivos; A porcentagem de valores negativos; Aps exibir os dados, perguntar ao usurio de deseja ou no uma nova execuo do programa. Consistir a resposta no sentido de aceitar somente S ou N e encerrar o programa em funo dessa resposta. 50. Escreva um programa que descubra um nmero imaginado pelo usurio entre 0 e n>0. Para cada valor sugerido pelo programa como sendo o valor imaginado pelo usurio, o usurio deve responder (honestamente) se o valor sugerido pelo programa igual, menor ou maior do que o valor imaginado. A execuo do programa deve terminar assim que o programa "adivinhar" o valor imaginado pelo usurio. 51. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decmetros, centmetros e milmetros. 52. Fazer um programa que solicita um nmero decimal e imprime o correspondente em hexa e octal.

53. Fazer um programa em "C" que pergunte um valor em graus Fahrenheit e imprime no vdeo o correspondente em graus Celsius usando as frmulas que seguem. a) Usar uma varivel double para ler o valor em Fahrenheit e a frmula C=(f-32.0) * (5.0/9.0). b) Usar uma varivel int para ler o valor em Fahrenheit e a frmula C=(f-32)*(5/9). 54. Fazer um programa em "C" que solicite 2 nmeros e informe: a) A soma dos nmeros; b) O produto do primeiro nmero pelo quadrado do segundo; c) O quadrado do primeiro nmero; d) A raiz quadrada da soma dos quadrados; e) O seno da diferena do primeiro nmero pelo segundo; f) O mdulo do primeiro nmero. 55. Dar o total em Reais de um cofrinho que contenha: n1 moedas de 1 real n2 moedas de 50 centavos n3 moedas de 25 centavos n4 moedas de 10 centavos n5 moedas de 5 centavos n6 moedas de 1 centavo. 56. Faa um programa que mostre uma contagem na tela de 233 a 456 e depois de 456 de volta para 233, s que contando de 3 em 3 quando estiver entre 300 e 400 e de 5 em 5 quando no estiver. 57. Faa um programa que compute quantos so os mltiplos de 2, de 3 e de 5 entre 1 e 100; compute tambm quantos so os nmeros mltiplos de 2, 3 e 5 ao mesmo tempo. Dica: um nmero x mltiplo de outro nmero y se x%y==0, ou seja, h diviso inteira entre eles - o resto zero. 58. Faa um programa que calcula o maior nmero que seja menor que cem dado pela soma dos primeiros n nmeros naturais. Exemplo: se fosse pra fazer igualzinho mas pro nmero menor que vinte, o programa ia achar: 1+2+3+4+5=15 j que 1+2+3+4+5+6=21 , que estoura o limite; portanto, nesse caso n=5. 59. Faa um programa que converte um nmero da base 7, entrado pelo teclado, para a base 10. 60. Faa um programa que converte um nmero da base 10, entrado pelo teclado, para a base 7.

1. Para cada soluo de exerccio usar as estruturas abaixo: FOR / WHILE / DO WHILE 1. Fazer um programa para receber dois nmeros do usurio e calcular o seu MDC utilizando o mtodo de Euclides. O programa deve continuar pedindo dois nmeros at que 0 e 0 sejam fornecidos. 2. Fazer um programa para receber dois nmeros inteiros do usurio e mostrar o seu MMC (mnimo mltiplo comum). 3. Escreva um programa que calcule a soma de N nmeros quaisquer fornecidos pelo usurio. O programa deve parar de ler (e portanto somar) valores quando for introduzido o nmero 0 (zero). 4. Fazer um programa no qual o usurio vai entrando sucessivamente com valores positivos. Quando o usurio entrar com um valor negativo o programa pra de pedir valores e calcula a mdia dos valores j fornecidos. 5. Fazer um programa para exibir os n primeiros mltiplos simultneos de dois nmeros dados. 6. Faa um programa que exiba a tabela verdade da operao OU-Lgico para todas as combinaes de trs variveis lgicas A, B e C. Os resultados da tabela devem ser exibidos como F ou V. 7. Escreva um programa que calcule o valor de y = f(x) = a*x + b num intervalo de valores de x, sendo dados pelo usurio os coeficientes a e b, bem como os valores do limite inferior e superior do intervalo de x bem como o valor do incremento de x. O programa deve exibir resultados como uma tabela onde constam os valores de x e y=f(x) lado a lado. 8. Escrever um programa em "C" que solicita as notas das duas provas feitas por cada um dos alunos de uma turma (as notas tem de estar no intervalo [0 10]) eimprime para cada um a mdia das notas. O programa deve parar imediatamente aps ter sido digitado o valor 50 para a nota da primeira prova. 9. Faa um programa que imprima na tela todos os nmeros pares de um intervalo informado pelo usurioFaa um programa que, dada uma seqncia qualquer de notas de alunos variando de 0 a 10 escreva, ao final da digitao, a maior e a menor das notas. O final ser identificado pela introduo de uma nota -1, que no deve fazer parte do clculo. 10. Escreva um programa que leia nmeros inteiros at que a soma de tais nmeros totalize no mnimo 100. Devem ser lidos tantos valores quantos necessrios para que tal valor seja atingido ou superado. Quando isto ocorrer, o programa tambm deve exibir quantos nmeros foram lidos e sua mdia. 11. Escreva um programa separado para calcular o resultado das sries dadas a seguir, onde o valor de N fornecido pelo usurio.

0 + 1 + 1/2 + 1/3 + 1/4 + 1/5 + ... + 1/N (1/2)2 + (2/3)2 + (3/4)2 + ... + ((N-1)/N)2 N! (fatorial de N) 1*3 + 3*5 + 5*7 + ...+ N*(N+2) 0 - 1 + 1/2 - 1/3 + 1/4 - 1/5 + ... 1/N 1! - 3! + 5! - 7! + ... + N!

12. Num determinado dia foi feita uma pesquisa de audincia de TV em vrias casas de uma certa cidade. Para cada casa visitada, o entrevistador (munido de um notebook) questionava o nmero de aparelhos de televiso existentes e, para cada aparelho questionava o nmero de pessoas que estavam assistindo tal TV, solicitando tambm que se informasse qual emissora de televiso estava sendo assistido dentre as opes (Cultura, SBT, Globo, Record, MTV, Futura, Rede TV, Bandeirantes ou nenhum). Se o TV estivesse desligado, ento nenhum pessoa estava utilizando tal aparelho e nada era anotado. Implementar uma verso do programa sendo usado pelo entrevistador de modo que:

sejam lidos um nmero indeterminado de dados, terminando a pesquisa quando o entrevistador escolher uma opo para FIM; seja calculada e exibida o nmero de lares, TVs e pessoas pesquisadas, indicando o nmero mdio de TV por lar e o nmero mdio de pessoas por TV; determine o nmero de expectadores assistindo cada emissora e a porcentagem de audincia para cada emissora; identifique as emissoras com maior e menor audincia na pesquisa.

13. Dada uma dvida de 10000 reais que cresce a juros de 2,5% ao ms e uma aplicao de 1500 reais com rendimento de 4% ao ms, escrever um algoritmo que determina o nmero de meses necessrios para pagar a dvida. 14. Faa um programa em "C" que l dois valores e imprime:

se o primeiro valor for menor que o segundo, a lista de valores do primeiro at o segundo; se o primeiro valor for menor que o segundo a lista de valores do segundo at o primeiro em ordem decrescente; e ambos forem iguais a mensagem "valores iguais".

15. Fazer um programa que crie um loop finito que termina quando usurio digitar o numero 0 . Mostrar quantas vezes o programa ficou no loop. 16. Dispomos de uma tabela contendo as temperaturas mdias relativas as 52 semanas do ano de 2002 numa determinada regio. Como tais temperaturas esto expressas em graus Farenheit, escreva um programa que leia tais temperaturas, convertendo-as em graus Celsius a medida em que so fornecidas. Determine tambm a temperatura mdia anual em graus Farenheit e Celsius. (No necessrio armazenar as temperaturas de cada semana). Sabemos que: C = 5 * ( F - 32 ) / 9. 17. Uma pesquisa sobre algumas caractersticas fsicas da populao de uma determinada regio coletou os seguintes dados, referentes a cada habitante, para serem analisados:

sexo (masculino, feminino) cor dos olhos (azuis, verdes, castanhos) cor dos cabelos (louros, castanhos, pretos) idade em anos.

Os dados de cada habitante sero fornecidos em linhas, sendo que um valor de idade negativo indica o fim da leitura. O programa a ser implementado dever calcular e

exibir os totais das ocorrncias (referentes a sexo, cor dos olhos, cor dos cabelos e mdia da idade), alm do percentual dos perfis: (a) homens de olhos verdes, cabelos castanhos e idade entre 30 e 40 anos; (b) mulheres de olhos azuis, cabelos louros e idade entre 20 e 30 anos e (c) crianas de ambos os sexos, olhos castanhos, cabelos castanhos ou pretos e idade inferior a 14 anos. 18. Uma companhia de pulverizao utiliza avies para pulverizar lavouras. Os custos de pulverizao dependem do tipo de praga e da rea contratada conforme o esquema:

tipo 1: pulverizao contra ervas daninhas, R$ 500,00 por acre tipo 2: pulverizao contra gafanhotos, R$ 1.000,00 por acre tipo 3: pulverizao contra broca, R$ 1.500,00 por acre tipo 4: pulverizao contra tudo acima, R$ 2.500,00 por acre

Alm disso, se a rea a ser pulverizada maior que 1000 acres, o fazendeiro recebe um desconto de 5%. Em adio, qualquer fazendeiro cujo custo ultrapasse R$ 750.000,00 recebe um desconto de 10% sobre o valor que ultrapassar os R$ 750.000,00. Se ambos os descontos se aplicam, aquele relacionado a rea calculado em primeiro lugar. Preparar um programa que leia uma srie de entrada de dados contendo as informaes:

nome do fazendeiro tipo de pulverizao (de 1 a 4) rea a ser pulverizada

Uma entrada vlida seria tal como: "Percivaldo" , 3 , 945.7 19. O Departamento de Trnsito do Estado de So Paulo compilou dados de acidentes de trfego no Estado no ltimo ano. Para cada motorista envolvido num acidente, uma entrada de dados foi preparada com as seguintes informaes:

ano de nascimento do motorista (numrico) sexo ('M' ou 'F') cdigo de registro (1 para So Paulo e 0para qualquer outro estado)

Preparar um programa para ler um conjunto de dados e imprimir aseguinte estatstica de motoristas envolvidos em acidentes:

Percentagem de motoristas com menos de 25 anos; Percentagem de mulheres; Percentagem de motoristas maiores de 18 mas menores de 25; Percentagem de motoristas com registro fora de So Paulo;

Utilizar o uma entrada com valor 0 para terminar a entrada. 20. Faa um programa que receba dois nmeros X e Y, sendo X < Y. Calcule e mostre:

a soma dos nmeros pares desse intervalo de nmeros, incluindo os nmeros digitados; a multiplicao dos nmeros mpares desse intervalo, incluindo os digitados;

21. Faa um programa que, para um nmero indeterminado de pessoas: leia a idade de cada uma, sendo que a idade 0 (zero) indica o fim da leitura e no deve ser considerada. A seguir calcule:

o nmero de pessoas; a idade mdia do grupo; a menor idade e a maior idade

22. Escrever um algoritmo que calcule e mostre a mdia aritmtica dos nmeros lidos entre 13 e 73. 23. Escrever um algoritmo que calcula e escreve o produto dos nmeros primos entre 92 e 1478. 24. Escrever um algoritmo que l um valor n que indica quantos valores devem ser lidos para m, valores inteiros e positivos, com leitura de um valor de cada vez. Escreva uma tabela contendo o valor lido, o somatrio dos inteiros de 1 at m e o fatorial de m. 25. Faa um algoritmo que calcule a seguinte soma: H = 10 + 10 + 10 + ... + 10 O algoritmo deve ler um nmero n (inteiro e positivo) e mostrar o resultado final de H. A soma deve ser calculada apenas uma vez. 26. Escrever um algoritmo que gera e escreve os 5 primeiros nmeros perfeitos. Um nmero perfeito aquele que igual a soma dos seus divisores. (Ex.: 6 = 1+2+3; 28= 1+2+4+7+14 etc). 27. Escrever um algoritmo que leia um nmero n que indica quantos valores devem ser lidos a seguir. Para cada nmero lido, mostre uma tabela contendo o valor lido e o fatorial deste valor. 28. Escrever um algoritmo que l um nmero no determinado de valores para m, todos inteiros e positivos, um de cada vez. Se m for par, verificar quantos divisores possui e escrever esta informao. Se m for mpar e menor do que 10 calcular e escrever o fatorial de m. Se m for mpar e maior ou igual a 10 calcular e escrever a soma dos inteiros de 1 at m. 29. Escrever um algoritmo que l 5 valores para a, um de cada vez, e conta quantos destes valores so negativos, escrevendo esta informao. 30. Chico tem 1,50 metro e cresce 2 centmetros por ano, enquanto Z tem 1,10 metro e cresce 3 centmetros por ano. Construa um algoritmo que calcule e imprima quantos anos sero necessrios para que Z seja maior que Chico.

Você também pode gostar