Publicado el 23 de Mayo del 2018
1.201 visualizaciones desde el 23 de Mayo del 2018
477,3 KB
4 paginas
Creado hace 9a (03/06/2015)
Ejemplo 1: Diseñar tres subalgoritmos, en lenguaje de diseño, que permitan:
El primero, el ingreso de 20 números enteros en un arreglo.
El segundo, devolver VERDADERO si encuentra en el arreglo un número x (ingresado por el
Resolución de Problemas y Algoritmos
usuario).
El tercero, determinar cuántas veces aparece el “número y” (ingresado por el usuario), en
el arreglo y lo informe por pantalla.
Finalmente codificar el algoritmo que invoque a estos tres subalgoritmos.
Subalgoritmo “ingreso” (out Ar1: arreglo de entero, in Li, Ls:entero)
COMENZAR
I: entero
Observe el uso de los
parámetros relacionados
con la variable arreglo.
PARA I DESDE Li HASTA Ls CON PASO 1 HACER
ESCRIBIR “ingrese un número”
LEER Ar1[I]
Tipo de dato
FINPARA
FIN
Subalgoritmo “buscar-x” (in Ar1 arreglo de entero, in Li, Ls, x: entero, out B: logico)
Se inicializa B con
el valor FALSO
COMENZAR
i: entero
BFALSO
PARA i DESDE Li HASTA Ls CON PASO 1 HACER
SI (Ar1[i] = x ) ENTONCES
B VERDADERO
iLs+1
FINSI
FINPARA
FIN
Clase de
parámetro
Observar la clase de parámetros y
el tipo de dato utilizados según las
entradas o salidas del subalgoritmo
Recurso utilizado para forzar la
salida de la iteración cuando se
encuentra el valor buscado
Subalgoritmo “contar-y” (in Ar1 arreglo de entero, in Li, Ls, y: entero)
COMENZAR
i, cant: entero
cant0
PARA i DESDE Li HASTA Ls CON PASO 1 HACER
SI (Ar1[i] = y ENTONCES
cantcant + 1
FINSI
FINPARA
Se pueden declarar variables dentro del
subalgoritmo, las cuales serán locales al mismo
Observar que el subalgoritmo cuenta las
apariciones del “número y” en el arreglo
y además realiza el informe por pantalla
en vez de devolverlo mediante un
parámetro de salida al algoritmo
principal.
ESCRIBIR “el numero”,y, “ aparece la siguiente cantidad de veces:”
ESCRIBIR cant
FIN
1
Resolución de Problemas y Algoritmos
Algoritmo “ejemploUno”
COMENZAR
ARR1 [1..20] de entero
x, y: entero
esta-x: logico
ingresar (ARR1, 1,20)
Invocación al subalgoritmo “ingresar” con los parámetros
actuales: el arreglo, el límite inferior y superior del mismo
ESCRIBIR “Ingrese el número a buscar x”
LEER x
buscar-x (ARR1,1,20, x, estax)
SI (esta-x = VERDADERO) ENTONCES
Para pedirle al usuario el ingreso de un valor
y luego almacenarlo en la variable x
Aquí el algoritmo principal utiliza el valor devuelto por el
subalgoritmo (en esta-x) para decidir qué imprime por pantalla
ESCRIBIR “El número”, x , “se encuentra en el arreglo”
SINO
FINSI
ESCRIBIR “El número”, x , “no se encuentra en el arreglo”
ESCRIBIR “Ingrese el número a buscar y”
LEER y
contar-y (ARR1, 1, 20, y)
FIN
Ejercicio Propuesto
1.
Modificar el subalgoritmo contar-y para que el número de veces en las que aparece el
entero y sea mostrado por el módulo que lo invocó.
2
Resolución de Problemas y Algoritmos
Ejemplo 2: Escriba un algoritmo que permita ingresar no más de 100 caracteres. Luego, el
algoritmo deberá:
Mostrar todos los caracteres ingresados.
Mostrar todos los caracteres ubicados en posiciones pares.
Mostrar todos los caracteres ubicados en posiciones impares
Mostrar los caracteres ubicados desde una posición inicial hasta una posición final y con
un cierto salto.
Las tareas de ingreso y muestra deben ser implementadas mediante subalgoritmos. El
subalgoritmo Muestra deberá ser invocado, con los parámetros correspondientes, 4 veces en
el algoritmo principal.
Observar la clase de los parámetros y
el tipo de datos de los mismos.
SUBALGORITMO “INGRESO” (out Chars: arreglo de caracter, in Li: entero, out Ls: entero)
COMENZAR
I:entero
ESCRIBIR “ingrese la CANTIDAD de caracteres que desea ingresar”
LEER Ls
MIENTRAS Ls<0 v Ls >100 HACER
Observe el control que se realiza
para establecer la cantidad de
valores a ingresar.
ESCRIBIR “POR FAVOR INGRESE NUEVAMENTE LA CANTIDAD DE CARACTERES”
LEER Ls
FINMIENTRAS
PARA I DESDE Li HASTA Ls CON PASO 1 HACER
ESCRIBIR “ingrese el carácter ”
LEER Chars [I]
FINPARA
FIN
Estos parámetros son los recomendables para
utilizar en cualquier subalgoritmo que trabaje
con arreglos: arreglo, límite inferior y superior y
además el valor para el PASO
SUBALGORITMO “MUESTRA” (in chars: arreglo de caracter, in inicio, fin, pasoj: entero)
I:entero
COMENZAR
PARA I DESDE inicio HASTA fin CON PASO pasoj HACER
Observe el uso de los parámetros
ESCRIBIR chars [I]
FINPARA
FIN
relacionados con la variable arreglo y
la forma en que se utilizan para
realizar el recorrido en el mismo.
3
Resolución de Problemas y Algoritmos
ALGORITMO “CIEN_CHAR”
COMENZAR
I: entero
Arr[1..100]: arreglo de caracter
X, Y, Z,N: entero
INGRESO(Arr,1,N)
MUESTRA(Arr,1,N,1)
Permite mostrar todos los elementos del arreglo
MUESTRA(Arr,2,N,2)
Permite mostrar los elementos del arreglo ubicados en las posiciones pares del mismo
MUESTRA(Arr,1,N,2)
Permite mostrar los elementos del arreglo ubicados en las posiciones impares del mismo
ESCRIBIR “ingrese posición inicial del arreglo que desea mostrar”
LEER X
MIENTRAS X<0 v X >N HACER
Observar Y ANALIZAR Los
distintos controles realizados.
Podrían implementarse otros
controles y modificar las
opciones.
ESCRIBIR “por favor ingrese nuevamente”
LEER X
FINMIENTRAS
ESCRIBIR “ingrese posición final del arreglo que desea mostrar”
LEER Y
MIENTRAS Y<X v Y >N HACER
ESCRIBIR “por favor ingrese nuevamente”
LEER Y
FINMIENTRAS
ESCRIBIR “ingrese el salto para recorrer arreglo”
LEER Z
MIENTRAS Z< 0 HACER
ESCRIBIR “por favor ingrese nuevamente”
LEER Z
FINMIENTRAS
MUESTRA(ARR,X,Y,Z)
FIN
Ejercicio Propuesto
1. Modifique el subalgoritmo INGRESO para que permita ingresar caracteres en un arreglo de
cualquier manera: del primero al último, del último al primero, de dos en dos, de uno en uno,
entre otras.
4
Comentarios de: Resolución de Problemas y Algoritmos (0)
No hay comentarios