Comandos Condicionais

  1. $ \bigstar$ Faça um algoritmo para ler um número e mostrar se é igual a zero, positivo ou negativo.

    Solução: CCTestarPositivo.c

    Solução (algoritmo): CCTestaValores.alg

  2. $ \bigstar$ Dados três números inteiros do meio externo, imprimir o menor deles.

    Solução: CCMenorNumero.c

  3. $ \bigstar$ Escreva um algoritmo que leia dois valores inteiros e imprima qual é a relação entre eles (maior, menor ou iguais).

    Solução: CCCompararNumeros.c

  4. $ \bigstar\bigstar$ Escreva um programa em C que leia um valor inteiro e verifique se este valor é o dobro de um número. Se for o dobro de um número, escreva que número é esse. Caso não seja, imprima a seguinte mensagem: "O <valor> não é o dobro de qualquer número.". Por exemplo, 14 é o dobro de 7 (resposta sim), enquanto que 15 não é o dobro de nenhum número.

    Solução: CCTestaDobro.c

    Solução (algoritmo): CCTestaDobro.alg

  5. $ \bigstar\bigstar$ Escreva um algoritmo que leia cinco números inteiros e determine qual dos quatro primeiros números está mais próximo do último número digitado. Considere que o usuário irá digitar 5 valores diferentes e que não existem dois números que possuam a mesma distância em relação ao último número. Por exemplo, se forem digitados os números 2, 6, 10, 15 e 9, o número 10 é o que está mais próximo do último número (valor 9).

    Solução (algoritmo): CCDistanciaValores.alg

  6. $ \bigstar\bigstar$ Escreva um algoritmo que leia as coordenadas (x, y) de um ponto de um plano e o raio de uma circunferência. Em seguida, o algoritmo deverá verificar a relação de pertinência do ponto e a circunferência (o ponto poderá estar fora, dentro ou na fronteira da circunferência, de acordo com a sua distância para o centro da circunferência).

    Solução (algoritmo): CCTestaPonto.alg

  7. $ \bigstar\bigstar$ Escreva um algoritmo que leia 3 valores A, B e C. A seguir, encontre o maior dos três valores e o escreva. Utilize a fórmula:

    $\displaystyle MaiorAB = \frac{(a + b + abs (a - b))}{2}$ (0.5)

  8. $ \bigstar$ Faça um algoritmo que lê 2 valores (A e B). Após a mensagem, o algoritmo deve mostrar uma mensagem São Múltiplos ou Não são Múltiplos, correspondente aos valores lidos.

    Solução: CCTestaMultiplos.c

    Solução (algoritmo): CCTestaMultiplos.alg

  9. $ \bigstar$ Faça um algoritmo que leia o número inteiro do meio externo e imprima uma mensagem indicando se o número lido é par ou ímpar.

    Solução: CCTestaParImpar.c

    Solução (algoritmo): CCTestaParImpar.alg

  10. $ \bigstar$ Escreva um algoritmo que leia um caracter e informe se este é ou não uma vogal.

    Solução: CCTestaVogal.c

  11. $ \bigstar$ Escreva um algoritmo que leia um caracter e informe se este é ou não uma consoante.

    Solução (algoritmo): CCTestaConsoante.alg

  12. $ \bigstar\bigstar$ Faça um algoritmo que leia 4 variáveis A, B, C e D. A seguir, realize a seguinte verificação: B deve ser maior que C; D deve ser maior do que A; a soma de C com D deve ser maior do que a soma de A e B; C e D devem ser positivos; e a variável deve ser A. Se essas condições forem atendidas escreva a mensagem: valores aceitos. Caso contrário escreva a mensagem: valores não aceitos.

  13. $ \bigstar$ Escreva um algoritmo para ler uma temperatura em graus Celsius, calcular e escrever o valor correspondente em Fahrenheit. Ao final, verifique se a diferença entre as duas temperaturas é maior do que 100.

    Fórmula:

    $\displaystyle \frac{C}{5} = \frac{F-32}{9}$ (0.6)

    Solução: CCTestaTemperatura.c

  14. $ \bigstar\bigstar$ Ler um número N qualquer menor ou igual a 50 e apresentar o valor obtido da multiplicação sucessiva de N por 3 (ou seja: N*3, N*3*3, N*3*3*3, ...), enquanto o produto for menor do que 250.

  15. $ \bigstar\bigstar$ Escreva um algoritmo que leia um valor inteiro em segundos e depois converta essa valor para mostrá-lo no formato hh:mm:ss.

    Solução: CCConverteSegundos.c

  16. $ \bigstar\bigstar\bigstar$ Escreva um algoritmo que mostre quantas horas, minutos e segundos existem em um intervalo de horas que está sendo lido pelo teclado (o usuário irá digitar o horário inicial e final). Utilize o formato hh:mm:ss para apresentar o resultado.

  17. $ \bigstar\bigstar\bigstar$ Faça um algoritmo para ajudar a bilheteria do metrô. O operador deve informar o tipo do bilhete (unitário, duplo ou 10 viagens) e o valor pago pelo passageiro. O sistema deve mostrar, então, a quantidade de bilhetes possíveis e o troco que o passageiro deve receber. Considere a seguinte tabela de preço:

    Bilhete unitário R$ 1,30
    Bilhete duplo R$ 2,60
    Bilhete de 10 viagens R$ 12,00

    Solução (algoritmo): CCBilhetes.alg

    Solução (algoritmo): CCBilhetes1.alg

  18. $ \bigstar$ Faça um algoritmo em pseudocódigo que calcule a média ponderada de um aluno, a partir de suas 3 notas obtidas no curso, sabendo-se que a primeira avaliação tem peso 2, a segunda tem peso 4 e a terceira tem peso 4. Mostre, ao final, a mensagem : "A MÉDIA FINAL DE ... FOI ... ". Informar também se o aluno foi aprovado, mostrando a mensagem "APROVADO, caso a nota final seja maior ou superior a 7,0.

  19. $ \bigstar$ Modifique o algoritmo da média do aluno para informar:

    APROVADO ............ caso a nota final esteja no intervalo [10, 7]

    RECUPERAÇÃO...... caso a nota final esteja no intervalo [5, 7)

    REPROVADO .......... caso a nota final esteja no intervalo [0, 5)

  20. $ \bigstar\bigstar$ (Prova EST/2010-2) Escreva um algoritmo que receba dois números e execute as operações abaixo, de acordo com a escolha do usuário.

    Opções Operação
    1 Média aritmética entre dois números
    2 Diferença do maior pelo menor número
    3 Produto entre os números digitados
    4 Divisão do primeiro pelo segundo

    Se a opção for inválida, o algoritmo deve mostrar uma mensagem de erro e terminar a sua execução. Lembre-se de que, na opção número 4, o segundo número deve ser diferente de zero.

    Solução (algoritmo): CCTestaOpcoes.alg

    Solução: CCTestaOpcoes.c

  21. $ \bigstar\bigstar$ (Prova EST/2010-2) Escreva um algoritmo que calcule o valor do imposto de renda de um contribuinte. Considere que o valor do imposto é calculado de acordo com a tabela a seguir.

    Renda anual Alíquota Dedução
    Até R$ 1.000,00 0,00% -
    Maior que R$ 1.000,00 e Menor ou igual a R$ 2.500,00 10,00% 1000
    Acima R$ 2.500,00 25,00% 4750

    O usuário (contribuinte) irá fornecer o valor da sua renda anual. Sobre o valor da renda anual, deve-se escolher um processo de seleção de forma a determinar qual alíquota deve ser aplicada. O valor do imposto deve ser calculado aplicando-se a alíquota à renda anual e subtraindo-se o valor da dedução.

    Solução (algoritmo): CCCalculoImposto.alg

  22. $ \bigstar$ Faça um algoritmo que leia 2 valores numéricos e um símbolo. Caso o símbolo seja um dos relacionados abaixo efetue a operação correspondente com os valores. Atenção para a divisão por 0!

    + operação de soma

    - operação de subtração

    * operação de multiplicação

    / operação de divisão

    Solução (algoritmo): CCOperacoes.alg

  23. $ \bigstar$ Escrever um algoritmo para ler dois valores e uma das seguintes operações a serem executadas, codificadas da seguinte forma:

    1 - Adição

    2 - Subtração

    3 - Multiplicação

    4 - Divisão

    Calcular e escrever o resultado dessa operação sobre os dois valores lidos.

    Solução (algoritmo): CCOperacoesAritmeticas.alg

    Solução: CCOperacoesAritmeticas.c

  24. $ \bigstar\bigstar$ Dados 3 valores A, B e C, verifique se podem ser valores de lados um triângulo e, se for possível, determine se o triângulo é eqüilátero, isósceles ou escaleno.

    Solução: CCVerificaTriangulo.c

  25. $ \bigstar\bigstar$ Sejam 3 números distintos A, B, C. Coloque-os em ordem crescente, utilizando seleção encadeada (ou aninhada).

    Solução (algoritmo): ordenaABC.alg

  26. $ \bigstar\bigstar$ Escreva um algoritmo que receba dois números e execute as operações abaixo, de acordo com a escolha do usuário.

    Opções Operação
    1 Média aritmética entre dois números
    2 Diferença do maior pelo menor número
    3 Produtos entre os números digitados
    4 Divisão do primeiro pelo segundo número

    Se a opção for inválida, o algoritmo deve mostrar uma mensagem de erro e terminar a sua execução. Lembre-se de que, na opção número 4, o segundo número deve ser diferente de zero.

    Solução (algoritmo): operacoesAritmeticas.alg

  27. $ \bigstar$ Escrever um algoritmo para ler cinco valores inteiros e escrever na tela o maior e o menor deles.

  28. $ \bigstar\bigstar$ Escrever um algoritmo para ler cinco valores inteiros, calcular a sua média, e escrever na tela os que são superiores à média.

    Solução (algoritmo): CCTestaMaiorMedia.alg

  29. $ \bigstar\bigstar$ Escrever um algoritmo para ler a quantidade de horas aula dadas por dois professores e o valor por hora recebido por cada um. Mostrar na tela qual dos professores tem salário total maior.

    Solução (algoritmo): CCMaiorSalarioProfessores.alg

  30. $ \bigstar\bigstar\bigstar$ Existem números de 4 dígitos (entre 1000 e 9999) que obedecem à seguinte característica: se dividirmos o número em dois números de dois dígitos, um composto pela dezena e pela unidade, e outro pelo milhar e pela centena, somarmos estes dois novos números gerando um terceiro, o quadrado deste terceiro número é exatamente o número original de quatro dígitos. Por exemplo: 2025 $ \rightarrow$ dividindo: 20 e 25 $ \rightarrow$ somando temos 45 $ \rightarrow$ 45$ ^2$ = 2025.

    Escreva um programa para ler um número e verificar se ele obedece a esta característica.

    Solução (algoritmo): capicua.alg

  31. $ \bigstar\bigstar$ Escrever um algoritmo que leia valores inteiros em duas variáveis distintas e se o resto da divisão da primeira pela segunda for 1 mostre a soma dessas variáveis mais o resto da divisão; se for 2 escreva se o primeiro e o segundo valor são pares ou ímpares; se for igual a 3 multiplique a soma dos valores lidos pelo primeiro; se for igual a 4 divida a soma dos números lidos pelo segundo, se este for diferente de zero. Em qualquer outra situação mostre o quadrado dos números lidos.

    Solução: CCTestaResto.c

  32. $ \bigstar$ Dadas a altura e o sexo de uma pessoa, determinar seu peso ideal, utilizando as seguintes fórmulas:

    Solução (algoritmo): CCPesoIdeal.alg

    Solução: CCPesoIdeal.c

  33. $ \bigstar\bigstar$ Calcular as raízes de uma equação do 2º grau, sendo que os valores (coeficientes) A, B e C são fornecidos pelo usuário. Considere a análise da existência de raízes reais.

    Solução (algoritmo): CCEquacaoSegundoGrau.alg

  34. $ \bigstar$ Calcular a média final obtida por um aluno, para 4 notas bimestrais, acrescentando uma mensagem de aprovado para média final maior ou igual a 7, e reprovado em caso contrário.

    Solução (algoritmo): CCTestaAprovacao.alg

  35. $ \bigstar$ Obter um valor qualquer e perguntar ao usuário se este valor é em dólares ou em reais. Caso sejam dólares, convertê-los para reais. Se forem reais, convertê-los para dólares (a cotação do dólar do dia também será digitada pelo usuário).

  36. $ \bigstar$ Para 2 números quaisquer, informar:

    Solução (algoritmo): CCTestaNumeros.alg

    Solução: CCTesteNumeros.c

  37. $ \bigstar\bigstar$ Um banco concederá um crédito especial aos seus clientes de acordo com o saldo médio no último ano. Faça um algoritmo que receba o saldo médio de um cliente e calcule o valor do crédito, de acordo com a tabela a seguir. Mostre o saldo médio e o valor do crédito.

    Saldo Médio Valor do Crédito
    Acima de R$ 400,00 30% do saldo médio
    Acima de R$300,00 até R$400,00 25% do saldo médio
    Acima de R$200,00 até R$300,00 20% do saldo médio
    até R$200,00 10% do saldo médio

    Solução (algoritmo): CCCreditoBancario.alg

  38. $ \bigstar\bigstar$ Faça um algoritmo que receba o preço de um produto, calcule e mostre, de acordo com as tabelas a seguir, o novo preço e a classificação:

    Tabela 1 - Percentual de aumento  
    Preço Percentual de aumento
    até R$50,00 5
    entre R$50,00 e R$100,00 10
    a partir de R$100,00 15

    Tabela 2 - Classificações
    Novo preço Classificação
    até R$80,00 barato
    entre R$80,00 e R$120,00 (inclusive) normal
    entre R$120,00 e R$200,00 (inclusive) caro
    acima de R$200,00 muito caro

  39. $ \bigstar$ Faça um algoritmo que receba a idade de um nadador e mostre a sua categoria usando as regras a seguir:

    Categoria Idade
    Infantil 5 a 7
    Juvenil 8 a 10
    Adolescente 11 a 15
    Adulto 16 a 30
    Senior acima de 30

  40. $ \bigstar$ Uma empresa decidiu dar uma gratificação de natal a seus funcionários baseada no número de horas extras e no número de horas que o funcionário faltou ao trabalho. O valor do prêmio é obtido pela consulta na tabela a seguir, em que: H = número de horas extras-2/3*número de horas-falta

    H Gratificação
    > 2400 R$500,00
    mais de 1800 a 2400 R$400,00
    mais de 1200 a 1800 R$300,00
    de 600 a 1200 R$200,00
    <600 R$100,00

  41. $ \bigstar\bigstar$ Faça um algoritmo que receba:

    a) o código do estado de origem da carga de um caminhão, supondo que a digitação do código do estado seja sempre válida, ou seja, um número inteiro de 1 a 5;

    b) o peso da carga do caminhão em toneladas;

    c) o código da carga, supondo que a digitação do código da carga seja sempre válida, ou seja, um número inteiro de 10 a 40.

    Código do Estado Imposto
    1 35%
    2 25%
    3 15%
    4 5%
    5 isento

    Código da carga Preço por quilograma
    10 a 20 R$ 100,00
    21 a 30 R$ 250,00
    31 a 40 R$ 340,00

    Calcule e mostre:

    a) o peso da carga do caminhão, convertido em quilogramas;

    b) o preço da carga do caminhão;

    c) o valor do imposto, sabendo-se que o imposto é cobrado sobre o preço da carga do caminhão e que depende do estado de origem;

    d) o valor total transportado pelo caminhão (carga mais imposto).

    Solução (algoritmo): calculoImpostoCaminhao.alg

  42. $ \bigstar\bigstar$ Faça um algoritmo que receba o número do mês e mostre o nome do mês correspondente. Por exemplo, o mês 7 corresponde a julho. Valide a entrada de dados.

  43. $ \bigstar$ Em um estacionamento rotativo o valor a ser pago pelo usuário é determinado pelo tempo que o carro fica estacionado. Faça um algoritmo que leia a hora de entrada e saída do veículo e informe o valor a ser pago. Utilize os dados da tabela abaixo.

    TEMPO PREÇO
    até 2 horas R$ 3,00
    até 4 horas R$ 8,00
    acima de 4 horas R$ 12,00

  44. $ \bigstar\bigstar$ Marjara quer viajar ao fim de um período de um ano. Para isso estuda criar uma poupança, mas está em dúvida sobre dois bancos: 1 e 2. O banco 1 tem rendimento mensal de 0,1% e o banco 2 tem um rendimento de 0,5% ao semestre. Crie um algoritmo que leia o período da aplicação e a taxa de cada banco e ao seu término mostre a mensagem "Banco 1 é a melhor opção", caso o banco 1 possua o melhor rendimento ao fim de um ano ou "Banco 2 é a melhor opção", caso o melhor rendimento seja do banco 2.

    Considere a fórmula do rendimento abaixo:

    $\displaystyle M = C . (1+i)^{n}$ (0.7)

    Sendo M o valor total no fim da aplicação, C o capital aplicado, i a taxa de juros (rendimento) e n o período da aplicação. Considere que o capital inicial será de R$1.000,00.

    Obs. n deve ter a mesma unidade de i. Ex: 1 bimestre = 2 meses, 1 ano = 4 trimestres.

  45. $ \bigstar\bigstar\bigstar$ Escreva um algoritmo que calcule o número de notas que deve ser dado de troco para um pagamento efetuado. O algoritmo deve ler o valor a ser pago e o valor efetivamente pago. Supor que o troco seja dado em notas de 50, 20, 10, 5, 2 e 1 real. O algoritmo deve usar uma quantidade mínima de notas. Por exemplo, se o usuário paga 100 reais para comprar um produto por 37 reais receberá um troco de 63 reais com as seguintes notas: 1 nota de 50, 1 nota de 10, 1 nota de 2 e 1 nota de 1.

    Solução (algoritmo): CCCalculoNotas.alg

  46. $ \bigstar$ Rastreie o algoritmo a seguir e, caso haja algum erro, identifique o problema e proponha uma maneira de solucioná-lo.

    algoritmo ”Salárioprofessor” 
         var
         s1,s2,p1,p2:real
         inicio
         escreva(“Digite o salário de cada professor”)
         leia(s1,s2)
         se (s1>s2) então
              escreva(p1)
         senão
              escreva(p2)
         fimse
    fimalgoritmo
    

  47. $ \bigstar$ Rastreie o algoritmo a seguir e, caso haja algum erro, identifique o problema e proponha uma maneira de solucioná-lo.

    algoritmo ”parximpar”    
       var
       num :inteiro
       leia(num)
       se(num%2=0) então
            escreva(“O número é par)
       senão se
            escreva(“O número é ímpar)
       fimse
    fimalgoritmo
    

  48. $ \bigstar$ Rastreie o algoritmo a seguir e, caso haja algum erro, identifique o problema e proponha uma maneira de solucioná-lo.

    algoritmo "quatro operações"
        var
        num1,num2:real
        car1,car2:caracter
        inicio
        leia(num1)
        leia(num2)
        leia(car1)
        leia(car2)
        escreva(num1*num2)
        escreva(num1\num2) 
        escreva(num1-num2)
        escreva(car1+car2)
    fimalgoritmo
    

  49. $ \bigstar$ Rastreie o algoritmo a seguir e, caso haja algum erro, identifique o problema e proponha uma maneira de solucioná-lo.

    algoritmo "media"
        var
        Num1,nUm2,nuM3:inteiro
        media:real
        inicio
        leia(num1,num2,num3)
        media <- (num1+num2)\3*num3
        escreva(media)
    fimalgoritmo
    

  50. $ \bigstar$ Rastreie o algoritmo abaixo e informe o valor de cada variável ao final da sua execução:

    algoritmo "teste"
    var
        total, resto,num1,num2,aux :inteiro
        teste :logico
    Inicio 
        num1 <- 5
        num2 <-3
        total<- num1+num2
        resto<-num1-num2
        teste<- (total=resto)
        aux <- num1
        num1 <- num2 
        num2<- aux
    fimalgoritmo
    

  51. $ \bigstar\bigstar$ (Prova EST/2011-1) Um engenheiro precisa cobrir uma parede retangular de uma casa com azulejos. Os azulejos são quadrados e existem de três diferentes tamanhos (2m, 3m e 5m). O engenheiro não sabe como calcular a quantidade necessária de azulejos (de cada tipo). Assim, escreva um algoritmo que ajude o colega a calcular quantos azulejos (de cada tipo) serão necessários. Considere que o usuário irá digitar o tamanho da parede em metros quadrados (área). Considere também que a prioridade no uso dos azulejos deve ser do maior para o menor, ou seja, se for possível usar apenas o azulejo de 5m, deve-se usar apenas esse tipo. Caso isso não ocorra, deve-se empregar os demais (o azulejo de 3m tem prioridade sobre o de 2m). Considere que a parede será totalmente preenchida pelos azulejos e que não haverá espaço sobrando. O algoritmo, ao final, deverá exibir a quantidade de cada tipo de azulejo empregado para o preenchimento da parede. Observar que legibilidade e organização do código serão critérios de avaliação.

  52. $ \bigstar\bigstar$ (Prova EST/2011-1) Escreva um algoritmo para calcular a área de uma figura geométrica escolhida pelo usuário. Considere as seguintes figuras geométricas: triângulo, círculo e trapézio. Depois de escolhida a figura geométrica, o usuário digitará as medidas necessárias conforme a figura escolhida. Portanto, o usuário somente digitará as medidas da figura que ele escolher. Por exemplo, para calcular a área do círculo o usuário digitará apenas o raio. Se tivesse escolhido o triângulo, o usuário deveria digitar apenas a base e a altura. Caso o usuário escolha uma outra figura geométrica, o algoritmo deverá apresentar uma mensagem informando que a figura é inválida. Utilize o comando escolha para resolver essa questão. Observar que legibilidade e organização do código serão critérios de avaliação.

    Fórmulas:

    $\displaystyle \acute{A}rea do tri\hat{a}ngulo = \frac{base . altura}{2}$ (0.8)

    $\displaystyle \acute{A}rea do c\acute{i}rculo = pi . {raio}^{2}$ (0.9)

    $\displaystyle \acute{A}rea do trap\acute{e}zio = \frac{(baseMenor + baseMaior) . altura}{2}$ (0.10)

    Solução (algoritmo): CCCalcularAreaFiguras.alg

  53. $ \bigstar\bigstar$ Os empregados de uma empresa recebem por hora trabalhada. Para as primeiras quarenta horas da semana eles recebem o salário-hora multiplicado pelo número de horas trabalhadas. Para as horas que excederem quarenta horas eles recebem o dobro por hora. É fornecido o número de cada empregado, o salário hora e o total de horas trabalhadas. Escreva um algoritmo para determinar o salário bruto para um único funcionário.

    Solução (vídeo): http://www.youtube.com/watch?v=_NcWJQHnq8A

    Solução (algoritmo) (vídeo): http://www.youtube.com/watch?v=5l84L4fxAIc

    Solução (algoritmo): CCCalculoSalario.alg

  54. $ \bigstar\bigstar$ (Prova EST/2012-1) (Prova EST/2014-1) Escreva um algoritmo que leia um valor numérico e um símbolo. Caso o símbolo seja um dos relacionados abaixo, efetue a operação correspondente com os valores. Se o usuário digitar um símbolo inválido, apresente a seguinte mensagem: Opção inválida.. Utilize o comando escolha na seleção da operação.

    ! Calcular o fatorial do número digitado.
    @ Calcular o quadrado do número digitado.
    R Calcular a raiz quadrada do número digitado.

    Solução (algoritmo): CCOpcoesEscolha.alg

    Solução: CCOpcoesEscolha.c

  55. $ \bigstar\bigstar$ Escreva um algoritmo que leia quatro notas parciais e a quantidade de faltas de um aluno. Sabendo que a média é 7 e que a disciplina permite, no máximo, 7 faltas, imprima se o aluno foi ou não aprovado.

    Solução (algoritmo): CCTestaNotaFreq.alg

Tiago Eugenio de Melo 2014-03-31