Exercicios con condicionais

Antes en Python :

  • Estrutura condicional if..else
  • Operadores lóxicos AND e OR
  • Operación aritmética módulo
  • Variables

 

1. Ano Bisesto

Problema
Dado calquera ano saber se é bisesto.

resultado bisesto

Análise
Un ano bisesto cumple as seguintes condicións:
  • É múltiplo de 4
  • Non é múltiplo de 100 agás que o sexa de 400
Algoritmo
  • O algoritmo vai ter un condicional if...else.
  • Empregar o módulo para saber se é múltiplo.

 

 

Solución proposta (lembra, non é única):

 

Diagrama de fluxo (Pseint) Scratch

diagrama

Pseudocódigo (Pseint) Python 3
ano bisesto en python

 

​ ​

Comenta cada unha das liñas do programa indicando que o que fan.

2. Entrar na disco

Fai un programa que che pida a idade e che diga se podes ou non entrar na discoteca (variante: facer o programa para entrar no museo dos xoguetes en Munich ;). Debuxa o diagrama de fluxo.

3. Comprobar un contrasinal

Fai un programa que almacene un contrasinal, logo che pida que introduzas un contrasinal e se coíncide te deixe pasar. Debuxa o diagrama de fluxo.

4. Números pares

Fai un programa que pida un número e che diga se o número é para ou impar (lembra que o resto de dividir un número par entre 2 é 0).  Fíxate que poderías empregar o diagrama de fluxo dos anteriores exercicios.

5. Múltiplos de  tres

Fai un programa que indique si un número dado é múltiplo de 3 (o resto de dividir entre 3 é 0). Fíxate que poderías empregar o diagrama de fluxo dos anteriores exercicios.

6. Xogar ao dados

Fai un programa que simule tirar un dado e che permita adiviñar que número saíu. (A función para conseguir un número aleatorio está aquí).

Debe comportarse así:

7. Traballando para Lego

Deseña o programa que emprega Lego Shop para cargar os gastos de envío. Pregunta o  prezo dun producto e se este é maior ou igual que 50 € aparecerá unha mensaxe de que os gastos son gratis para ti e o prezo final. Se o prezo é menor aparecerá unha mensaxe que avise que os gastos de envío son 5 € e o prezo final do produto.(se vas a páxina de Lego Shop poderás atopar diferencias con estes datos, lembra que esto solo é un problema ;)

8. Case acertaches

Deseña un programa que mellore o xogo dos dados anterior e se o número se aproxima  (un arriba, un abaixo) che indique que quedaches preto. Realiza primeiro o diagrama de fluxo, pois aquí xa vas precisar un elif.

9. Traballando para Ikea

Os gastos de envío en Ikea non funcionan como en Amazon. Deseña un programa que pregunte o prezo total dos gastos. Se o produto cabe nunha bolsa de IKEA e custa menos de 150 € os gastos serán de 5€, se custa máis de 150 € o prezo será 12 €. Se o produto non cabe nunha bolsa, senón que se precisa carro, se na provincia hai tenda de Ikea custará 49 € se non a hai 69 €. (se vas a páxina de Ikea poderás atopar diferencias con estes datos, lembra que esto solo é un problema ;). Realiza primeiro o diagrama de fluxo, pois aquí xa vas precisar un elif.

10. Black Jack

O Black Jack é un xogo de cartas tamén chamado as vinteunha. Trátase de xogar a igualar sen sobrepasar ás cartas que lle saen ao ordenador. Imos facer unha variante deste xogo. Para iso deseña un programa que:

Primeira xogada:

  • O ordenador simula sacar un número do 2 ao 20 (serían o equivalente a sacar 2 cartas ao chou) e indica cal é.
  • Tócalle o turno á persoa xogadora, que empeza a xogar sacando un número do 1 ao 10 (o programa saca unha carta).
  • O programa comproba que a persoa non se pasou, de ser así finaliza indicando que perdeu.
  • Pregunta se a persoa quere seguir xogando
  • Se esta di que non, o programa amosa a diferencia entre o resultado do ordenador e o seu.

Segunda xogada

  • Se a persoa xogadora di que si o programa amosa outro número e o suma ao anterior, comproba que non se pasou e pregunta se queres seguir xogando.

Terceira xogada

  • Nese caso saca un número do 1 ao 10 e  calcula a suma co anterior número.
  • Cando plantas o xogo indica como quedaches.

Debería comportarse así:

 

11. É correcta a tarxeta de crédito?

No debuxo que tes a continuación aparece o significado dos números de calquera tarxeta de crédito. Se te fixas o último número é de control, serve para indicar se os demais son correctos.

Este díxito de control se controla mediante o algoritmo de Luhn, que fai as seguinte operacións:

  1. Tomar os díxitos que están en posición impar e multiplicalos por 2. Se o resultado é maior de 9, sumar os díxitos.
  2. Sumarlle a  isto  os díxitos que están en posición par.
  3. Se o resultado é múltiplo de 10 (é decir, igual a 0 en módulo 10) a numeración é correcta.

En resumo:

Operacións a realizar/ Número da tarxeta 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2  
Tomar os díxitos que están en posición impar e multiplicalos por 2 2   6   10   14   18   14   10   6    
Se o resultado é maior de 9 sumar os díxitos. 2   6   1   5   9   5   1   6   35
Díxitos que están en posición par.   2   4   6   8   8   6   4   2 40
Sumamos as dúas últimas filas                                 75
75%10                                 5
Se o resultado é 0 o número de control é correcto                                 Incorrecto

Probemos agora cun número correcto:

Operacións a realizar/ Número da tarxeta 5 0 2 0 8 0 0 9 9 2 6 2 3 9 3 2  
Tomar os díxitos que están en posición impar e multiplicalos por 2 10   4   16   0   18   12   6   6    
Se o resultado é maior de 9 sumar os díxitos. 1   4   7   0   9   3   6   6   36
Díxitos que están en posición par.   0   0   0   9   2   2   9   2 24
Sumamos as dúas últimas filas                                 60
60%10                                 0
Se o resultado é 0 o número de control é correcto                                 Correcto

 

Se queres inventar un número correcto podes empregar esta aplicación que calcula o número de control

Como aínda non vimos os bucles podes empregar o seguinte inicio para introducir os números da tarxeta.

[Repl.it : Condicional Luhn para facer con suxerencias]

Serías capaz de deseñar o programa que dado un número de tarxeta bancaria te calcule o número de control que levará esa tarxeta?.

Estruturas secuenciais Estruturas condicionais Estruturas iterativas: Bucles