Vous êtes sur la page 1sur 28

Trabalhos DP de Algoritmos e Lgica de Programao 1 Bimestre Realizar pesquisa sobre tipos de dados, tipos de representao de algoritmos, introduo aos

os algoritmos atravs representados atravs de pseudocdigo (declarao de variveis, comando de atribuio e entrada e sada de dados). 1 - Faa um programa que imprima a frase: Ol Mundo. 2 - Faa um programa que imprima a palavra Ol numa linha e a palavra Mundo na prxima linha. 3 - Faa um programa que leia 2 nmeros do teclado e imprima a soma deles. 4 - Faa um programa que leia 2 nmeros do teclado e imprima a soma e a subtrao deles. 5 - Faa um programa que leia o ano de nascimento de uma pessoa e imprima a idade dela. Assuma que a pessoa j tenha feito aniversrio esse ano. 6 - Faa um programa que testa se um nmero par ou no. 7 - Faa um programa que leia 2 nmeros e imprima a mdia deles. 8 - Faa um programa que leia 3 nmeros e imprima a mdia deles. 9 - Calcular a rea de um tringulo. A= (base* altura)/2 10 - Calcular a funo a seguir: f(x,y)=3x+ 4y 11 - Elabore um algoritmo para fazer a converso de graus fahrenheit ( F) para graus celsius ( C). A frmula para converso : c= 5/9 * (f-32) 12 - Faa um algoritmo para converter R$ para Dlar. Considere a entrada da quantia em reais e o cmbio para o Dlar ( Dlar = 1,66680 Reais) 13 - Um programa que calcule e imprima o tamanho de um arquivo em K byte ( 1k byte = 1024 bytes), supondo a entrada do tamanho do arquivo em bytes. 14 - Escreva um programa que converte altura em metros para altura em centmetros, dada a relao: 1m = 100 cm. O programa deve solicitar ao usurio que fornea a sua altura em metros e deve imprimir a mesma em cm. 15- Fazer um algoritmo que leia uma palavra de 5 letras, e mostre cada letra numa linha.

16 - O ndice de massa corprea (IMC) de um indivduo obtido dividindo-se o seu peso (em Kg) por sua altura (em m) ao quadrado. Assim, por exemplo, uma pessoa de 1,67 m e pesando 55 Kg tem IMC igual a 20,14, j que:

IMC = 55 Kg/ (1,67 m * 1,67 m) = 20,14

Escreva um programa que solicita ao usurio o fornecimento de seu peso em Kg e de sua altura em m e que calcula o ndice de massa corprea do mesmo imprimindo-o na tela. 17 - Faa um algoritmo que leia valores para as variveis A, B e C e mostre o resultado da seguinte expresso: (AB)*C 18 - Faa um algoritmo que mostre o resultado da expresso abaixo: (( x 5) * y) z Obs: Ler valores para as variveis x, y e z. 19 - Fazer um algoritmo para ler duas notas, os pesos de cada nota e mostrar a mdia ponderada. (nota 1 * peso da nota 1) + (nota 2 * peso da nota 2) Clculo da Mdia Ponderada = -----------------------------------------------------------------------soma dos pesos 20 - Escrever um algoritmo para ler uma temperatura em Fahrenheit e apresent-la convertida em graus Centgrados. Frmula: Centgrados = (Fahrenheit 32) x 5 ---------------------------9

21 - Escreva um programa que efetua o clculo da mdia dos ndices pluviomtricos de trs meses. Declare variveis do tipo real para armazenar o ndice pluviomtrico de cada um dos meses. Solicite ao usurio que fornea estes valores e os armazene nas variveis previamente declaradas. Em seguida, calcule a mdia. A sada do seu programa dever ser parecida com o que segue (s os valores numricos sero possivelmente diferentes): ndice pluviomtrico do ms 1: 12.0 ndice pluviomtrico do ms 2: 14.0

ndice pluviomtrico do ms 3: 8.0 Mdia dos ndices pluviomtricos: 11.33 22 - Faa um programa que leia 2 nmeros e imprima o menor deles. 23 - Faa um programa que leia 3 nmeros e imprima o menor deles. 24 - Faa um programa que leia 4 nmeros e imprima o menor deles. Use apenas 2 variveis no seu programa. 25 - Faa um programa que leia 3 nmeros e imprima os 2 menores deles. 26 - Faa um programa que leia 10 nmeros e imprima quantos nmeros maiores que 100 foram digitados. 27 - Faa um programa que leia 10 nmeros e imprima quantos nmeros menores que 17 foram digitados. 28 - Faa um programa que leia 10 nmeros e imprima quantos nmeros menores que 17 e maiores que 10 foram digitados. 29 - Faa um programa equivalente aos 3 ltimos exerccios, isto , que leia 10 nmeros e imprima quantos nmeros so maiores que100, quantos nmeros so menores que 17 e quantos nmeros so menores que 17 e maiores que 100. 30 - Faa um programa que leia o nome de uma pessoa e armazene em uma varivel, leia a hora do dia (apenas a hora, sem minutos) e imprima Bom Dia, Boa Tarde ou Boa Noite dependendo do horrio do dia. A sada dever ser a seguinte: Ex: Bom Dia, Antonio. 31 - O cardpio de uma lanchonete o seguinte:

Especificao Cachorro quente Bauru simples Bauru com ovo Hamburguer Cheeseburger Refrigerante

Cdigo 100 101 102 103 104 105

Preo R$1,20 R$1,30 R$1,50 R$1,20 R$1,30 R$1,00

Faa um programa que exiba o cardpio na tela e leia o cdigo dos itens pedidos e as quantidades desejadas de cada item. Calcule e mostre o valor a ser pago por item (preo*quantidade) e o total geral do pedido. 32 - Faa um programa que represente o menu de opes a seguir, permita ao usurio escolher a opo desejada, receba os dados necessrios para executar a operao e mostre o resultado. Ateno: Verificar a possibilidade de opo invlida e no se preocupar com restries do tipo salrio invlido. Menu de opes: 1. Imposto 2. Novo salrio 3. Classificao 4. Finalizar o programa Digite a opo desejada

