M3 - Programació estructurada / Continguts UF1: Exercicis Pseudocodi
Exercicis previs
1. Feu un algoritme amb pseudocodi per calcular la distancia recorreguda (m) per un mòbil que té una velocitat constant (m/s) durant un temps T. Considerar moviment rectilini uniforme.
Identificadors
Sortida:
Distancia Recorreguda (m) D
Entrada:
Velocitat constant (m/s) V
Temps (s) T
Inici
Llegir V
Llegir T
D = V * T
Escriure D
Fi
2. Feu un algoritme amb pseudocodi per obtenir la nota mitjà d'un estudiant a partir de les seves tres notes parcials.
Identificadors
Sortida:
Nota mitjà NM
Entrada:
Primera nota parcial N1
Segona nota parcial N2
Tercera nota parcial N3
Inici
Llegir N1
Llegir N2
Llegir N3
NM = (N1 + N2 + N3) / 3
Escriure NM
Fi
3. Feu un algoritme amb pseudocodi que demani el nombre de respostes correctes, incorrectes i en blanc corresponents a una prova i mostri la puntuació final considerant, que per cada resposta correcte obtindrà 4 punts, per cada resposta incorrecta obtindrà -1 punt i per les respostes en blanc obtindrà 0 punts.
Sortida:
Puntuació final PF
Entrada:
Nombre de respostes correctes RC
Nombre de respostes incorrectes RI
Nombre de respostes en blanc RB
Intermedi:
Punts de respostes correctes PRC
Punts de respostes incorrectes PRI
Inici
Llegir RC
Llegir RI
Llegir RB
PRC = RC * 4
PRI = RI * -1
PF = PRC + PRI
Escriure NM
Fi
4. Feu un algoritme amb pseudocodi per trobar la paga d'un treballador en funció de les hores treballades en el mes i de la tarifa per hora.
Identificadors
Sortida:
Paga P
Entrada:
Nombre d'hores treballades en el mes HT
Tarifa per hora TH
Inici
Llegir HT
Llegir TH
P = HT * TH
Escriure P
Fi
5. Feu un algoritme amb pseudocodi que a partir de l'any de naixement i de l'any actual ens indiqui si és o no major d'edat.
Identificadors
Sortida:
Missatge indicant si és o no major d'edat MSG
Entrada:
Any de naixement AN
Any actual AA
Intermedi:
Edat E
Inici
Llegir AN
Llegir AA
E = AA - AN
SI E >= 18 LLAVORS
MSG = "És major d'edat"
ALTRAMENT
MSG = "No és major d'edat"
FSI
Fi
6. Feu un algoritme amb pseudocodi que demani l'edat de dos germans i ens digui qui és el més gran i quants anys de diferència té amb el menor.
Identificadors
Sortida:
Missatge indicant si és o no major d'edat MSG
Diferencia d'edat entre els germans DE
Entrada:
Edat primer germà E1
Edat segon germà E2
Intermedi:
Diferencia d'edats DE
Inici
Llegir E1
Llegir E2
SI E >= 18 LLAVORS
MSG = "El primer germà és més gran, per "
DE = E1 - E2
ALTRAMENT
MSG = "El segon germà és més gran, per "
DE = E2 - E1
FSI
Escriure DE
Fi
7. Feu un algoritme amb pseudocodi que ens digui si una operari obté o no incentius en la seva producció setmanal (de dilluns a dissabte). Cal dir que per obtenir incentius cal que l'operari hagi obtingut una mitjà mínima en la seva producció diària de 100 unitats.
Identificadors
Sortida:
L'operari obté o no incentius MSG
Entrada:
Producció de dilluns (unitats) PDll
Producció de dimarts (unitats) PDmt
Producció de dimecres (unitats) PDmc
Producció de dijous (unitats) PDj
Producció de divendres (unitats) PDv
Producció de dissabte (unitats) PDs
Intermedi:
Producció total PT
Producció Mitjà PM
Inici
Llegir PDll
Llegir PDmt
Llegir PDmc
Llegir PDj
Llegir PDv
Llegir PDs
PT = (PDll + PDmt + PDmc + PDj + PDv + PDs)
PP = PT / 6
SI PP >= 100 LLAVORS
MSG = "Rebrà incentius"
ALTRAMENT
MSG = "No rebrà incentius"
FSI
Escriure MSG
Fi
8. Feu un algoritme amb pseudocodi que llegeixi 3 números enters diferents entre si i ens indiqui el número més gran dels tres.
Identificadors
Sortida:
Número més gran de 3 NM
Entrada:
Primer número enter N1
Segon número enter N2
Tercer número enter N3
Inici
Llegir N1
Llegir N2
Llegir N3
SI ((N1 > N2) I (N1 > N3) LLAVORS
NM = N1
ALTRAMENT
SI (N2 > N3) LLAVORS
NM = N2
ALTRAMENT
NM = N3
FSI
FSI
Escriure NM
Fi
9. Feu un algoritme amb pseudocodi per identifica el tipus de triangle coneixent els seus costats.
-Tots els costats diferents: Escalè / tots els costats iguals: Equilàter / la resta: Isòsceles
Identificadors
Sortida:
Tipus de triangle TT
Entrada:
Primer costat PC
Segon costat SC
Tercer costat TC
Inici
Llegir PC
Llegir SC
Llegir TC
SI ((PC != SC) I (PC != TC) I (SC != TC) LLAVORS
TT = "Escalè"
ALTRAMENT
SI ((PC = SC) I (SC = TC)) LLAVORS
TT = "Equilàter"
ALTRAMENT
TT = "Isòsceles"
FSI
FSI
Escriure TT
Fi
10. Feu un algoritme amb pseudocodi que llegeixi un número enter entre 1 i 10 i ens el mostri en números romans.
(1: I; 2: II; 3: III; 4: IV 5: V; 6: VI; 7: VII; 8: VIII; 9: IX; 10: X)
Identificadors
Sortida:
Equivalent en romà ER
Entrada:
Número enter (1 a 10) NE
Inici
Llegir NE
SEGONS NE FER
CAS valor 1
ER = "I"
CAS valor 2
ER = "II"
CAS valor 3
ER = "III"
CAS valor 4
ER = "VI"
CAS valor 5
ER = "V"
CAS valor 6
ER = "VI"
CAS valor 7
ER = "VII"
CAS valor 8
ER = "VIII"
CAS valor 9
ER = "IX"
CAS valor 10
ER = "X"
ALTRAMENT
ER = "Valor Incorrecte"
FSEGONS
Escriure ER
Fi
11.- Feu un algoritme amb pseudocodi per mostrar el nombres parells entre 1 i 10.
Identificadors
Sortida:
Nombres parells NP
Inici
PER NP = 2 FINS 10 PAS 2 FER
Escriure NP
FPER
Fi
12.- Feu un algoritme amb pseudocodi per mostrar el salari mitjà d'un grup d'empleats.
Identificadors
Sortida:
Sou mitjà SM
Entrada:
Sou del empleat SE
Nombre d'empleats NE
Intermedi:
Suma dels sous SS
Inici
Llegir NE
SS = 0
PER I = 1 FINS NE PAS 1 FER
Llegir SE
SS = SS + SE
FPER
SM = SS / NE
ESCRIURE SM
Fi
13.- Feu un algoritme amb pseudocodi que demani l'edat de 200 persones i mostri quants majors i menors d'edat hi ha.
Identificadors
Sortida:
Majors d'edat majorsEdat
Menors d'edat menorsEdat
Entrada:
Edat persona edatPersona
Inici
NUMPERSONES = 200
majorsEdat = 0
menorsEdat = 0
PER I = 1 FINS NUMPERSONES PAS 1 FER
Llegir edatPERSONA
SI edatPERSONA < 18
menorsEdat = menorsEdat + 1
ALTRAMENT
majorsEdat = majorsEdat + 1
FSI
FPER
ESCRIURE majorsEdat
ESCRIURE menorsEdat
Fi
Exercicis PER
1. Imprimir els números del 1 al 100.
2. Imprimir els números parells del 0 al 98.
3. Imprimir els números del 100 al 1.
4. Demanar cinc números i mostrar la suma.
5. Igual que l'anterior però només sumant els valors més grans de 10.
6. Calcular el producte dels números del 1 al 10.
7. Demanar cinc números i mostrar el valor més gran.
Inicialitzeu max = Integer.MIN_VALUE; i aneu actualitzant max a cada iteració.
8. Imprimir 20 asteriscos a la mateixa línia.
9. Fem el mateix però el número d’asteriscos el decideix l’usuari.