FUNCIONES, SUBPROCESOS Y ARREGLOS

EJERCICIOS DE FUNCIONES Y SUBPROCESOS.

1. Crear un programa con Función que devuelva el cubo de un numero: 

Funcion cubo<- devolver(num)

cubo<- num^3

FinFuncion

Algoritmo NUMERO_AL_CUBO

Escribir "INGRESE UN NUMERO:"

Leer num

Escribir "EL NÚMERO ", num " ELEVADO AL CUBO ES: ", devolver(num)

FinAlgoritmo







2. Crear un programa con Función que devuelva como resultado si un número es par o impar.

Funcion es_par <- devolver(num)

Si num MOD 2 = 0 Entonces

es_par<- Verdadero

Escribir "VERDADERO. ES UN NÚMERO PAR."

SiNo

es_par<- Falso

Escribir "FALSO. ES UN NÚMERO IMPAR."

Fin Si

FinFuncion

Algoritmo PAR_IMPAR

Escribir "INGRESE UN NÚMERO:"

Leer num

Escribir devolver(num)

FinAlgoritmo

3. Crear un programa con Función que devuelva el mayor de tres  números.

Funcion Mayor_de_Tres_Numeros<- num_mayor(num1, num2, num3)

Si num1 > num2 y num1 > num3 Entonces

Mayor_de_Tres_Numeros<- num1

SiNo

Si num2 > num y num2 > num3 Entonces

Mayor_de_Tres_Numeros<- num2 

SiNo

Si num3 > num1 y num3 > num2 Entonces

Mayor_de_Tres_Numeros <- num3

Fin Si

FinSi

Fin Si

FinFuncion

Algoritmo MAYOR_TRES_NUMEROS

Escribir "INGRESE EL PRIMER NUMERO:"

Leer num1

Escribir "INGRESE EL SEGUNDO NUMERO:"

Leer num2

Escribir "INGRESE EL TERCER NUMERO:"

Leer num3

Escribir "EL MAYOR ES: ", num_mayor(num1, num2, num3)

FinAlgoritmo

4. Crear un procedimiento EscribirEspaciado, que reciba como parámetro un texto y lo escriba con un espacio adicional tras cada letra. Ejemplo, "Hola, tu" se escribiría "H o l a , t u".

Funcion Espacio<-Escribir_Espaciado(texto_1)

Definir Espacio Como Caracter

Espacio <- " "

Para  cont <-0 Hasta Longitud(texto_1) Hacer

Espacio <- Concatenar ( Espacio , Subcadena ( texto_1 , cont , cont ))

Espacio <- Concatenar ( Espacio , "  " )

FinPara

Escribir ""

FinFuncion

Algoritmo ESCRIBIR_CON_ESPACIO

Definir texto_espacio Como Caracter

Escribir "INGRESE UN TITULO O FRASE:"

Leer texto_espacio

Escribir Escribir_Espaciado(texto_espacio)

FinAlgoritmo

5. Crear un programa con Función Iniciales, que devuelva una cadena formada por las iniciales de la frase que se indique como parámetro (primera letra y la letra que haya tras cada espacio), ejemplo, "Martín Martínez" devolvería "MM"

Funcion prim_letra <- palabras ( Mayusculas )

Si Subcadena(frase, posicion, posicion) = " " Entonces

Mientras Subcadena(frase, posicion, posicion) = " " Y posicion <= Longitud(frase) Hacer

posicion <- posicion + 1;

FinMientras

prim_letra <- concatenar(prim_letra, subcadena(frase,posicion,posicion));

FinSi

Mientras Subcadena(frase, posicion, posicion) = " " Hacer

posicion<- posicion + 1;

FinMientras

prim_letra<- concatenar(prim_letra, subcadena(frase,posicion,posicion));

Para posicion<- posicion hasta Longitud(frase) - 1 Hacer

Si Subcadena(frase, posicion, posicion) = " " Entonces

Mientras Subcadena(frase,posicion,posicion) = " " Y posicion <= Longitud(frase) Hacer

posicion <- posicion + 1

FinMientras

prim_letra <- concatenar(prim_letra, subcadena(frase,posicion,posicion))

FinSi

FinPara

Escribir "LAS INICIALES DE LA FRASE INGRESADA ES:", Mayusculas(prim_letra)

Fin Funcion