Na opo 1: Receber o salrio de um funcionrio, calcular e mostrar o valor do imposto usando as regras a seguir: Salrios Menor que R$500,00 De R$500,00 a R$850,00 Acima de R$850,00 % do Imposto 5 10 15

Na opo 2: Receber o salrio de um funcionrio, calcular e mostrar o valor do novo salrio usando as regras a seguir. Salrios Maior que R$1500,00 Aumento R$25,00

De R$750,00 (inclusive) a R$1500,00 R$50,00 (inclusive) De R$450,00 (inclusive) a R$750,00 R$75,00 Menor que R$450,00 R$100,00

Na opo 3: Receber o salrio de um funcionrio e mostrar sua classificao usando a tabela a seguir. Salrios At R$700,00 Acima de R$700,00 Classificao Mal remunerado Bem remunerado

33 - A nota final de um estudante calculada a partir de trs notas atribudas respectivamente a um trabalho de laboratrio, a uma avaliao semestral e a um exame final. A mdia das trs notas mencionadas anteriormente obedece aos pesos a seguir: Nota Trabalho de laboratrio Avaliao semestral Exame final Peso 2 3 5

34 - Faa um programa que receba as trs notas, calcule e mostre a mdia ponderada e o conceito que segue a tabela abaixo: Mdia Ponderada Conceito 8,0 || 10,0 A

7,0 | 8,0 6,0 | 7,0 5,0 | 6,0 0,0 | 5,0

B C D E

35 - Faa um programa que receba trs notas de um aluno, calcule e mostre a mdia aritmtica e a mensagem que segue a tabela abaixo. Para alunos de exame, calcule e mostre a nota mnima a ser tirada no exame para que o aluno obtenha aprovao, considerando que a mdia no exame 6,0.

Mdia Ponderada Conceito 0,0 | 3,0 3,0 | 7,0 7,0 || 10,0 Reprovado Exame Aprovado

36 - Faa um algoritmo que leia 2 nmeros inteiros e faa sua adio. Se o resultado for maior ou igual a 10, some 5 a este nmero. Caso contrrio some 7 a ele. Imprima o resultado final. 37 - Faa um algoritmo que segundo um salrio informado pelo usurio de 5% de aumento somente se o salrio for menor que R$ 3500,00. Imprima o salrio independente de ele ter um aumento. 38 - Faa um algoritmo que leia o ano de nascimento de uma pessoa e calcule sua idade, considerando o ano atual. Para verificar se j fez aniversrio no ano atual pergunte se a pessoa j fez aniversrio, sendo que ela pode entrar com a informao "S"(sim) ou "N" (no). Com isto possvel se ter maior preciso sobre a idade. Verifique tambm se a pessoa j tem idade para conseguir Carta de Habilitao (18 anos ou mais) e imprima a mensagem referente a esta checagem. Imprima a idade da pessoa. 39 - Faa um algoritmo que segundo uma nota informada pelo usurio verifique em qual faixa a mesma se encaixa e imprima para o usurio a mensagem correspondente conforme a tabela abaixo:

Faixa das notas Nota > = 8 e Nota < = 10 Nota > = 7 e Nota < 8 Nota > = 5 e Nota < 7 Nota < 5

Mensagem timo Bom Regular Insatisfatrio

40 Crie um programa que fornea a entrada de duas idades de pessoas distintas, informe a soma das idades conforme o quadro abaixo: A soma das idades de XXXXX e XXXXX XXXXX 41 - Maria quer saber quantos litros de gasolina precisa colocar em seu carro e quanto vai gastar para fazer uma viagem at a casa de sua irm. Dados extras: Distncia da casa de Maria at sua irm : 520 km Seu carro consome 12 litros de gasolina por Km/rodado. Ela abastece sempre no mesmo posto, onde o preo da gasolina R$ 1,50 o litro.

42 - Escreva um algoritmo para criar um programa de ajuda para vendedores. A partir de um valor total recebido do teclado, mostrar: o total a pagar com desconto de 10%; o valor de cada parcela, no parcelamento de 3 x sem juros; a comisso do vendedor, no caso da venda ser a vista (5% sobre o valor com desconto ) a comisso do vendedor, no caso da venda ser parcelada (5% sobre o valor total) a mdia das notas a situao final do aluno aprovado prova final reprovado media > 7 media > = 4 e media < 7 media < 4

43 - Fazer um algoritmo que leia trs notas e mostre: -

onde

44 - Fazer um algoritmo que leia o nome, a nota 1 e a nota 2 de trs alunos. Ao final, mostrar o nome e a mdia do aluno que obteve a maior mdia. Obs: Se houver empate, deve aparecer o nome dos alunos que empataram. 45 - Fazer um algoritmo para ajudar a bilheteria do metr. O operador deve informar o tipo do bilhete (unitrio, duplo ou 10 viagens) e o valor pago pelo passageiro. O

sistema deve mostrar, ento, a quantidade de bilhetes possveis e o troco que o passageiro deve receber. Considere a seguinte tabela de preo: Bilhete unitrio ................................................... 1,30 Bilhete duplo ...................................................... 2,60 Bilhete de 10 viagens ....................................... 12,00 46 - Fazer um algoritmo para ajudar no clculo do salrio de um funcionrio. O sistema deve pedir: nome do funcionrio salrio bruto nmero de dependentes nome do funcionrio e salrio lquido

e deve mostrar: -

Considere a seguinte regra para o clculo:

Salrio Lquido = Salrio Bruto Desconto INSS + (15,00 * Nmero de Dependentes) + Auxlio Passagem (40,00) + Auxlio Refeio (100,00) Salrio Bruto At 300 De 301 a 700 Acima de 700 Desconto INSS (Percentual sobre o Salrio Bruto) 8% 9% 10%

