Llicència
Pots copiar i redistribuir aquest material seguint la llicència Attribution-NonCommercial-ShareAlike 4.0 International CC BY-NC-SA 4.0, indicant-ne autors originals, l'origen (aquesta web), sense fins comercials i mantenint-ne aquesta la llicència
Autors:
Exercicis estructures iteratives
- Usa el mateix projecte que l'usat als exercicis
- Crea un package cat.itb.elteuusuari(*).dam.m03.uf1.iterative.
- La classe de cada exercici ha de ser el nom de l'exercici
(*) elteuusuari correspon a la direcció de correu eltectrònic del centre, sense punts, fins a @itb.cat
Sumari
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
- Demana un enter a l'usuari.
- Imprimeix per pantalla tants punts com l'usuari hagi indicat
Input
10
Output
..........
LetsCountBetween
- L'usuari introdueix dos valors enters.
- Printa per pantalla tots els valors que hi ha entre els dos valors introduïts ordenats de menor a major
Input
5 10
Output
6789
CountDown
- L'usuari introdueix un enter (N) i es mostra per pantalla un compte enrere de N fins a 1.
Input
5
Output
54321
MultiplyTable
Volem printar les taules de múltiplicar.
- L'usuari introdueix un enter
- Printa per pantalla la taula de multiplicar del número introduit:
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
- L'usuari introdueix dos valors enters, el final i el salt
- Escriu tots els numeros des de l'1 fins al final, amb una distància de salt
- input
10 3
- output
1 4 7 10
OnlyVowels
Donada una llista de lletres, imprimeix únicament les vocals que hi hagi.
L'entrada consta de dues parts:
- Primer s'indica la quantitat de lletres
-
A continuació venen les lletres separades per espais en blanc
Imprimeix totes les que són vocals. - input
10 y a j u i l u s e j
- output
a u i u e
While
WaitFor5
Farem un programa que preguna a l'usuari un enter fins que entri el número 5.
- L'usuari introdueix enters.
- Quan introdueixi el 5 imprimeix 5 trobat!.
HowManyLines
Volem contar quantes línies té un text introduït per l'usuari.
- L'usuari introdueix un text per pantalla que pot tenir salts de línia.
- Per indicar que ha acabat d'introduïr el text escriurà una línia amb la paraula clau END
- Imprimeix el nombre de línies que ha introduït l'usuari (sense contar la línia de l' END)
- Per comparar dos Strings pots usar ==
line == "END"
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
- Calcula el factorial d'un valor
Fibonacci
- Donat un nombre enter positiu, escriu els nombres de Fibonacci (Lleonard de Pisa) inferiors o iguals a ell.
Els nombres de Fibonacci es defineixen de la manera següent: El primer és 0, el segon és 1, el següent és la suma dels dos anteriors i així successivament.
0 1 1 2 3 5 8 13 21 34 55 89 144…
ToBinnary
- Escriu un programa que llegeixi un nombre natural més petit que 256 i escrigui la seva representació en binari.
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/