Exercicis estructures iteratives

(*) elteuusuari correspon a la direcció de correu eltectrònic del centre, sense punts, fins a @itb.cat

Sumari

  1. Repeat
    1. Print100Times1
      1. Output
    2. LetsCount
      1. Input
      2. Output
  2. For
    1. DotLine
      1. Input
      2. Output
    2. LetsCountBetween
      1. Input
      2. Output
    3. CountDown
      1. Input
      2. Output
    4. MultiplyTable
      1. Input
      2. Input
    5. CountWithJumps
    6. OnlyVowels
  3. While
    1. WaitFor5
    2. HowManyLines
      1. Input
      2. Output
  4. DoWhile
    1. NumberBetweenOneAndFive
      1. Input
      2. Output
  5. Generals
    1. GoTournamentGreatestScore
      1. Input
      2. Output
    2. ManualPow
    3. SumMyNumbers
    4. MultiplyTableFull
      1. Output
    5. ChessBoard
      1. Output
  6. Repàs
    1. DrawingLines
      1. Input
      2. Output
      3. Input
      4. Output
    2. DrawingVerticalLine
      1. Input
      2. Output
    3. DrawingSquare
      1. Input
      2. Output
    4. DrawingRectangle
      1. Input
      2. Ouput
      3. Input
      4. Ouput
    5. Piramid
      1. Input
      2. Ouput
    6. PiramidCenter
      1. Input
      2. Output
        1. Autor: Joan Puigcerver
    7. SquareCenter
      1. Input
      2. Output
  7. Avançats
    1. Factorial
    2. Fibonacci
    3. ToBinnary
    4. DivisibleBy
      1. Input
      2. Output
    5. Euclides
    6. IsPrime
    7. Zeller2
      1. Input
      2. Output
        1. Autor: Juaky web ctrl+alt+d
  8. Acepta el reto

Repeat

Print100Times1

Printa per pantalla 100 cops es número 1

Output

1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

LetsCount

Printa per pantalla tots els números fins a un enter entrat per l'usuari

Input

5

Output

12345

For

DotLine

Input

10

Output

..........

LetsCountBetween

Input

5 10

Output

6789

CountDown

Input

 5

Output

 54321

MultiplyTable

Volem printar les taules de múltiplicar.

Input

3

Input

1 * 3 = 3
2 * 3 = 6
3 * 3 = 9
4 * 3 = 12
5 * 3 = 15
6 * 3 = 18
7 * 3 = 21
8 * 3 = 24
9 * 3 = 27

CountWithJumps

OnlyVowels

Donada una llista de lletres, imprimeix únicament les vocals que hi hagi.
L'entrada consta de dues parts:


While

WaitFor5

Farem un programa que preguna a l'usuari un enter fins que entri el número 5.

HowManyLines

Volem contar quantes línies té un text introduït per l'usuari.

Input

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nunc tincidunt nibh in ante placerat fringilla.
Pellentesque habitant morbi tristique senectus et netus et malesuada.
Etiam sit amet ultricies nisi.
END

Output

4

DoWhile

NumberBetweenOneAndFive

Fes un programa que vagi llegint enters fins que l'enter introduït sigui un valor entre 1 i 5. Aleshores mostra'l per pantalla
El número introduït: 3, substituint el 3 pel número entre 1 i 5.

Input

 10 7 3

Output

 El número introduït: 3

Generals

GoTournamentGreatestScore

Ens han demanat que fem un programa per un torneig de Go. Necessitem fer un programa que donada una llista de puntuacions, ens digui qui és el guanyador del torneig.

L'usuari introduirà el nom del participant i la puntuació, cada un en una línia.
Quan ja no hi hagi més participants entrarà la paraula clau END.
Imprimeix per pantalla el guanyador del concurs i els punts obtinguts.

Input

Mar Om
5
Ot Pi
2
Ona Puig
4
END

Output

Mar Om: 5

ManualPow

L'usuari introdueix dos enters, la base i l'exponent. Imprimeix el resultat de la potència (sense usar la llibreria math).

SumMyNumbers