47 - Faa um algoritmo onde seja mostrada a seguinte tela: Dicionrio Ingls-Portugus ( 1 ) Where is the book ? ( 2 ) Whats your name ? ( 3 ) Do you have a blue T-shirt ? (4) Im brazilian. ( 5 ) You will work with me. Escolha uma frase:

De acordo com a frase escolhida pelo usurio, o sistema deve mostrar a traduo, conforme gabarito a seguir: ( 1 ) Onde est o livro ?

( 2 ) Qual o seu nome ? ( 3 ) Voc tem uma camiseta azul ? ( 4 ) Eu sou brasileiro ( 5 ) Voc ir trabalhar comigo. 48 - Fazer um algoritmo, que considerando trs valores informados pelo usurio, mostrar se eles correspondem ou no aos comprimentos dos lados de um tringulo. Em caso positivo, mostrar se um tringulo eqiltero, issceles ou escaleno. Obs: - O comprimento de cada lado de um tringulo menor do que a soma dos comprimentos dos outros dois lados. - Tringulo Eqiltero: tem os comprimentos dos trs lados iguais. - Tringulo Issceles tem os comprimentos de dois lados iguais. - Tringulo Escaleno tem os comprimentos de seus trs lados diferentes.

2 Bimestre Pesquisa sobre estruturas de deciso e repetio. Exemplos de algoritmos utilizando estas estruturas. 1. Independentemente dos valores de X, Y e Z, qual o valor de: (X/Y = Z) OR (X/Y Z)? 2. Entrar com um nmero e imprimir a raiz quadrada do nmero caso ele seja positivo e o quadrado do nmero caso ele seja negativo. 3. A prefeitura de Manaus abriu uma linha de crdito para os seus funcionrios. O valor mximo da prestao no poder ultrapassar 30% do salrio bruto. Fazer um algoritmo que permita entrar com o salrio bruto e o valor da prestao e informar se o emprstimo pode ou no ser concedido. 4. Dados trs nmeros reais A, B e C, escreva um algoritmo que imprima o menor deles. Lembre-se que o usurio pode fornecer como entrada dois ou trs nmeros iguais. 5. Entrar com trs nmeros e imprim-los em ordem decrescente. Lembre-se que o usurio pode fornecer como entrada dois ou trs nmeros iguais. 6. Faa um algoritmo que leia trs nmeros, os possveis lados de um tringulo, e imprimir sua classificao segundo os lados. 7. Faa um algoritmo para calcular a rea de um tringulo retngulo, dado que apenas as medidas dos trs lados so fornecidas. Esse algoritmo no pode permitir a entrada de dados invlidos, ou seja, medidas menores ou iguais a zero ou medidas que no

correspondam a um tringulo retngulo. 8. O que est errado no algoritmo abaixo? Justifique.

9. Considere o seguinte algoritmo:

Considerando <ComandoN> como comandos quaisquer, responda e justifique: a) Se b1=falso, b2= verdadeiro, b3=falso, quais os comandos que sero executados? b) Se b1=falso, b2= falso, b3=falso, quais os comandos que sero executados? c) Quais deveriam ser os valores de b1, b2, b3 para que somente <Comando2> seja executado? d) Se b1= verdadeiro, b2= verdadeiro, b3= verdadeiro, quais os comandos que sero executados? 10. Qual o valor da varivel k aps a execuo do seguinte algoritmo? Justifique.

11. Qual ser o valor da varivel t no fim da execuo deste algoritmo? Justifique.

12. O que h de errado com o seguinte algoritmo? Justifique.

13. Que consideraes podem ser feitas a respeito do algoritmo a seguir? Justifique.

14. Faa um algoritmo que calcule e determine se um nmero inteiro fornecido como entrada ou no primo. 15. Fazer um algoritmo que tenha como entrada os valores da razo de uma PA, de uma PG e o valor do primeiro termo. A partir da calcular e imprimir o dcimo termo de cada uma das sries. 16. Faa um algoritmo que calcule e imprima o resultado das seguintes sries, relativo aos seus duzentos primeiros termos:

Dica: Antes de comear a escrever o algoritmo, deduza o termo geral da srie. 17. Crie um algoritmo que receba a idade e o peso de N pessoas onde o usurio determina que a entrada termina com um nmero negativo de idade. Calcular e imprimir as mdias dos pesos das pessoas da mesma faixa etria. As faixas etrias so: de 1 a 10 anos, de 11 a 20 anos, de 21 a 30 anos e maiores de 30 anos. 18. Supondo que a populao de um pas A seja da ordem de 90.000.000 de habitantes, com taxa anual de crescimento de 3 %, e que a populao de um pas B seja aproximadamente de 200.000.000 de habitantes, com taxa anual de crescimento de 1,5 %, fazer um programa que calcule e escreva o nmero de anos necessrios para que a populao do pas A ultrapasse ou iguale a populao do pas B. 19. Existem quatro candidatos a governador. Feita a eleio, os votos so digitados, via

teclado, um a um. O voto de cada eleitor foi codificado da seguinte forma:

Faa um algoritmo para determinar: o nmero do candidato vencedor; o nmero de votos em branco; o nmero de votos nulos e o nmero de eleitores que compareceram s urnas. Admite-se que no so possveis empates. 20. Uma das primeiras aplicaes de computadores foi o clculo de trajetria de projteis. Se um projtil atirado com uma velocidade inicial V (em m/s) a um ngulo de inclinao Q (onde 0 < Q < 90), sua posio no plano vertical (x, y) no tempo t (segundos) calculada pelas frmulas que seguem. Escreva um algoritmo que, dados os parmetros Q e V, liste as coordenadas x e y em intervalos de 0.01 segundos para um tiro em particular, terminando a listagem quando o projtil atingir o solo (isto , y = 0).