Algoritmo PRIMERA_LETRA_DE_PALABRA

prim_letra <- " "

posicion<- 1

Escribir "INGRESE UNA FRASE: "

Leer frase

Mientras Subcadena(frase, posicion, posicion) = " " Hacer

posicion<- posicion + 1

FinMientras

prim_letra<- concatenar(prim_letra,subcadena(frase,posicion,posicion));

Para posicion<- posicion hasta Longitud(frase)-1 Hacer

Si Subcadena(frase, posicion, posicion) = " " Entonces

Mientras Subcadena(frase, posicion, posicion) = " " Y posicion <= Longitud(frase) Hacer

posicion <- posicion + 1

FinMientras

prim_letra <- concatenar(prim_letra, subcadena(frase,posicion,posicion));

FinSi

FinPara

Escribir "LAS INICIALES DE LA FRASE INGRESADA ES:", Mayusculas(prim_letra);

FinAlgoritmo



6. Crear un programa con Proceso Contiene, que reciba una cadena y una (posible) subcadena, y devuelva "Verdadero" o "Falso", según si la primera contiene a la segunda (como "Mónica" contiene a "ni") o no la contiene, (como "Mónica" no contiene "sila")

Proceso Contiene

Definir cadena_convert, frag_cadena Como Caracter

Definir cant_sub_cadena,num_subcad Como Entero

Definir verif Como Logico

verif<-Falso

Escribir Sin Saltar "INGRESE UNA PALABRA: "

Leer cadena_convert

Escribir Sin Saltar "INGRESE PARTE DE LA PALABRA: "

Leer frag_cadena

cant_sub_cadena<- Longitud(cadena_convert) - Longitud(frag_cadena) + 2

Para num_subcad<- 0 hasta cant_sub_cadena - 1 Hacer

Si Subcadena(cadena_convert, num_subcad, num_subcad + Longitud(frag_cadena) - 1) = frag_cadena Entonces

verif<-Verdadero

FinSi

FinPara

Si verif Entonces

Escribir "LA CADENA CONTIENE LA PALABRA INGRESADA."

SiNo

Escribir "LA CADENA NO CONTIENE LA PALABRA INGRESADA."

FinSi

FinProceso

7. Crear un programa con Subproceso que permita mostrar la suma, multiplicación y una operación combinada, ingresando tres números por teclado.

SubProceso   operacion<- op_basicas(num1, num2, num3)

operacion<- num1 + num2 + num3

FinSubProceso

SubProceso   operacion<- mult(num1, num2, num3)

operacion<- num1* num2* num3

FinSubProceso

SubProceso   operacion<- combinacion(num1, num2, num3)

operacion<- (num1 - num2)/ num3

FinSubProceso

Algoritmo OPERACIONES

Escribir "INGRESE TRES CANTIDADES: "

Leer num1, num2, num3

Escribir "LA SUMA DE LOS NÚMEROS INGRESADOS ES: ", op_basicas(num1, num2, num3)

Escribir "LA MULTIPLICACION DE LOS NÚMEROS INGRESADOS ES: ", mult(num1, num2, num3)

Escribir "LA COMBINACION DE LOS NÚMEROS INGRESADOS EN UNA RESTA Y DIVISIÓN ES: ", combinacion(num1, num2, num3)

FinAlgoritmo



8. Crear un programa con Función que devuelva el resultado del menú, donde contendrá suma, multiplicación, división, potenciación y una opción para Salir.

Funcion operacion<-seleccion(opc)

Definir operacion Como Real

Escribir "INGRESE UN NÚMERO:"

Leer num1

Escribir "INGRESE UN NÚMERO:"

Leer num2

Escribir "MENU DE OPCIONES"

Escribir "ELIJA UNA DE LAS SIGUIENTES OPCIONES:"

Escribir "[ 1 ] SUMA [ 2 ] MULTIPLICACIÓN [ 3 ] DIVISIÓN [ 4 ] POTENCIACIÓN [ 5 ] SALIR"

Leer opc_resp

Segun opc_resp Hacer

1:

operacion<- num1 + num2

Escribir Sin Saltar "LA SUMA DE ", num1 " + ", num2 " ES = "

2:

operacion<- num1 * num2

Escribir Sin Saltar "LA MULTIPLICACIÓN DE ", num1 " * ", num2 " ES = "

3:

operacion<- num1 / num2

