MOPT - Lògica i programacio / Pseudocodi: 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.