Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM Programação de Computadores I - BCC701 2013-01 Lista de Exercícios Complementares 01 - Prof. Red Implemente os exercícios abaixo, codificando-os na Linguagem Scilab. Utilize as mensagens de texto para as entradas e saídas necessárias. Também, use comentários para melhorar a legibilidade de seu programa. As implementações devem seguir os exemplos de execução dos programas exibidos. Entrada e Saída de Dados Exercício 1 Escreva um programa que solicite ao usuário a altura e um raio de um cilindro circular (em metros). O programa calcula o volume do cilindro, mostrando o resultado ao usuário. Volume = * raio2 * altura Execução DIGITE A ALTURA DO CILINDRO (m): 0.4 DIGITE O RAIO DO CILINDRO (m): 0.2 O VOLUME DO CILINDRO É 0.0502655 m^3 --> Exercício 2 Uma pessoa resolveu fazer uma aplicação em uma poupança programada. Para calcular seu rendimento, ela deverá fornecer o valor constante da aplicação mensal (VA), a taxa (tx) e o número de meses (n). Sabendo-se que a fórmula usada para este cálculo é calcule o rendimento de uma aplicação conforme o exemplo de execução abaixo. Execução DIGITE O VALOR CONSTANTE DA APLICAÇÃO MENSAL (R$): 120 DIGITE O VALOR DA TAXA MENSAL (%): 2 DIGITE O NÚMERO DE MESES: 24 O VALOR ACUMULADO DA APLICAÇÃO É: 3723.64 --> Exercício 3 Certa importância em dólares será dividida entre três pessoas. A primeira receberá 30% da quantia total; a segunda 38% e a terceira 32%. Codifique um programa que leia o valor total da importância em dólares e calcule a parcela de cada pessoa. O programa produz a saída exibida abaixo. Execução DIGITE O TOTAL DA IMPORTÂNCIA EM DÓLARES: 525 TOTAL EM DÓLARES: 525 PARCELA DA PRIMEIRA PESSOA: 157.5 PARCELA DA SEGUNDA PESSOA: 199.5 PARCELA DA TERCEIRA PESSOA: 168 --> Exercício 4 Sabendo que o latão é obtido fundindo-se sete partes de cobre com três partes de zinco, escreva um programa que solicite quantos quilos de latão um usuário quer produzir. A seguir o programa informa ao usuário as quantidades de cobre e zinco necessárias. Execução QUANTOS QUILOS DE LATÃO QUER PRODUZIR? 248 SÃO NECESSÁRIOS 173.6 QUILOS DE COBRE E 74.4 QUILOS DE ZINCO --> Exercício 5 Uma empresa contrata um encanador a R$ 65,00 por dia. Crie um programa que solicite o número de dias trabalhados pelo encanador e imprima o salário líquido que deverá ser pago ao encanador. Sabe-se que são descontados 8% para o imposto de renda. Execução QUANTOS DIAS O ENCANADOR TRABALHOU ? 15 SALÁRIO BRUTO: 975.00 DESCONTO DO I.R.: 78.00 SALÁRIO LÍQUIDO: 897.00 --> Exercício 6 Codificar um programa que, dado um número de conta corrente com três dígitos, retorne o seu dígito verificador, que é calculado da seguinte maneira: Seja o número da conta: 235 1) Somar o número da conta com seu inverso: 235 + 532 = 767 2) multiplicar cada dígito pela sua ordem posicional e somar estes resultados: 3) o dígito verificador da conta é o último dígito (40 → 0) 7 6 7 1 2 3 = = = 7 + 12 + 21 = 40 Execução DIGITE O NÚMERO DA CONTA: 235 O DÍGITO VERIFICADOR DA CONTA 235 É 0 --> Estrutura Condicional Simples Exercício 7 Codifique um programa que faça a leitura de um número qualquer pelo teclado. O programa deve determinar se o número lido é positivo, negativo ou nulo, imprimindo uma mensagem textual para o usuário. A seguir, duas ilustrações de execuções do programa. Execução 1 Entrada DIGITE UM NÚMERO: 88 Saída NÚMERO POSITIVO Execução 2 Entrada DIGITE UM NÚMERO: 0 Saída NÚMERO NULO Exercício 8 Codifique um programa que leia dois números pelo teclado, e a seguir, efetue a adição dos mesmos, armazenando-a na memória. Caso o valor somado seja maior que 20, deve-se imprimir para o usuário a soma acrescida de 8; caso o valor somado seja menor ou igual a 20, deve-se imprimir a soma subtraída de 5. A seguir, duas ilustrações de execuções do programa. Execução 1 Entrada PRIMEIRO NÚMERO: 15 SEGUNDO NÚMERO: 6 Saída SOMA ACRESCIDA DE 8 = 29 Execução 2 Entrada PRIMEIRO NÚMERO: 15 SEGUNDO NÚMERO: 5 Saída SOMA SUBTRAÍDA DE 5 = 15 Exercício 9 Codifique um programa que leia um número qualquer pelo teclado e imprima para o usuário: A raiz quadrada do número, caso ele seja positivo; ou O quadrado do número, caso ele seja negativo; ou Uma mensagem para o usuário informando que o número é zero. A seguir, duas ilustrações de execuções do programa. Execução 1 Entrada DIGITE UM NÚMERO: -8 Saída QUADRADO DO NÚMERO = 64 Execução 2 Entrada DIGITE UM NÚMERO: 0 Saída O NÚMERO DIGITADO FOI ZERO Exercício 10 Codique um programa que leia dois números pelo teclado, armazenando-os nas variáveis A e B respectivamente. O programa deve imprimir uma mensagem para o usuário informando de A é divisível por B. A seguir, uma ilustração da execução do programa. Entrada A = 7 B = 3 Saída A NÃO É DIVISÍVEL POR B Exercício 11 Codificar um programa que leia quatro valores numéricos pelo teclado. O programa deve imprimir para o usuário o menor e o maior valor lido. A seguir, uma ilustração da execução do programa. Entrada VALOR 1 = 8 VALOR 2 = 3 VALOR 3 = 9 VALOR 4 = 1 Saída MENOR VALOR = 1 MAIOR VALOR = 9 Exercício 12 Codificar um programa que leia três valores numéricos pelo teclado. O programa deve imprimir para o usuário todos os valores em ordem crescente. A seguir, uma ilustração da execução do programa. Entrada VALOR 1 = 8 VALOR 2 = 2 VALOR 3 = 90 Saída VALORES EM ORDEM CRESCENTE: 2, 8, 90 Exercício 13 Codificar um programa que leia o valor de uma variável x real, e a seguir, calcule o valor de f(x). A seguir, uma ilustração da execução do programa. Entrada X = 0 Saída X NÃO PERTENCE AO DOMÍNIO DE f(x) Exercício 14 Codificar um programa que leia três valores numéricos pelo teclado. Independentemente dos valores informados, o programa deve armazenar o primeiro valor na variável MENOR, o segundo na variável INTER e o terceiro na variável MAIOR. A seguir, o programa determina a menor variável, a de valor intermediário de a de maior valor, armazenado-as nas variáveis MENOR, INTER e MAIOR, respectivamente. O programa imprime o conteúdo de MENOR, INTER e MAIOR. A seguir, uma ilustração da execução do programa. Entrada LEITURA 1 = 9 LEITURA 2 = 2.88 LEITURA 3 = 1.987 Saída MENOR = 1.987 INTER = 2.88 MAIOR = 9 Exercício 15 Codificar um programa que leia o valor de uma variável x real, e a seguir, calcule o valor de f(x). A seguir, uma ilustração da execução do programa. Entrada X = 45 Saída f(x) = 5.0868025 Exercício 16 Codifique um programa que leia duas notas de avaliações e um aluno (N1 e N2 são valores entre 0 e 10). A seguir, é calculada a média do aluno e sua situação é impressa na tela de acordo com a tabela: Média Situação < 3 REPROVADO >= 6 APROVADO 3<= MÉDIA < 7 EXAME ESPECIAL A seguir, uma ilustração da execução do programa. Entrada DIGITE A NOTA 1: 4 DIGITE A NOTA 2: 6 Saída MÉDIA = 5, EXAME ESPECIAL Estrutura de Repetição Exercício 17 Criar um programa que leia um número (NUM) representando a quantidade de valores a serem lidos pelo teclado. A seguir, o programa lê NUM números inteiros e imprime o maior deles. Suponha que todos os números lidos serão positivos. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE UM NÚMERO POSITIVO QUALQUER:4 DIGITE UM NÚMERO POSITIVO QUALQUER:5 DIGITE UM NÚMERO POSITIVO QUALQUER:1 DIGITE UM NÚMEROPOSITIVO QUALQUER:6 DIGITE UM NÚMERO POSITIVO QUALQUER:0 Saída MAIOR NÚMERO DIGITADO: 6 Exercício 18 Criar um programa que leia os limites inferior e superior de um intervalo e imprima todos os números pares do intervalo aberto e o somatório desses números. Suponha que os dados digitados são para um intervalo crescente, ou seja, o primeiro valor é menor que o segundo. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O LIMITE INFERIOR: 21 DIGITE O LIMITE SUPERIOR: 65 Saída 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 SOMA DOS VALORES PARES DIGITADOS: 946 Exercício 19 Escreva um programa que receba 15 números e imprima quantos números maiores que 30 foram digitados. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE UM NÚMERO QUALQUER: 1 DIGITE UM NÚMERO QUALQUER: 5 . . . DIGITE UM NÚMERO QUALQUER: 103 DIGITE UM NÚMERO QUALQUER: 32 Saída QUANTIDADE DE NÚMEROS MAIORES QUE 30 DIGITADOS: 9 Exercício 20 Escreva um programa que receba 10 números e imprima o maior e o segundo maior da lista. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE UM NÚMERO QUALQUER: 1 DIGITE UM NÚMERO QUALQUER: 5 . . . DIGITE UM NÚMERO QUALQUER: 103 DIGITE UM NÚMERO QUALQUER: 32 Saída MAIOR NÚMERO DIGITADO: 502 SEGUNDO MAIOR NÚMERO DIGITADO: 103 Exercício 21 Escreva um programa que realize o produto de um número real qualquer A por um número inteiro B qualquer, ou seja, A * B, através de somas sucessivas. Esses dois valores são passados pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE UM NÚMERO REAL QUALQUER (A): 2 DIGITE UM NÚMERO INTEIRO QUALQUER (B): 9 Saída A * B = 18 Exercício 22 Escreva um programa para calcular o fatorial de um número N, cujo valor é fornecido pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE UM NÚMERO QUALQUER (N): 5 Saída FATORIAL DE 5: 120 Exercício 23 Escreva um programa que determine todos os divisores de um dado número N fornecido pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE UM NÚMERO NATURAL QUALQUER (N): 120 Saída DIVISORES DE 120: 1 2 3 4 5 6 8 10 12 15 20 24 30 40 60 120 Exercício 24 Seja a seguinte série: 1, 4, 4, 2, 5, 5, 3, 6, 6, 4, 7, 7, ... Escreva um programa que seja capaz de gerar os N-termos dessa série. A quantidade de termos (N) deve ser fornecida pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE A QUANTIDADE DE TERMOS (N): 8 Saída 1 4 4 2 5 5 3 6 6 4 7 7 5 8 8 6 9 9 7 10 10 8 11 11 Exercício 25 Seja a série: Codifique um programa para gerar o número H. O número N é fornecido pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE A QUANTIDADE DE TERMOS (N): 10 Saída H = 2.9289683 Exercício 26 Escreva um programa que receba dez números do usuário e imprima o quadrado de cada número digitado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada/Saída DIGITE UM NÚMERO QUALQUER: 3 QUADRADO DE 3: 9 DIGITE UM NÚMERO QUALQUER: 12 QUADRADO DE 12: 144 . . . DIGITE UM NÚMERO QUALQUER: 5 QUADRADO DE 5: 25 Exercício 27 Escreva um programa que receba oito números do usuário e imprima o logaritmo de cada um deles na base 10. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada/Saída DIGITE UM NÚMERO QUALQUER POSITIVO: 2 LOGARITMO DE 2: 0.30103 DIGITE UM NÚMERO QUALQUER POSITIVO: -3 IMPOSSÍVEL CALCULAR O LOGARITMO DE NÚMERO NEGATIVO! DIGITE UM NÚMERO QUALQUER POSITIVO: 6 LOGARITMO DE 6: 0.778151 DIGITE UM NÚMERO QUALQUER POSITIVO: 10 LOGARITMO DE 10: 1 Exercício 28 Criar um programa que leia um número (NUM) representando a quantidade de valores a serem lidos pelo teclado. A seguir, o programa lê NUM números inteiros e imprime o maior deles. Suponha que todos os números lidos serão positivos. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE UM NÚMERO POSITIVO QUALQUER:4 DIGITE UM NÚMERO POSITIVO QUALQUER:5 DIGITE UM NÚMERO POSITIVO QUALQUER:1 DIGITE UM NÚMERO POSITIVO QUALQUER:6 DIGITE UM NÚMERO POSITIVO QUALQUER:0 Saída MAIOR NÚMERO DIGITADO: 6 Exercício 29 Criar um programa que leia dez números inteiros e imprima o maior e o menor número digitado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE UM NÚMERO QUALQUER: 2541 DIGITE UM NÚMERO QUALQUER: 5 DIGITE UM NÚMERO QUALQUER: 20 DIGITE UM NÚMERO QUALQUER: -1 DIGITE UM NÚMERO QUALQUER: 33 DIGITE UM NÚMERO QUALQUER: 6 DIGITE UM NÚMERO QUALQUER: 81 DIGITE UM NÚMERO QUALQUER: -258 DIGITE UM NÚMERO QUALQUER: 10 DIGITE UM NÚMERO QUALQUER: 1896 Saída MENOR VALOR DIGITADO: -258 MAIOR VALOR DIGITADO: 2541 Exercício 30 Escreva um programa que leia 20 números inteiros e imprima quantos são pares e quantos são ímpares. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE UM NÚMERO QUALQUER: 5 DIGITE UM NÚMERO QUALQUER: 12 . . . DIGITE UM NÚMERO QUALQUER: 322 DIGITE UM NÚMERO QUALQUER: 16 Saída QUANTIDADE DE NÚMEROS PARES: 12 QUANTIDADE DE NÚMEROS ÍMPARES: 8 Exercício 31 Seja a série: Codifique um programa para gerar o número H. O número N é fornecido pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE A QUANTIDADE DE TERMOS (N): 10 Saída H = 0.6456349 Exercício 32 Faça um programa para calcular o valor de S, dado por: OBS.: N é fornecido pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O NÚMERO DE TERMOS DA SÉRIE: 9 Saída SOMATÓRIO DA SÉRIE (N = 9): 19.2897 Exercício 33 Codifique um programa que leia um número real X pelo teclado e determine e imprima o somatório S com 20 parcelas. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O VALOR DE X: 25 Saída S = 9.19699 Exercício 34 Implementar um programa para calcular o sen(x). O valor de x deverá ser informado pelo usuário em graus. O valor do seno de x será calculado pela soma dos 50 primeiros termos da série a seguir: A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O VALOR DO ÂNGULO EM GRAUS: 30 Saída seno(0.523599) = 0.5 Exercício 35 Implementar um programa para calcular o cos(x). O valor de x deverá ser digitado em graus. O valor do cosseno de x será calculado pela soma dos 15 primeiros termos da série a seguir: A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O VALOR DO ÂNGULO x (GRAUS): 60 Saída cos(60) = 0.601883 Exercício 36 Escreva um programa que leia um conjunto de 50 fichas, cada uma contendo a altura e o código do sexo de uma pessoa (código = 1 se for masculino e 2 se for feminino) e, através destas informações, calcule e imprima: A maior e a menor altura da turma; A média de altura das mulheres; A média de altura da turma. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O SEXO DA PESSOA (1) Masculino (2) Feminino: 1 DIGITE A ALTURA DA PESSOA: 1.98 DIGITE O SEXO DA PESSOA (1) Masculino (2) Feminino: 2 DIGITE A ALTURA DA PESSOA: 1.55 . . . DIGITE O SEXO DA PESSOA (1) Masculino (2)Feminino: 2 DIGITE A ALTURA DA PESSOA: 1.89 Saída MAIOR ALTURA: ??? MENOR ALTURA: ??? MÉDIA DE ALTURA DAS MULHERES: ??? MÉDIA DE ALTURA DA TURMA: ??? Exercício 37 Um determinado material radioativo perde 1% de sua massa a cada 50 segundos. Dada a massa inicial, em gramas, fazer um programa que determine o tempo necessário para que essa massa se torne menor do que 0.5 gramas. OBS.: entrada: massa inicial; saída: massa final e tempo no formato de horas, minutos e segundos. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O VALOR DA MASSA INICIAL: 45.876 Saída MASSA FINAL: 0.498 TEMPO GASTO: 6 HORAS, 15 MINUTOS, 0 SEGUNDOS Exercício 38 Fazer um programa para ler a altura (em metros) e o sexo (‘m’ e ‘f’) de um grupo de 10 pessoas. O programa determina e imprime a média da altura de cada sexo. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE A ALTURA DA PESSOA: 1.65 DIGITE O SEXO DA PESSOA (m/M) ou (f/F): m DIGITE A ALTURA DA PESSOA: 1.80 DIGITE O SEXO DA PESSOA (m/M) ou (f/F): f DIGITE A ALTURA DA PESSOA: 1.76 DIGITE O SEXO DA PESSOA (m/M) ou (f/F): M DIGITE A ALTURA DA PESSOA: 1.74 DIGITE O SEXO DA PESSOA (m/M) ou (f/F): F DIGITE A ALTURA DA PESSOA: 1.68 DIGITE O SEXO DA PESSOA (m/M) ou (f/F): M DIGITE A ALTURA DA PESSOA: 1.66 DIGITE O SEXO DA PESSOA (m/M) ou (f/F): m DIGITE A ALTURA DA PESSOA: 1.59 DIGITE O SEXO DA PESSOA (m/M) ou (f/F): f DIGITE A ALTURA DA PESSOA: 1.71 DIGITE O SEXO DA PESSOA (m/M) ou (f/F): f DIGITE A ALTURA DA PESSOA: 1.85 DIGITE O SEXO DA PESSOA (m/M) ou (f/F): m DIGITE A ALTURA DA PESSOA: 1.69 DIGITE O SEXO DA PESSOA (m/M) ou (f/F): f Saída MÉDIA DA ALTURA DOS HOMENS: 1.72 MÉDIA DA ALTURA DAS MULHERES: 1.71 Exercício 39 Fazer um algoritmo para calcular a raiz quadrada (x) de um número positivo (y), usando o roteiro abaixo, baseado no método de aproximações sucessivas de Newton: 1) a primeira aproximação para raiz quadrada de y é: 2) as sucessivas aproximações serão: 3) O laço deverá terminar quando | termoi - termoi-1 | < 0.0001 A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE UM NÚMERO POSITIVO PARA O CÁLCULO DA RAIZ QUADRADA: 4.268 Saída O VALOR APROXIMADO DA RAIZ QUADRADA DE 4.27 É: 2.0659
Compartilhar