Escribir Sin Saltar "LA DIVISIÓN DE ", num1 " / ", num2 " ES = "

4:

operacion<- num1 ^ num2

Escribir Sin Saltar "LA POTENCIACIÓN DE ", num1 " ^ ", num2 " ES = "

5:

Escribir Tecla

De Otro Modo:

Escribir "INGRESE UNA OPCION DE ACUERDO AL MENÚ"

Fin Segun

FinFuncion

Algoritmo MENU_DE_OPCIONES

Escribir seleccion(opc)

FinAlgoritmo

EJERCICIOS DE ARREGLOS (ARRAYS)

9. Crear un Array que permita almacenar una cantidad de calificaciones y calcular el promedio de las calificaciones ingresadas.
Proceso CALIFICACION_PROMEDIO
Escribir "INGRESE LA DIMENSION DEL ARRREGLO:"
Leer tamanio
Dimension num[tamanio]
Para i<-1 Hasta tamanio 
Escribir "INGRESE LA CALIFICACION: ",i Sin Saltar
Leer num[i]
total <- total + num[i]
prom<- total / i
Fin Para
Escribir ""
Para i<-1 Hasta tamanio
Escribir "LA CALIFICACION ",i " es:" num[i]
Fin Para
Escribir ""
Escribir "EL TOTAL ES: ",total
Escribir "EL PROMEDIO ES: ",prom
FinProceso

10. Crear un Array que permita ingresar un número de datos determinado por usuario y mostrar los valores ingresados.
Proceso Ingresar_mostrar_numeros
Escribir "INGRESE LA DIMENSION DEL ARRREGLO:"
Leer tamanio

Dimension num1[tamanio]

Para i<-1 Hasta tamanio 
Escribir "INGRESE EL VALOR: ",i Sin Saltar
Leer num1[i]
Fin Para
Escribir ""
Para i<-1 Hasta tamanio
Escribir "LOS DATOS INGRESADOS SON:",num1[i]
Fin Para
FinProceso


11. Crear un Array que permita mostrar la serie de Fibonacci ingresando la cantidad de números para la serie por teclado.
Algoritmo  Fibonacci
Escribir "Ingresar la cantidad de numeros de la Serie de Fibonacci que desea visualizar: "
    Leer num
Dimension fibonacci[num]
    b <- 1
    Para i<-1 Hasta num Hacer
        Escribir a
        tmp <- a + b
        a <- b
        b <- tmp
    FinPara
FinAlgoritmo


12. Crear un Array que muestre 5 números previamente asignados un valor.
Proceso  MOSTRAR_NUMEROS
tamanio<- 5
Dimension num[tamanio]
num[1]<- 10
num[2]<- 11
num[3]<- 12
num[4]<- 13
num[5]<- 14
Para i<-1 Hasta tamanio 
Escribir num[i]
Fin Para
FinAlgoritmo


13. Crear un  Array multidimensional que sume dos matrices.
Algoritmo Suma_Matrices
Definir i,j , Matriz1, Matriz2, Matriz3 Como Entero
Dimension Matriz1[3,3], Matriz2[3,3], Matriz3[3,3]
Escribir "---------------------------------"
Escribir "INGRESE LOS DATOS DE LA MATRIZ 1 "
Escribir "---------------------------------"
Para i <- 1 hasta 3 Con Paso 1 Hacer
para j <- 1 hasta 3 Con Paso 1 Hacer
Escribir "INGRESE LOS VALORES DE LA MATRIZ 1 PARA: [",i,"] [",j,"]"
leer Matriz1[i,j]
FinPara
FinPara
Escribir "---------------------------------"
Escribir "INGRESE LOS DATOS DE LA MATRIZ 2: "
Escribir "---------------------------------"
Para i <- 1 hasta 3 Con Paso 1 Hacer
para j <- 1 hasta 3 Con Paso 1 Hacer
Escribir "INGRESE LOS VALORES DE LA MATRIZ 2 PARA: [",i,"] [",j,"]"
leer Matriz2[i,j]
FinPara
FinPara
Escribir "----------------------------"
Escribir "LOS VALORES DE LA MATRIZ 1: "
Escribir "---------------------------"
Para i <- 1 hasta 3 Con Paso 1 Hacer
para j <- 1 hasta 3 Con Paso 1 Hacer
Escribir Sin Saltar "[",Matriz1[i,j],"]"
FinPara
Escribir " "
FinPara
Escribir "---------------------------"
Escribir "LOS VALORES DE LA MATRIZ B "
Escribir "---------------------------"
Para i <- 1 hasta 3 Con Paso 1 Hacer
para j <- 1 hasta 3 Con Paso 1 Hacer
Escribir Sin Saltar "[",Matriz2[i,j],"]"
FinPara
Escribir " "
FinPara
Escribir "-----------------------------"
Escribir "LA SUMA DE LA MATRIZ A + B ES"
Escribir "-----------------------------"
Para i <- 1 hasta 3 Con Paso 1 Hacer
para j <- 1 hasta 3 Con Paso 1 Hacer
Matriz3[i,j] = Matriz1[i,j] + Matriz2[i,j]
Escribir Sin Saltar "[",Matriz3[i,j],"]"
FinPara
Escribir " ";
FinPara
FinAlgoritmo