21. Um cinema que possui capacidade de 200 lugares est sempre com ocupao total. Certo dia cada espectador respondeu a um questionrio, no qual constava: sua idade e sua opinio em relao ao filme (que podia ser timo, bom, regular, ruim ou pssimo). Elabore um algoritmo que, lendo estes dados, responda: a. A quantidade de respostas timo; b. A diferena percentual entre respostas regular e bom; c. A mdia de idade das pessoas que responderam ruim; d. A porcentagem de respostas pssimo e a maior idade que utilizou essa opo. 22. Criar um algoritmo que entre com dez notas de cada aluno de uma turma de 20 alunos e imprima: a. A mdia de cada aluno;

b. A mdia da turma; c. O percentual de alunos que tiveram mdias maiores ou iguais a 5,0;

3 Bimestre Pesquisa sobre estruturas Unidimensionais (Vetores) e Multidimensionais (Matrizes). Exemplos de algoritmos utilizando estas estruturas. 1. Leia um vetor de 12 posies e em seguida ler tambm dois valores X e Y quaisquer correspondentes a duas posies no vetor. Ao final seu programa dever escrever a soma dos valores encontrados nas respectivas posies X e Y. 2. Declare um vetor de 10 posies e o preencha com os 10 primeiros nmeros impares e o escreva. 3. Leia um vetor de 16 posies e troque os 8 primeiros valores pelos 8 ltimos e vice-e-versa. Escreva ao final o vetor obtido. 4. Leia um vetor de 20 posies e em seguida um valor X qualquer. Seu programa devera fazer uma busca do valor de X no vetor lido e informar a posio em que foi encontrado ou se no foi encontrado. 5. Leia um vetor de 40 posies. Contar e escrever quantos valores pares ele possui. 6. Leia um vetor de 40 posies e atribua valor 0 para todos os elementos que possurem valores negativos. 7. Leia dos vetores de 20 posies e calcule um outro vetor contendo, nas posies pares os valores do primeiro e nas posies impares os valores do segundo. 8. Leia um vetor de 40 posies e acumule os valores do primeiro elemento no segundo, deste no terceiro e assim por diante. Ao final, escreva o vetor obtido. 9. Leia um vetor contendo letras de uma frase inclusive os espaos em branco. Retirar os espaos em branco do vetor e depois escreve-los. 10. Leia um vetor de 5 posies contendo os caracteres de um numero. Em seguida escreva esse numero por extenso. 11. Leia dois vetores de 4 posies. Verifique e escreva se um anagrama do outro. Ex: ARARA ARARA - so anagramas 12. Leia 3 vetores de 9 posies e crie outro com o 1 tero do primeiro, o segundo 3. do segundo e o ultimo tero do 3. Escrever o vetor resultante ao final. 13. Leia um vetor de 10 posies e verifique se existem valores iguais e os escreva. 14. Leia um vetor de 50 posies e o compacte, ou seja, elimine as posies com valor zero avanando uma posio, com os com os valores subseqentes do vetor. Dessa forma todos zeros devem ficar para as posies finais do vetor. 15. Considere um vetor de trajetrias de 9 elementos, onde cada elemento possui o valor do prximo elemento do vetor a ser lido. ndice 1 2 3 4 5 6 7 8 9

Valor

5 7 6 9 2 8 4

Assim, a seqncia da leitura seria 1, 5, 2, 7, 4, 9, 3, 6, 8, 0 Faa um algoritmo que seja capaz de ler esse vetor e seguir a trajetria. 16. Leia uma matriz 10 x 10 e escreva a localizao (linha e a coluna) do maior valor. 17. Declare uma matriz 5 x 5. Preencha com 1 a diagonal principal e com 0 os demais elementos. Escreva ao final a matriz obtida. 18. Leia duas matrizes 4 x 4 e escreva uma terceira com os maiores elementos entre as primeiras 19. Leia uma matriz 6 x 6, conte e escreva quantos valores maiores que 10 ela possui. 20. Leia uma matriz 20 x 20. Leia tambm um valor X. O programa dever fazer uma busca desse valor na matriz e, ao final escrever a localizao (linha e coluna) ou uma mensagem de no encontrado. 21. Leia uma matriz 4 x 4 e troque os valores da 1.linha pelos da 4.coluna, vice-eversa. Escrever ao final a matriz obtida 22. Leia uma matriz 8 x 8 e a transforme numa matriz triangular inferior , atribuindo zero a todos os elementos acima da diagonal principal, escrevendo-a ao final. 23. Leia uma matriz 5 x 5 e faa uma troca entre as diagonais superior e inferior. Escreva-a ao final. 24. Leia duas matrizes 10 x 10 e faa uma substituio entre a diagonal inferior da primeira coma diagonal superior da segunda. 25. Leia uma matriz 8x 8 e escreva o maior elemento da diagonal principal e a soma dos elementos da diagonal secundaria. 26. Leia uma matriz 6 x 6 e atribuir o valor 0 para os valores negativos encontrados fora das diagonais principal e secundaria. 27. Leia uma matriz 50 x 2, onde cada coluna corresponde a um lado de um triangulo retngulo. Declare um vetor que contenha a rea dos respectivos tringulos e o escreva. 28. Leia duas matrizes 20 x 20 e escreva os valores da primeira que ocorrem em qualquer posio da segunda. 29. Considere uma matriz de distncia entre cidades 6 x 6:

1.(Cceres) 2.(BBugres) 3.(Cuiab) 4.(VGrande) 5.(Tangar) 6.(PLacerda)

1.(Cceres) 2.(BBugres) 63 63 210 160 190 150 95 190

3.(Cuiab) 4.(VGrande) 5.(Tangar) 6.(PLacerda) 210 190 190 160 150 95 10 10 80 80

Considere tambm um vetor de viagem indo de Cuiab at Cceres pela seguinte rota: Indice Cidade 1 3 2 4 3 2 4 5 5 6 6 1