Fer un programa que llegeixi un nombre enter positiu n i escrigui la suma de les seves xifres. Per exemple les xifres del nombre 456 sumen (4+5+6) = 15

MultiplyTableFull

Imprimeix les taules de multiplicar en forma de taula

Output

 1  2  3  4  5  6  7  8  9
 2  4  6  8 10 12 14 16 18
 3  6  9 12 15 18 21 24 27
 4  8 12 16 20 24 28 32 36
 5 10 15 20 25 30 35 40 45
 6 12 18 24 30 36 42 48 54
 7 14 21 28 35 42 49 56 63
 8 16 24 32 40 48 56 64 72
 9 18 27 36 45 54 63 72 81

ChessBoard

Crea la funció mostrarTauler() que dibuixi un tauler d'escacs. El tauler és sempre de 8 x 8

val blanc = "□"
val negre = "■"

Output

⬛⬜⬛⬜⬛⬜⬛⬜
⬜⬛⬜⬛⬜⬛⬜⬛
⬛⬜⬛⬜⬛⬜⬛⬜
⬜⬛⬜⬛⬜⬛⬜⬛
⬛⬜⬛⬜⬛⬜⬛⬜
⬜⬛⬜⬛⬜⬛⬜⬛
⬛⬜⬛⬜⬛⬜⬛⬜
⬜⬛⬜⬛⬜⬛⬜⬛
   

Repàs

DrawingLines

Fes una funció que dibuixi una línia segons els punts d'inici i final que introdueixi l'usuari. (suposarem que són sempre positius). Deixarem espais en blanc (abans del primer valor) i pintarem * per fer la línia.

Input

0 10

Output

**********

Input

2 10

Output

  **********

DrawingVerticalLine

Fes el mateix que en l'exercici anterior en vertical

Input

2 4

Output

  *
  *
  *
  *

DrawingSquare

Fes una funció que dibuixi un quadrat donat el seu costat.

Input

3

Output

***
***
***

DrawingRectangle

Fes una funció que dibuixi un rectangle donats els seus costats.

Input

3 4

Ouput

***
***
***
***

Input

10 2

Ouput

**********
**********

Piramid

Fes una funció que dibuixi una escala

Input

5

Ouput

*
**
***
****
*****

PiramidCenter

S'imprimeix una piràmide d'altura N de # centrada

Input

5

Output


    #  
   # #
  # # #
 # # # #
# # # # #

Autor: Joan Puigcerver

SquareCenter

Fes una funció que dibuixi dos quadrats concèntrics. l'usuari introdueix dos valors, el primer defineixen el costat del quadrat extern que pintarem amb o, el segon defineix el costat del segon quadrat. Aquest segon quadrat el pintarem amb *.

Input

10 4

Output

oooooooooo
oooooooooo
oooooooooo
ooo****ooo
ooo****ooo
ooo****ooo
ooo****ooo
oooooooooo
oooooooooo
oooooooooo


Avançats

Factorial

Fibonacci

ToBinnary

DivisibleBy

Imprimeix tots els nombres enters divisibles per 3 que hi ha entre A i B (inclusiu).

L'usuari introdueix dos nombres A i B

Input

10 22

Output

12
15
18
21

Euclides

Implementa l'algorisme d'Euclides, que calcula le màxim comú divisor de dos nombres positius.

IsPrime

Implementa un programa que mostre true si el nombre introduït és primer, false en qualsevol altre cas.
Clarificació: Els números 0 i 1 no són primers.

Zeller2

Fer modificacions al programa Zeller(exercicis de selecció) per tal que calculi els anomenats "aniversaris reals". Un aniversari es diu real si la data coincideix amb el dia de la setmana en què va ser per primera vegada.

Input

14 de gener de 1973

Output

El 14 de gener de 1973 va caure en: Diumenge
Els anteriors aniversaris reals van ser al:
1979 1990 1996 2001 2007 , tens 5 anys!!!

Per fer comprovacions pots utilitzar aquest enllaç: http://www.miverdaderocumpleanos.com/

Autor: Juaky web ctrl+alt+d

Acepta el reto