14. Crear un Array multidimensional que muestre las tablas de multiplicar del 1 al 9 (una matriz de 9 filas y 9 columnas)
SubProceso calculaTabla ( tabla_multiplicar, FILAS, COLUMNAS )
Para i<-2 Hasta FILAS Con Paso 1 Hacer
Para j<-2 Hasta COLUMNAS Con Paso 1 Hacer
//Empezamos desde la posicion 2,2
//Lo único que varia es la fila o la columna en cada caso
tabla_multiplicar[i,j]<-tabla_multiplicar[i,1]*tabla_multiplicar[1,j]
Fin Para
Fin Para
Fin SubProceso

SubProceso rellenaColumnasPrinc ( tabla_multiplicar, FILAS)
definir contador como entero
contador<-0
Para i<-1 Hasta FILAS Con Paso 1 Hacer
tabla_multiplicar[1,i]<-contador
tabla_multiplicar[i,1]<-contador
contador<-contador+1
Fin Para
Fin SubProceso

SubProceso  mostrarArray ( tabla_multiplicar, FILAS, COLUMNAS)
Para i<-1 Hasta FILAS Con Paso 1 Hacer
Para j<-1 Hasta COLUMNAS Con Paso 1 Hacer
escribir tabla_multiplicar[i,j]," " Sin Saltar
Fin Para
//Salto de linea
escribir ""
Fin Para
Fin SubProceso

Proceso Ejercicio10
//Definimos las variables
definir FILAS como entero
definir COLUMNAS como entero
FILAS<-10
COLUMNAS<-10
dimension tabla_multiplicar[FILAS,COLUMNAS]
//Funciones
rellenaColumnasPrinc(tabla_multiplicar, FILAS)
calculaTabla(tabla_multiplicar, FILAS, COLUMNAS )
mostrarArray(tabla_multiplicar, FILAS, COLUMNAS)
FinProceso

15. Crear un Array que permita ingresar números designados por el usuario, mostrar los números, sumar las edades y mostrar cuántos nombres se ingresaron.
Algoritmo ALMACENAR_NOMBRES_SUMA
Escribir Sin Saltar "INGRESE LA CANTIDAD DE NOMBRES QUE DESEA ALMACENAR:"
Leer cant_nom
Dimension nombres[cant_nom]
Definir nombres Como Caracter
Para i<-1 Hasta cant_nom Con Paso 1 Hacer
Escribir Sin Saltar "INGRESE EL NOMBRE:"
Leer nombres[i]
Escribir Sin Saltar "INGRESE LA EDAD:"
Leer edad
suma<- suma + edad
Fin Para
Escribir "LOS NOMBRES INGRESADOS SON:"
Para i<-1 Hasta cant_nom Con Paso 1 Hacer
Escribir nombres[i]
Fin Para
Escribir "LA SUMA DE LAS EDADES ES: ", suma
Escribir "LA CANTIDAD DE NOMBRES INGRESADOS: ", cant_nom
FinAlgoritmo