Faa um programa que leia a matriz e o vetor e calcule a distancia percorrida durante a viagem. 30. Leia uma matriz 100 x 10 que se refere respostas de 10 questes de mltipla escolha, referentes a 100 alunos. Leia tambm um vetor de 10 posies contendo o gabarito d e respostas que podem ser a, b, c ou d. Seu programa dever comparar as respostas de cada candidato com o gabarito e emitir um vetor Resultado, contendo a pontuao correspondente. 31. Leia duas matrizes 4 x 4 e verifique se uma palindromo, isto , sua leitura a partir de qualquer direo sempre apresentara a mesma seqncia. EX. SATOR AREPO TENET OPERA ROTAS 32. Dada uma seqncia de n nmeros, imprimi-la na ordem inversa da leitura. 33. Deseja-se publicar o nmero de acertos de cada aluno em uma prova em forma de testes. A prova consta de 30 questes, cada uma com cinco alternativas identificadas por A, B, C, D e E. Para isso so dados: carto gabarito; nmero de alunos da turma; carto de respostas para cada aluno, contendo o seu nmero e suas respostas. 34. Tentando descobrir se um dado era viciado, um dono de cassino honesto (ha! ha! ha! ha!) o lanou n vezes. Dados os n resultados dos lanamentos, determinar o nmero de ocorrncias de cada face. 35. Dados dois vetores x e y, ambos com n elementos, determinar o produto escalar desses vetores. 36. Faa um programa para resolver o seguinte problema: So dadas as coordenadas reais x e y de um ponto, um nmero natural n, e as coordenadas reais de n pontos (1 < n < 100). Deseja-se calcular e imprimir sem repetio os raios das circunferncias centradas no ponto (x,y) que passam por pelo menos um dos n pontos dados. Exemplo : (x,y) = (1.0, 1.0) ; n = 5 pontos : (-1.0, 1.2) , (1.5, 2.0) , (0.0, -2.0) , (0.0, 0.5) , (4.0, 2.0)

Nesse caso h trs circunferncias de raios: 1.12, 2.01 e 3.162. Observaes: Distncia entre os pontos (a,b) e (c,d) Dois pontos esto na mesma circunferncia se esto mesma distncia do centro. 37. Dados dois strings (um contendo uma frase e outro contendo uma palavra), determine o nmero de vezes que a palavra ocorre na frase. Exemplo: Para a palavra ANA e a frase : ANA E MARIANA GOSTAM DE BANANA Temos que a palavra ocorre 4 vezes na frase. 38. Dada uma seqncia de n nmeros reais, determinar os nmeros que compem a seqncia e o nmero de vezes que cada um deles ocorre na mesma. Exemplo: n = 8 Seqncia: -1.7, 3.0, 0.0, 1.5, 0.0, -1.7, 2.3, -1,7 Sada: -1.7 ocorre 3 vezes 3.0 ocorre 1 vez 0.0 ocorre 2 vezes 1.5 ocorre 1 vez 2.3 ocorre 1 vez

39. Dados dois nmeros naturais m e n e duas seqncias ordenadas com m e n nmeros inteiros, obter uma nica seqncia ordenada contendo todos os elementos das seqncias originais sem repetio. Sugesto: Imagine uma situao real, por exemplo, dois fichrios de uma biblioteca. 40. Dadas duas seqncias com n nmeros inteiros entre 0 e 9, interpretadas como dois nmeros inteiros de n algarismos, calcular a seqncia de nmeros que representa a soma dos dois inteiros. Exemplo: n = 8, 1 seqncia 8 2 4 3 4 2 5 1 + 3 3 7 5 2 3 3 7 2 seqncia

1 1 6 1 8 6 5 8 8 41. Calcule o valor do polinmio p(x)=a0+a1x+...+anxn em k pontos distintos. So dados os valores de n (grau do polinmio), de a0, a1, ..., an (coeficientes reais do polinmio), de k e dos pontos x1, x2, ..., xk. 42. Dado o polinmio p(x)=a0+a1x+...+anxn, isto , os valores de n e de a0, a1, ..., an, determine os coeficientes reais da primeira derivada de p(x). 43. Dado um polinmio p(x)=a0+a1x+...+anxn, calcular o polinmio q(x) tal que p(x)= (x).q(x) + p( ), para m valores distintos de (Usar o mtodo de Briot-Ruffini). 44. Dados dois polinmios reais p(x)=a0+a1x+...+anxn e q(x)=b0+b1x+...+bmxm determinar o produto desses polinmios. 45. Chama-se seqncia de Farey relativa a n, a seqncia das fraes racionais irredutveis, dispostas em ordem crescente, com denominadores positivos e no maiores que n. Exemplo: Se n=5, os termos da seqncia de Farey, tais que 0 < < 1 so:

Para gerarmos os termos de uma seqncia de Farey tais que 0 < podemos usar o seguinte processo. Comeamos com as fraes

< 1,

, e entre cada duas fraes consecutivas

, introduzimos a frao:

e assim sucessivamente enquanto j + m < n. Quando no for mais possvel introduzir novas fraes teremos gerado todos os termos da seqncia de Farey relativa a n, tais que 0 < < 1. Usando o processo descrito, determine os termos de Farey relativa a n, n inteiro positivo. ,0< < 1, da seqncia

Sugesto: Gere os numeradores e os denominadores em dois vetores. 46. Em uma classe h n alunos, cada um dos quais realizou k provas com pesos distintos. Dados n , k, os pesos das k provas e as notas de cada aluno, calcular a

mdia ponderada das provas para cada aluno e a mdia aritmtica da classe em cada uma das provas. 47. Dada uma seqncia x1, x2, ..., xk de nmeros inteiros, verifique se existem dois segmentos consecutivos iguais nesta seqncia, isto , se existem i e m tais que: xi, xi+1,..., xi+m-1 = xi+m, xi+m+1,..., xi+2m-1 Imprima, caso existam, os valores de i e m. Exemplo: Na seqncia 7, 9, 5, 4, 5, 4, 8, 6 existem i=3 e m=2. 48. Dada uma seqncia de n nmeros inteiros, determinar um segmento de soma mxima. Exemplo: Na seqncia 5, 2, -2, -7, 3, 14, 10, -3, 9, -6, 4, 1 , a soma do segmento 33. 49. Simule a execuo do programa abaixo destacando a sua sada: #include <stdio.h> int main() { int n, inic, fim, i, aux, para, a[100]; printf("Digite n: "); scanf("%d", &n); printf("n = %d\n", n); printf("Digite uma sequencia de %d numeros.\n", n); for (i = 0; i < n; i++) { scanf("%d", &a[i]); printf("%d ", a[i]); } printf("\n"); inic = 0; fim = n - 1; aux = a[inic]; while (inic < fim) { para = 0; while ((inic < fim) && !para) { if (a[fim] <= aux) para = 1; else fim = fim - 1; } if (para) { a[inic] = a[fim]; inic = inic + 1; para = 0; while ((inic < fim) && !para) {

