Estruturas condicionais

Estruturas condicionais

  1. Escreva um programa que lê um número inteiro do teclado e imprime "sim" se o número for par e maior do que 10, ou for ímpar e menor do que 50. Caso contrário o programa deve imprimir "não".

  2. Faça um programa que lê dois números do teclado e em seguida um caractere que representa uma operação: +, −, ∗, /. Seu programa então deve imprimir o resultado da operação.

  3. Escreva um programa lê três números e imprime o maior deles.

  4. Escreva um programa que ordene três números.

    a) Escreva duas versões para o programa acima: uma sem utilizar operadores lógicos e outra utilizando operadores lógicos.

    b) Depois responda: existem problemas que não podem ser resolvidos sem utilizar operadores lógicos, mesmo estando disponíveis estruturas condicionais?

  5. Faça um algoritmo que leia um dado número X inteiro e verifique se esse número é divisível por 3 e 5 simultaneamente.

  6. O número $3025$ possui a seguinte propriedade:

    $$ 30+25 = 55 \mbox{ e } 55^2 = 3025. $$

    Faça um algoritmo que leia um número de 4 dígitos e mostre se esse número tem essa propriedade ou não.

  7. Dados três valores X,Y e Z, verifique se eles podem ser os comprimentos dos lados de um triângulo e, se forem, verifique se é um triângulo equilátero, isósceles ou escaleno. Se eles não puderem formar um triângulo, escreva uma mensagem. O comprimento de cada lado de um triângulo é menor do que a soma dos comprimentos dos outros dois lados.

  8. Faça um algoritmo que, dados os lados de um triângulo $A$, $B$ e $C$, diga se os lados formam um triângulo: retângulo ($A^2 = B^2 + C^2$), obtusângulo ($A^2 > B^2 + C^2$) ou acutângulo ($A^2 < B^2 + C^2$)

  9. Dados três valores distintos, coloque-os em ordem crescente. Obs.: Certifique-se de que os números sejam realmente distintos, se não forem, mostre uma mensagem de erro e finalize o algoritmo.

  10. Desenvolva um algoritmo que leia os coeficientes ($A$, $B$ e $C$) de uma equação do segundo grau ($Ax^2 + Bx + C = 0$) e calcule suas raízes. O programa deve mostrar, quando possível, o valor das raízes calculadas e a classificação das raízes: “RAÍZES IMAGINÁRIAS”, “RAIZ ÚNICA”, “RAÍZES DISTINTAS”.

  11. Um usuário deseja escolher que tipo de média e calculá-a a partir de 3 notas. Faça um algoritmo que leia as notas, a opção escolhida pelo usuário e calcule a média.

    1. aritmética
    2. ponderada com pesos 3, 3, 4
    3. harmônica
    4. geométrica
  12. Capicuas são números que lidos da esquerda para a direita é o mesmo que quando lido da direita para a esquerda. Exemplos:

    • 10201
    • 2002
    • 565
    • 99
    • 7

    Faça um algoritmo que leia um número de cinco dígitos e verifique se esse número é ou não capicua. Você não deve trabalhar com variáveis do tipo inteiro.

  13. Escreva um programa que leia um tabuleiro de jogo da velha e verifique o status do jogo. O tabuleiro é composto de nove números, onde o jogador ‘O’ é representado por um 0; o jogador ‘X’ por um 2 e uma casa vazia por um 1. A saída do seu programa deve ser ‘X’, ‘O’, ‘Velha’ ou ‘Indefinido’.

  14. Faça um programa que receba como entrada um ano e imprima a data da Páscoa naquele ano. Você deve fazer uma pesquisa para encontrar a fórmula que calcula a data da Páscoa.

  15. Considere um problema de decidir se um número inteiro é grande par, isso é, se ele é par, maior que 100 e vale o dobro de um número ímpar.

    a) Escreva um programa que leia um número e imprime “SIM” quando for grande par, e “NÃO” caso contrário.

    b) Agora use operadores lógicos para diminuir o tamanho do texto do programa.

  16. A solução abaixo está correta para classificar um número como par e menor que 100, ou par e maior ou igual a 100, etc?

    a = int(input("Digite um número inteiro:"))
    if a % 2 == 0 and a < 100:
        print("O número é par e menor que 100")
    elif a >= 100:
        print("O número é par e maior ou igual a 100")
    if a % 2 and a < 100:
        print("O número é ímpar e menor que 100")
    elif a >= 100:
        print("O número é ímpar e maior que 100")
    
  17. Faça um programa que lê um caractere ’F’ ou ’C’, que indica se o próximo número a ser digitado corresponde a temperatura em Fahrenheit ou Celsius. Em seguida o programa deve ler o valor da temperatura e então imprimir o valor correspondente da temperatura na outra unidade de medida. Obs.: $(C = 5/9 \cdot (F − 32))$.

  18. Faça um programa que leia um ano (valor inteiro) e imprima se ele é bissexto ou não. OBS: São bissextos todos os anos múltiplos de 400. Não sendo múltiplo de 400, são bissextos todos os anos múltiplos de 4 mas que não são múltiplos de 100.

  19. Escreva um programa que determina a data cronologicamente maior de duas datas fornecidas pelo usuário. Cada data deve ser fornecida por três valores inteiros onde o primeiro representa um dia, o segundo um mês e o terceiro um ano.

  20. Escreva um programa que lê uma coordenada (x, y) do teclado e imprima como resposta o quadrante em que a coordenada está.

  21. Uma pessoa podia se aposentar pelo INSS caso estivesse em alguma das situações abaixo:

    • É do sexo masculino, possui pelo menos 65 anos e pelo menos 10 anos de contribuição.
    • É do sexo masculino, possui pelo menos 63 anos e pelo menos 15 anos de contribuição.
    • É do sexo feminino, possui pelo menos 63 anos e pelo menos 10 anos de contribuição.
    • É do sexo feminino, possui pelo menos 61 anos e pelo menos 15 anos de contribuição.

    Infelizmente os direitos estão cada vez mais reduzidos e essas regras já não valem mais. Faça um programa que receba o sexo, a idade e o tempo de contribuição e decida se é possível aposentar-se pelas regras acima.

  22. Digamos que vamos fazer a média de uma soma de valores e temos as variáveis soma e conta. O que o código abaixo faz? Depois de responder, modifique o código para utilizar o operador or, e depois faça o mesmo com if-else. Finalmente, responda o que acontece quando o valor que a variável conta receber for 0.

    soma = int(input("Digite a soma:"))
    conta = int(input("Digite o número de vezes:"))
    media = conta != 0 and float(soma) / conta
    
  23. O que faz o código abaixo? Responda qual a saída desse código sem executá-lo no computador. Explique e depois verifique sua resposta.

    x = 21 and 1
    y = 5 % 2 and 0 or 1
    z = 4 % 2 or not True
    if not (0 and x):
      print("a")
    if y == True:
      print("b")
    if not z:
      print("c")
    z = 12
    if z - 12:
      print("d")
    if z - 13:
      print("e")