16. Escribir una función en pseudocódigo que devuelva la serie de Fibonacci (1, 1, 2, 3, 5, 8, 13, 21, 34....), además se debe determinar cuáles son los números pares e impares de la serie, así como la suma de ellos.
Funcion  FIBONACCI_PARES_IMPARES_SUMARLOS<-num(a, b)
Escribir "Ingresar la cantidad de numeros de la Serie de Fibonacci que desea visualizar: "
Leer num1
a<- 0
b <- 1
c<- 0
Para i<-1 Hasta num1 Hacer
a<- b
b<- c
c<- a+b
Escribir "  ", c
Si c mod 2= 0 Entonces
Escribir "ES UN NUMERO PAR."
SiNo
Escribir "ES UN NUMERO IMPAR."
Fin Si
suma <- suma + c
FinPara
Escribir "LA SUMA DE LOS NUMEROS ES: ", suma
FinFuncion
Algoritmo FIBONACCI
Escribir num(a, b)
FinAlgoritmo



17. Elaborar un programa con un arreglo, que registre las calificaciones de un estudiante en "n" asignaturas, las almacene en un vector y luego calcule: el total, la media (promedio), nota máxima, nota mínima y determine si aprueba o reprueba de acuerdo a:
Si es mayor o igual a 7 "Aprobado", de lo contrario "Reprobado".
Proceso CALIFICACION_PROMEDIO
Definir nomb Como Caracter
Escribir "INGRESE EL NOMBRE DEL ESTUDIANTE:"
Leer nomb
Escribir "INGRESE LA DIMENSION DEL ARRREGLO:"
Leer tamanio
Dimension num[tamanio]
band<-Verdadero
i<-1
Para i<-1 Hasta tamanio Hacer
Escribir "INGRESE LA CALIFICACION: ",i Sin Saltar
Leer num[i]
Si band = Verdadero Entonces
maximo<- num[i]
minimo<- num[i]
band= false
SiNo
Si num[i] > maximo Entonces
maximo<- num[i]
SiNo
Si num[i] < minimo Entonces
minimo<- num[i]
Fin Si
FinSi
Fin Si
total <- total + num[i]
prom<- total / tamanio
Fin Para
Escribir ""
Escribir "EL NUMERO MAXIMO ES: ", maximo
Escribir "EL NUMERO MINIMO ES: ", minimo
Escribir "EL TOTAL ES: ",total
Escribir "EL PROMEDIO  DE ", nomb " ES: ",prom
Si prom>= 7 Entonces
Escribir "ESTUDIANTE APROBADO."
SiNo
Escribir "ESTUDIANTE REPROBADO."
Fin Si
FinProceso
18. Elaborar un programa mediante dos arreglos, que multiplique por dos(2) la siguiente matriz y que luego sume los valores de la multiplicación.
4        5        -3
8        7        4
-6       1        9
Algoritmo  SUMAR_MATRICES
Dimension Matriz1[3,3], Matriz_resp[3,3]
Escribir "INGRESE LOS VALORES PARA LA MATRIZ 1: "
Para i<-1 Hasta 3 Con Paso 1 Hacer
Para j<-1 Hasta 3 Con Paso 1 Hacer
Escribir "INGRESE LOS VALORES QUE CONTENDRÁ LA MATRIZ 1: [", i,"] [",j,"]"
Leer Matriz1[i,j]
Fin Para
Fin Para
Escribir "LOS VALORES DE LA MATRIZ 1 SON: "
Para i<-1 Hasta 3 Con Paso 1 Hacer
Para j<-1 Hasta 3 Con Paso 1 Hacer
Escribir Sin Saltar "[", Matriz1[i,j], "]"
Fin Para
Escribir " "
Fin Para
Escribir "LA MULTIPLICACION DE LA MATRIZ ES: "
Para i<-1 Hasta 3 Con Paso 1 Hacer
Para j<-1 Hasta 3 Con Paso 1 Hacer
Matriz_resp[i,j]<- Matriz1[i,j] * 2
Escribir "[", Matriz_resp[i,j], "]"
Matriz_resp[i,j]<- Matriz_resp[i,j] + Matriz1[i,j]
Escribir " "
Escribir "LA SUMA DE LA MATRIZ ES: " "[", Matriz_resp[i,j], "]"
Fin Para
Fin Para

FinAlgoritmo



VIDEO DE TIPOS DE ARREGLOS


Si tienes dudas y quieres saber un poco mas sobre la construcción de programas en Pseint, te invito a visitar el siguiente Video, aquí encontrarás ejercicios de Arreglos (arrays) explicados, para facilitar la comprensión de los mismos.



Comentarios

Entradas populares de este blog

PROGRAMAS EN PSEUDOCÓDIGO EN PSEINT