if (a[inic] <= aux) inic = inic + 1; else para = 1; } if (para) { a[fim] = a[inic]; fim = fim - 1; } } for (i = 0; i < n; i++) printf("%d ", a[i]); printf("\n"); } a[inic] = aux; for (i = 0; i < n; i++) printf("%d ", a[i]); printf("\n"); return 0; } 50. Leia um conjunto de notas, cuja quantidade seja determinada pelo usurio. Calcule a mdia de todas elas. Exiba o conjunto das notas maiores do que a mdia calculada. Em seguida, de forma agrupada, exiba o outro conjunto de notas (menores do que a mdia). 51. Leia um conjunto de alunos, cada uma com o nome e a nota. Em seguida exiba o nome dos alunos que possuem a nota maior do que a mdia da turma. 52. Leia um conjunto de salrios, sendo que para terminar a entrada ser fornecido o valor -1. Aps toda a entrada ter sido realizada, leia o valor de um reajuste. Em seguida exiba todos os salrios j reajustados. 53. Crie um vetor capaz de armazenar 50 nmeros inteiros. Em seguida faa o seu preenchimento automtico com os nmeros de 101 a 150, ou seja, na posio nmero 0 ponha 101, na posio 1 ponha o nmero 102, e assim sucessivamente. Em seguida exiba os valores deste vetor. 54. Faa um programa de consulta pela posio numrica da pessoa: leia nomes de pessoas, sendo a quantidade determinada pelo usurio. Logo aps a entrada pergunte ao usurio o nmero do nome que ele gostaria de consultar. Aps sua resposta, exiba o nome que fica na posio informada. Chame ateno do usurio em caso de uma consulta invlida, ou seja, com nmeros menores ou iguais a zero, ou maiores do que a quantidade cadastrada. 55. Leia um conjunto de nmeros. Exiba este conjunto acompanhado do seu elemento simtrico em relao a sua posio no conjunto. Veja o exemplo: Entrada: 5, 7, 9, 2 Sada: 5-2 7-9

9-7 2-5 56. Leia dois conjuntos de nmeros com a mesma quantidade. Exiba a interseco dos conjuntos, ou seja, os nmeros que so repetidos nos dois conjuntos. 57. Leia dois conjuntos de nmeros (podem ter o tamanho diferente) j ordenados de forma crescente. Crie um outro vetor para armazenar os dois conjuntos unidos, sendo que os nmeros devem permanecer ordenados. Finalmente, exiba este vetor resultante. 4 Bimestre Pesquisa sobre sub-rotinas (procedimentos e funes) e definio de registros. Exemplos de algoritmos utilizando estas estruturas. Resolva os Seguintes Exerccios: 1. Faa uma funo que recebe por parmetro o raio de uma esfera e calcula o seu volume (v = 4/3.P .R3). 2. Escreva um procedimento que recebe as 3 notas de um aluno por parmetro e uma letra. Se a letra for A o procedimento calcula a mdia aritmtica das notas do aluno, se for P, a sua mdia ponderada (pesos: 5, 3 e 2) e se for H, a sua mdia harmnica. A mdia calculada tambm deve retornar por parmetro. 3. Faa uma funo que recebe por parmetro um valor inteiro e positivo e retorna o valor lgico Verdadeiro caso o valor seja primo e Falso em caso contrrio. 4. Faa um procedimento que recebe por parmetro os valores necessrio para o clculo da frmula de bskara e retorna, tambm por parmetro, as suas razes, caso seja possvel calcular. 5. Faa uma funo que recebe por parmetro o tempo de durao de uma fbrica expressa em segundos e retorna tambm por parmetro esse tempo em horas, minutos e segundos. 6. Faa uma funo que recebe a idade de uma pessoa em anos, meses e dias e retorna essa idade expressa em dias. 7. Faa uma funo que verifique se um valor perfeito ou no. Um valor dito perfeito quando ele igual a soma dos seus divisores excetuando ele prprio. (Ex: 6 perfeito, 6 = 1 + 2 + 3, que so seus divisores). A funo deve retornar um valor booleano. 8. Faa um procedimento que recebe a idade de um nadador por parmetro e retorna , tambm por parmetro, a categoria desse nadador de acordo com a tabela abaixo: Idade 5 a 7 anos Categoria Infantil A

8 a 10 anos 11-13 anos 14-17 anos

Infantil B Juvenil A Juvenil B

Maiores de 18 anos Adulto (inclusive)

9. Faa uma funo que recebe um valor inteiro e verifica se o valor positivo ou negativo. A funo deve retornar um valor booleano. 10. Faa uma funo que recebe um valor inteiro e verifica se o valor par ou mpar. A funo deve retornar um valor booleano. 11. Faa uma funo que recebe a mdia final de um aluno por parmetro e retorna o seu conceito, conforme a tabela abaixo: Nota de 0,0 a 4,9 de 5,0 a 6,9 de 7,0 a 8,9 de 9,0 a 10,0 Conceito D C B A

