Posted by :
Unknown
jueves, 13 de junio de 2013
Pseudocódigo - Ejercicios resueltos de Funciones
Ejercicios de repaso
1) Escribir un algoritmo que lea “N” números y muestre el promedio de dichos números.
Solución
A) Hacer Mientras Que Condición………………..Fin Mientras
Inicio
Contador = 0; Suma = 0
Leer (N)
Hacer Mientras Que Contador <= N
Leer (Numero)
Suma = Suma + Numero
Contador = Contador + 1
Fin Mientras
Promedio = Suma/N
Mostrar (Promedio)
Fin
B) Repetir…………………….Hasta Que Condición
Inicio
Repetir
Contador = 0; Suma = 0
Leer (N, Numero)
Suma = Suma + Numero
Contador = Contador + 1
Hasta Que Contador <= N
Promedio = Suma/N
Mostrar (Promedio)
Fin
C) Para Variable = Valor Inicial Hasta Valor Final ........................... Fin Para
Inicio
Contador=0; Suma=0
Leer(N)
Para Contador=0 Hasta N
Leer (Numero)
Suma = Suma + Numero
Fin Para
Promedio = Suma/N
Mostrar (Promedio)
Fin
2) Escribir un algoritmo que lea una serie de número (El último de la serie es 99) y muestre el valor del mayor y del menor número leído.
A) Repetir………………Hasta Que Condición
Inicio
Repetir
Leer (SerieDeNúmeros)
Si Switch ≠ 0 Entonces
Menor = SerieDeNumeros
Mayor = SerieDeNumeros
Switch = 1
Sí No
Si SerieDeNumros > Mayor Entonces
Mayor = SerieDeNumeros
Sí No
Si SerieDeNumeros < Menor Entonces
Menor = SerieDeNumeros
Fin Sí
Fin Sí
Fin Sí
Hasta Que SerieDeNumeros = 99
Mostrar (Mayor, Menor)
Fin
3) Una solicitante de trabajo presenta cinco prueba distintas (La puntuación máxima es 10). Se clasifican de la siguiente forma: “CONTRATADO”, si por lo menos tienes dos pruebas con 9. “ARCHIVAR” si no se contrata pero tiene todas las pruebas con al menos 7. “RECHAZAR” cuando ni se contrata ni se archiva. Escribir un algoritmo que tenga como entrada el nombre y las clasificaciones del solicitante y muestre el nombre y la clasificación, así como el total de puntos obtenidos en todas las pruebas.
A) Para Variable = Valor Inicial Hasta Valor Final ................................ Fin Para
Inicio
SumaContratado = 0
SumaArchivar = 0
Suma = 0
Leer (Nombre)
Para Indice = 1 Hasta 5
Leer (Nota)
Si Nota ≥ 9 Entonces
SumaContratado = SumaContratado + 1
SumaArchivado = SumaArchivado + 1
Si No Si Nota ≥ 7 Entonces
SumaArchivado = SumaArchivado + 1
Fin Si
Suma = Suma + Nota
Fin Para
Mostrar (Nombre)
Si SumaContratado ≥ 2 Entonces
Mostrar (“CONTRATADO”)
Si No Si SumaArchivado = 5 Entonces
Mostrar (“ARCHIVAR”)
Si No
Mostrar (“RECHAZAR”)
Fin Si
Mostrar (Suma)
Fin
4) En una universidad los cargos por inscripción son de 7000 por unidad/crédito, con un máximo de 105.000 bolívares, independientemente de la cantidad de unidades/créditos tomadas. Así un estudiante que tome 12 unidad/crédito pagaría Bs. 84.000, mientras que el que tome 21 pagaría Bs. 105.000. escribir un algoritmo que tenga como entrada el número de unidades/crédito a cursar de 10 estudiantes y como salida el monto a pagar por concepto de inscripción de cada uno de ellos.
Solución
A) Para Variable = Valor Inicial Hasta Valor Final ............................ Fin Para
Inicio
Para Indice=1 Hasta 10
Leer (UnidadCredito)
Monto = UnidadCredito * 7000
Si Monto > 105000 Entonces
Monto = 105000
Fin Si
Mostrar (“Estudiante ”+Indice+” Monto ”+Monto)
Fin Para
Fin
Ejercicios de Funciones
5) Escribir un programa (algoritmo) que A) Lea tres números enteros. B) Invoque una función denominada MEDIA que calcule y regrese al programa principal el promedio de los números leídos y C) Muestre el valor del promedio obtenido.
Solución
Función MEDIA(A, B, C)
MEDIA = (A + B + C) / 3
Fin Función
Inicio
Leer (X, Y, Z)
Promedio = MEDIA(X, Y, Z)
Mostrar (Promedio)
Fin
6) Hacer un programa (algoritmo) que: A) Lea tres números enteros. B) Invoque una función denominada MENOR que determine y regrese al programa principal el menor de los tres números y C) Muestre los números leídos y el menor de ellos.
Solución
Función MENOR (A, B, C)
Si A < B AND A < C Entonces
MENOR = “El número menor es ”+A
Si No Si B < A AND B < C Entonces
MENOR = “El números menor es ”+B
Si No
MENOR = “El menor es ”+C
Fin Si
Fin Función
Inicio
Leer (X, Y, Z)
NumeroMenor = MENOR (X, Y, Z)
Mostrar (NumeroMenor)
Fin
7) Escribir un programa (algoritmo) que lea dos números cualesquiera e invoque una función denominada MULTIPLO que determine si alguno de los números leídos el múltiplo del otro. El algoritmo deberá mostrar un mensaje que salga el resultado de la comprobación.
Solución
Función MULTIPLO (A, B)
Si A MOD B = 0 OR B MOD A = 0 Entonces
MULTIPLO = “Si es múltiplo”
Si No
MULTIPLO = “No es múltiplo”
Fin Si
Fin Función
Inicio
Leer (X, Y)
Respuesta = MULTIPLO (X, Y)
Mostrar (Respuesta)
Fin
8) Escribir un programa (algoritmo) que: A) Lea un número entero positivo de cuatro (4) dígitos. B) Invoque una función denominada ORDEN que invierta el orden de dichos dígitos (Ejemplo: 1357 => 7531) y C) Muestre el número leído y el número invertido.
Solución
Función ORDEN(Número)
C1 = Número \ 1000
Número = Número MOD 1000
C2 = Número \ 100
C3 = Número \ 10
Número = Número MOD 10
ORDEN = Número * 1000 + C3*100 + C2*10 + C1
Fin Función
Inicio
Leer (Numeritos)
Respuesta = ORDEN (Numeritos)
Mostrar (Respuesta)
Fin
9) Escribir un programa (algoritmo) que calcule y muestre las raíces de una ecuación cuadrática. El programa deberá apoyarse en: un procedimiento para leer los coeficientes de la ecuación, una función, para determinar si las raíces son números reales o números complejos y otro procedimiento para calcular las raíces, en caso de que las mismas sean reales.
Solución
Procedimiento OBTENER (A, B, C)
Leer (A, B, C)
Fin Procedimiento
Función REAL (A, B, C)
REAL = Verdad
Si B**2-4*A*C < 0 Entonces
REAL = Falso
Fin Si
Fin Función
Procedimiento RAICES (A, B, C, X1, X2)
X1 = (-B+SQRT(B**2-4*A*C)) / (2*A)
X2 = (-B-SQRT(B**2-4*A*C)) / (2*A)
Fin Procedimiento
Inicio
OBTENER (A, B, C)
Si REAL (A, B, C) Entonces
RAICES (A, B, C, X1, X2)
Mostrar (X1, X2)
Si No
Mostrar (“Raíces complejas”)
Fin Si
Fin
10) Diseñar una función FACTORIAL que calcule el factorial de una número entero.
Solución
Función FACTORIAL (Número)
Factori = 1
Para K = 1 Hasta Número
Factori=Factori*K
Fin Para
Fin Función
Inicio
Leer (Numerito)
Respuesta = FACTORIAL (Numerito)
Mostrar (Respuesta)
Fin
11) Escribir un programa (algoritmo) que: A) Lea un número entero positivo. B) Invoque una función denominada PRIMO que determine si el número leído es un número primo y C) Muestre el número leído y un mensaje que diga si el número es primo o no.
Solución
Función PRIMO (N)
PRIMO = Verdad
M=1
Para K=2 Hasta N-1
Si N MOD K = 0 Entonces
M = 0
Fin Si
Fin Para
Si M <> 1 Entonces
PRIMO = Falso
Fin Si
Fin Función
Inicio
Leer (N)
Si PRIMO (N) Entonces
Mostrar (N, “ Es primo”)
Si No
Mostrar (N, “ No es primo”)
Fin Si
Fin
Ejercicio, que no tiene que ver con funciones
12) Dados tres números enteros positivos, diseñar un algoritmo que determine y muestre el mínimo común múltiplo (M.C.M) y el máximo común divisor (M.C.D) de los números dados.
Solución
Inicio
Leer (A, B, C)
Si A > B AND A < C Entonces
Mayor = A
Si No Si B > A AND B > C Entonces
Mayor = B
Si No
Mayor = C
Fin Si
MCM = 0
Repetir
Si Mayor MOD A = 0 AND Mayor MOD B = 0 AND Mayor MOD C = 0 Entonces
MCM = Mayor
Sí No
Mayor = Mayor + 1
Fin Si
Hasta Que MCM <> 0
Mostrar (MCM)
Si A < B AND A < C Entonces
Menor = A
Si No Si B < A AND B < C Entonces
Menor = B
Si No
Menor = B
Fin Si
MCD = 0
Repetir
Si Menor MOD A = 0 AND Menor MOD B = 0 AND Menor MOD C = 0 Entonces
MCD = Menor
Menor = Menor – 1
Fin Si
Hasta Que MCD <> 0
Mostrar (MCD)
Fin
Ejercicios con funciones
13) Hacer un programa (algoritmo) que A) Lea cuatro (4) números, B) Invoque dos funciones, una para determinar el máximo común divisor (MCD) y la otra para determinar el mínimo común múltiplo (MCM) de los números leídos y C) Muestre los números leídos y el valor de MCD y del MCM de los mismos.
Solución
Función MCM (A, B, C, D)
Si A > B AND A > C AND A > D Entonces
Mayor = A
Si No Si B > A AND B > C AND B > D Entonces
Mayor = B
Si No Si C > A AND C > B AND C > D Entonces
Mayor = C
Si No
Mayor = D
Fin Si
MCM = 0
Repetir
Si Mayor MOD A=0 AND Mayor MOD B=0 AND Mayor MOD C=0 AND Mayor MOD D=0 Entonces
MCM = Mayor
Si No
Mayor = Mayor + 1
Fin Si
Hasta Que MCM <> 0
Fin Función
Función MCD (A, B, C, D)
Si A < B AND A < C AND A < D Entonces
Menor = A
Si No Si B < A AND B < C AND B < D Entonces
Menor = B
Si No Si C < A AND C < B AND C < D Entonces
Menor = C
Si No
Menor = D
Fin Si
MCD = 0
Repetir
Si Mayor MOD A=0 AND Mayor MOD B=0 AND Mayor MOD C=0 AND Mayor MOD D=0 Entonces
MCD= Menor
Si No
Menor = Menor - 1
Fin Si
Hasta Que MCD <> 0
Fin Función
Inicio
Leer (W, X, Y, Z)
Respuesta = (MCM (W, X, Y, Z), MCD (W, X, Y, Z))
Mostrar (Respuesta)
Fin
14) Un entero n se llama “perfecto” si n es igual a la suma de todos los divisores de él. Por ejemplo, 6 es perfecto, porque 6=1+2+3. Escribe un algoritmo que muestre los tres primeros números perfectos. Diseñe su algoritmo de forma que el cuerpo principal contenga una estructura repetitiva “REPETIR – HASTA QUE” en la cual se invoca una función booleana “ES_PERFECTO”
Solución
Función ES_PERFECTO(N)
Suma = 0
ES_PERFECTO = Falso
Para i=1 Hasta N – 1
Si N MOD i = 0 Entonces
Suma = Suma + i
Fin Si
Fin Para
Si Suma = N Entonces
ES_PERFECTO = Verdad
Fin Si
Fin Función
Inicio
Contador = 0; Perfecto = 1
Repetir
Si ES_PERFECTO (Perfecto) Entonces
Contador = Contador + 1
Mostrar (Perfecto)
Fin Si
Perfecto = Perfecto + 1
Hasta Que Contador = 3
Fin
15) Diseñar una función que calcule el n-ésimo término de la serie Finonacci. La serie es la siguiente: 1, 1, 2, 3, 5, 8, 13, 21, 34…..
Solución
Función FIBONACCI (N)
A = 1; B = 1; C=1
Para X = 3 Hasta N
C = A + B
A = B
B = C
Fin Para
FINONACCI = C
Fin Función
Inicio
Leer (N)
Resultado = FIBONACCI (N)
Mostrar (Resultado)
Fin
Información relacionada
- Ir a inicio »
- Pseudocodigo »
- Ejercicios resueltos de Funciones en Pseudocódigo
Buen archivo, gracias :)
ResponderEliminarmmm esta bien tu trabajo pero por fa podrias ser mas especifico en la 12 grax
ResponderEliminarYa lo corregi, la parte 12.
Eliminarme puedes ayudar con uno para el jueves
ResponderEliminarSe desea controlar la inscripción en una universidad, para ello se utiliza la siguiente información
Carrera: *Ingeneria
*Medicina
*Educación
Condiciones *Aceptado
*Lista de Espera
*Rechazado
Desarrollar un algoritmo que muestre:
A) Cuantos alumnos se inscribieron por carrera
B) Cuantos Alumnos fueron aceptados por carrera
C) Cuantos Alumnos se encuentran en lista de espera
D) Cuantos Alumnos en general se encuentran en lista de espera
Buena saludo
ResponderEliminar