12. Faa uma funo que recebe, por parmetro, a altura (alt) e o sexo de uma pessoa e retorna o seu peso ideal. Para homens, calcular o peso ideal usando a frmula peso ideal = 72.7 x alt - 58 e, para mulheres, peso ideal = 62.1 x alt - 44.7. 13. Faa um procedimento que recebe 3 valores inteiros por parmetro e retorna-os ordenados em ordem crescente. 14. Faa um procedimento que recebe, por parmetro, a hora de inicio e a hora de trmino de um jogo, ambas subdivididas em 2 valores distintos: horas e minutos. O procedimento deve retornar, tambm por parmetro, a durao do jogo em horas e minutos, considerando que o tempo mximo de durao de um jogo de 24 horas e que o jogo pode comear em um dia e terminar no outro. 15. Escreva um procedimento que recebes 3 valores reais X, Y e Z e que verifique se esses valores podem ser os comprimentos dos lados de um tringulo e, neste caso, retornar qual o tipo de tringulo formado. Para que X, Y e Z formem um tringulo necessrio que a seguinte propriedade seja satisfeita: o comprimento de cada lado de um tringulo menor do que a soma do comprimento dos outros dois lados. O procedimento deve identificar o tipo de tringulo formado observando as seguintes definies:
o

Tringulo Equiltero: os comprimentos dos 3 lados so iguais.

o o

Tringulo Issceles: os comprimentos de 2 lados so iguais. Tringulo Escaleno: os comprimentos dos 3 lados so diferentes.

16. A prefeitura de uma cidade fez uma pesquisa entre os seus habitantes, coletando dados sobre o salrio e nmero de filhos. Faa um procedimento que leia esses dados para um nmero no determinado de pessoas e retorne a mdia de salrio da populao, a mdia do nmero de filhos, o maior salrio e o percentual de pessoas com salrio at R$350,00. 17. Faa uma funo que leia um nmero no determinado de valores positivos e retorna a mdia aritmtica dos mesmos. 18. Faa uma funo que receba um valor inteiro e positivo e calcula o seu fatorial. 19. Faa um procedimento que l 50 valores inteiros e retorna o maior e o menor deles. 20. Faa um procedimento que recebe, por parmetro, um valor N e calcula e escreve a taboada de 1 at N. Mostre a tabuada na forma: 1xN=N 2 x N = 2N ... N x N = N2 21. Faa uma funo que recebe, por parmetro, um valor inteiro e positivo e retorna o nmero de divisores desse valor. 22. Escreva uma funo que recebe, por parmetro, um valor inteiro e positivo e retorna o somatrio desse valor. 23. Escreva uma funo que recebe por parmetro um valor inteiro e positivo N e retorna o valor de S. S = 1 + + 1/3 + + 1/5 + 1/N. 24. Escreva uma funo que recebe por parmetro um valor inteiro e positivo N e retorna o valor de S. S = 1 + 1/1! + ! + 1/3! + 1 /N! 25. Escreva uma funo que recebe por parmetro um valor inteiro e positivo N e retorna o valor de S. S = 2/4 + 5/5 + 10/6 + 17/7 + 26/8 + ... +(n2+1)/(n+3)

26. Escreva uma funo que calcule o valor do co-seno de x atravs de 20 termos da srie seguinte: co-seno(x) = 1 - x2 + x4 - x6 + .... 2! 4! 6! 27. Escreva uma funo que recebe, por parmetro, dois valores X e Z e calcula e retorna Xz . (sem utilizar funes ou operadores de potncia prontos) 1. Foi realizada uma pesquisa de algumas caractersticas fsicas de 50 habitantes de uma certa regio. De cada habitante foram coletados os seguintes dados: sexo, cor dos olhos (azuis, verdes ou castanhos), cor dos cabelos (louros, pretos ou castanhos) e idade. Faa um procedimento que leia esses dados em um vetor de registro. O vetor de registro deve ser enviado por referncia. 2. Faa um procedimento que receba o vetor de registro definido no exerccio anterior (28), por parmetro, e retorna tambm por parmetro: a maior idade entre os habitantes e a quantidade de indivduos do sexo feminino cuja idade est entre 18 e 35 (inclusive) e que tenham olhos verdes e cabelos louros. 3. Foi realizada uma pesquisa entre 500 habitantes de uma certa regio. De cada habitante foram coletados os dados: idade, sexo, salrio e nmero de filhos. Faa um procedimento que leia esses dados em um vetor de registro. O vetor de registro deve ser enviado por referncia. 4. Faa um procedimento que receba o vetor de registro definido no exerccio anterior (30), por parmetro, e retorna tambm por parmetro: a mdia de salrio entre os habitantes, a menor e a maior idade do grupo e a quantidade de mulheres com 3 filhos que recebe at R$500,00. 5. Faa um procedimento que retorna, por parmetro, um vetor A(5) com os 5 primeiros nmeros perfeitos. 6. Faa um procedimento que recebe 2 vetores A e B de tamanho 10 de inteiros, por parmetro. Ao final do procedimento B deve conter o fatorial de cada elemento de A. O vetor B deve retornar alterado. A B 4 1 24 1 0 1 3 6 .... ...

7. Faa um procedimento que recebe, por parmetro, 2 vetores de 10 elementos inteiros e que calcule e retorne, tambm por parmetro, o vetor unio dos dois primeiros. 8. Faa um procedimento que recebe um vetor X de 30 elementos inteiros, por parmetro, e retorna, tambm por parmetro, dois vetores A e B. O vetor A deve conter os elementos pares de X e o vetor B, os elementos mpares.

9.Faa uma funo que recebe um vetor X(15) de inteiros , por parmetro, e retorna a quantidade de valores pares em X. 10. Faa uma funo que recebe um vetor X(20) de reais , por parmetro, e retorna a soma dos elementos de X. 11.Faa um procedimento que recebe 2 vetores A e B de tamanho 15 de inteiros, por parmetro. O vetor B deve conter o somatrio de cada elemento de A. A B 4 1 10 1 0 0 5 .... 15 ...

12. Faa um procedimento que recebe, por parmetro, um vetor A(50) de reais e retorna-o ordenado em ordem crescente. 13. Faa um procedimento que recebe, por parmetro, um vetor A(25) de inteiros e substitui todos os valores negativos de A por zero. O vetor A deve retornar alterado. 14. Faa um procedimento que gera os 10 primeiros primos acima de 100 e retorna-os em um vetor X(10), por parmetro. 15. Faa um procedimento que recebe 2 vetores A e B de tamanho 10 de inteiros, por parmetro. O procedimento deve retornar um vetor C, por parmetro, que contm os elementos de A e B em ordem decrescente. 16. Faa um procedimento que recebe, por parmetro, 2 vetores de 10 elementos inteiros e que calcule e retorne, tambm por parmetro, o vetor interseco dos dois primeiros. 17. Faa um procedimento que recebe, por parmetro, 2 vetores de 10 elementos inteiros e que calcule e retorne, tambm por parmetro, o vetor diferena dos dois primeiros. 18. Faa um procedimento que recebe, por parmetro, 2 vetores de 20 elementos inteiros e que calcule e retorne, tambm por parmetro, o vetor soma dos dois primeiros. 19. Faa um procedimento que recebe, por parmetro, 2 vetores de 15 elementos inteiros e que calcule e retorne, tambm por parmetro, o vetor produto dos dois primeiros. 20. Faa um procedimento que receba, por parmetro, um vetor K(15) e retorna, tambm por parmetro, um vetor P contendo apenas os valores primos de K. 21. Faa um procedimento que receba um vetor A(100) de inteiros e retorna esse mesmo vetor compactado, ou seja, sem os seus valores nulos(zero) e negativos.

22. Faa um procedimento que receba, por parmetro um vetor B(50) de reais e calcula o maior valor do vetor. A seguir, o procedimento deve dividir todos os elementos de B pelo maior encontrado. O vetor deve retornar alterado. 23. Uma locadora de vdeos tem guardada, em um vetor A de 500 posies, a quantidade de filmes retirados por seus clientes durante o ano de 1997. Agora, esta locadora est fazendo uma promoo e, para cada 15 filmes retirados, o cliente tem direito a uma locao grtis. Faa um procedimento que receba o vetor A por parmetro e retorna, tambm por parmetro, um vetor contendo a quantidade de locaes gratuitas a que cada cliente tem direito. 24. Faa uma funo que recebe, por parmetro, uma matriz A(5,5) e retorna a soma dos seus elementos. 25. Faa uma funo que recebe, por parmetro, uma matriz A(6,6) e retorna a soma dos elementos da sua diagonal principal e da sua diagonal secundria. 26. Faa uma funo que recebe, por parmetro, uma matriz A(7,6) e retorna a soma dos elementos da linha 5 e da coluna 3. 27. Faa uma funo que recebe, por parmetro, uma matriz A(6,6) e retorna o menor elemento da sua diagonal secundria. 28. Faa um procedimento que recebe, por parmetro, uma matriz A(8,8) e calcula o maior elemento da sua diagonal principal. A seguir, o procedimento deve dividir todos os elementos de A pelo maior encontrado. O procedimento deve retornar a matriz alterada. 29. Faa um procedimento que receba, por parmetro, duas matrizes A(4,6) e B(6,4) e retorna uma matriz C, tambm por parmetro, que seja o produto matricial de M por N. 30. Faa um procedimento que receba, por parmetro, duas matrizes A(4,6) e B(6,4) e retorna uma matriz C, tambm por parmetro, que seja a soma de M com N. 31. Faa um procedimento que receba, por parmetro, duas matrizes A(4,6) e B(6,4) e retorna uma matriz C, tambm por parmetro, que seja a diferena de M com N. 32. Faa um procedimento que recebe, por parmetro, uma matriz M(6,6) e um valor A . O procedimento deve multiplicar cada elemento de M por A e armazenar em um vetor V(36). O vetor V deve retornar por parmetro. 33. Faa um procedimento que receba uma matriz A(10,10), por parmetro, e realize as seguintes trocas:

a linha 2 com a linha 8; a coluna 4 com a coluna 10; a diagonal principal com a secundria;

a linha 5 com a coluna 10;

O procedimento deve retornar a matriz alterada. 34. Faa uma funo que receba, por parmetro, uma matriz B(9,9) de reais e retorna a soma dos elementos das linhas pares de B. 35. Faa um procedimento que receba, por parmetro, uma matriz A(12,12) e retorna, tambm por parmetro, um vetor com a soma de cada uma das linhas de A . 36. Faa um procedimento que receba, por parmetro, uma matriz A(6,6) e multiplica cada linha pelo elemento da diagonal principal daquela linha. O procedimento deve retornar a matriz alterada. 37. Na teoria dos sistemas, define-se como elemento minimax de uma matriz o menor elemento de uma linha onde se encontra o maior elemento da matriz. Faa uma funo que recebe, por parmetro, uma matriz A(10,10) e retorna o seu elemento minimax, juntamente com a sua posio. 38. Faa um procedimento que receba, por parmetro, uma matriz 61x10. O procedimento deve somar individualmente as colunas da matriz e armazenar o resultado na 61a linha da matriz. O procedimento deve retornar a matriz alterada. 39. Faa uma funo que receba, por parmetro, uma matriz A(12,12) e retorne a mdia aritmtica dos elementos abaixo da diagonal principal. 40. Faa uma funo que receba, por parmetro, uma matriz A(10,10)e retorne a soma dos elementos acima da diagonal principal. 41. Faa uma funo que receba, por parmetro, uma matriz A(7,7)e retorne o menor valor dos elementos abaixo da diagonal secundria. 42. Faa uma funo que receba, por parmetro, uma matriz A(8,8) e retorne o menor valor dos elementos acima da diagonal secundria. 43. Faa uma funo que receba, por parmetro, uma matriz A(12,12) e retorna a mdia aritmtica dos elementos abaixo da diagonal principal e da diagonal secundria. 44. Faa uma funo que receba, por parmetro, uma matriz A(12,12) e retorna o produto dos elementos acima da diagonal principal e da diagonal secundria.

Os trabalhos devero ser realizados de forma manuscrita e entregues ao professor responsvel pela mesma. (UBIRATAN)

Vous aimerez peut-être aussi