Вы находитесь на странице: 1из 3

Recomendaciones para la resolucin de los ejercicios del Prctico 7

El Prctico 7, Lenguaje de Diseo (Segunda Parte), tiene como objetivo principal continuar
resolviendo problemas utilizando Lenguaje de Diseo, que en particular involucren el uso de
estructuras de datos. Por lo tanto, para resolver los problemas enunciados en dicho prctico se deben
elaborar soluciones que incorporen la utilizacin de variables estructuradas (arreglos).
As, con el fin de abordar correctamente las soluciones, se presentan aqu algunas recomendaciones
sobre cmo deben analizarse los enunciados de los ejercicios, para determinar todos los aspectos a
considerar al plantear la solucin.
1- Para ello es necesario preguntarse, por ejemplo:
Cules son los procesos que debo implementar para dar solucin a lo planteado en el
enunciado? Qu debe hacer el algoritmo?
Qu datos se le piden al usuario? Qu datos deben ser resultado del proceso?
Qu controles debo realizar sobre los datos?
Necesito utilizar una variable estructurada o ms de una? Qu dice el enunciado al
respecto?
De qu dimensiones y de qu tipo deben ser las variables estructuradas a utilizar?
Qu controles debo realizar al manipular las estructuras de datos?
Es necesario implementar alguna estrategia o proceso especial para resolver el
problema?
2- Tambin es til graficar la/s estructura/s y analizar los diferentes procesos que se realizan sobre la/s
misma/s, analizando:

Cantidad de ndices necesarios para trabajar


Valores iniciales que deben tomar los ndices
Valores finales de los ndices en los recorridos
Condiciones a evaluar y controles

3- En general los diferentes procesos a realizar en una estructura de datos, en nuestro caso en un
arreglo se implementan por medio de iteraciones, para lo cual es importante analizar:

Pgina 1 de 3

Cuntas veces se debe repetir la secuencia de pasos establecidas para el proceso?


Utilizaremos la sentencia MIENTRAS o la sentencia PARA? Qu necesitamos para cada una de
ellas?
Cul es la condicin o las condiciones que deben evaluarse en la iteracin? Qu variables y qu
datos utilizo para implementarlas?
Es necesario forzar la salida de la iteracin en algn momento en particular? Cmo es posible
hacerlo?

Resolucin de Problemas y Algoritmos -- 2015

Ejemplo 1:
Escriba un algoritmo que calcule y almacene los 10 nmeros siguientes a un nmero entero
positivo mayor que 7 ingresado por el usuario. Luego deber mostrar los valores calculados y
las posiciones en las que se encuentran. Codifique en Lenguaje de Diseo.

a) El algoritmo debe:
o
o

Calcular y almacenar los 10 nmeros siguientes a un nmero entero positivo mayor que 7.
Mostrar los valores calculados y las posiciones en las que se encuentran.

b) El usuario ingresa el nmero inicial, el algoritmo calcula sus 10 nmeros siguientes y los almacena a medida
que los va calculando

c) Se debe controlar que el nro ingresado sea mayor que 7.


d) Basta con la utilizacin de una nica estructura de datos, en la misma se almacenarn los 10 nmeros
calculados por el algoritmo. Por lo tanto la dimensin debe ser 10 y el tipo entero. Para manipular el arreglo
se debe utilizar un ndice (variable).

e) Grficamente:
Dado un Nro (mayor a 7), se calcular y almacenar de la siguiente manera:

f) La repeticin debe realizarse 10 veces. En cada iteracin se debe sumar al nmero original el valor de una
variable, la cual a su vez es incrementada en 1, para lograr el Nro+1, Nro+2, Nro+3, etc.
Supongamos que en la variable numero se ha ingresado un valor correcto y se decide utilizar la sentencia
PARA para implementar ambos procesos juntos (calcular y almacenar)
PARA n DESDE 1 HASTA 10 CON PASO 1 HACER
Arreglo1[i] numero + incremento
Incremento incremento +1
I i+1
FINPARA

En este caso se han utilizado 3 variables diferentes,


n para controlar la cantidad de veces que se ejecuta
la iteracin, i para ndice del arreglo (que debe ser
inicializada en 1) e incremento para el clculo del
nmero siguiente (tambin inicializada en 1)

PARA n DESDE 1 HASTA 10 CON PASO 1 HACER


Arreglo1[n] numero + n
En este segundo caso se ha utilizado la variable n para el
FINPARA
control de la iteracin, como ndice del arreglo y con
incremento, esto es posible por las caractersticas de la
solucin pero NO siempre es as.

Pgina 2 de 3

Resolucin de Problemas y Algoritmos -- 2015

Ejemplo 2:
Disear y codificar, en Lenguaje de Diseo, un algoritmo que concatene dos cadenas de
caracteres ingresadas por el usuario. La longitud de cada cadena no debe superar los 20
caracteres. Por ltimo, mostrar, las cadenas ingresadas y la concatenacin de las mismas.

a) El algoritmo debe:
o
o
o

Permitir el ingreso de 2 cadenas de caracteres


Concatenar las 2 cadenas ingresadas
Mostrar las cadenas ingresadas y la cadena concatenada

b) El usuario define la longitud de dichas cadenas e ingresa los caracteres de las misma. El algoritmo concatena
ambas cadenas generando la cadena resultante

c) Se debe controlar que la longitud de cada cadena no supere los 20 caracteres. Notar que ambas cadenas
pueden ser de igual o diferente longitud.

d) Es posible pensar la solucin con un arreglo para cada cadena y un tercer arreglo para la cadena
concatenada. En este caso los tres arreglos sern de tipo carcter. De los tres arreglos, 2 sern de dimensin
20 y el tercero de dimensin 40 (ya que contendr las 2 cadenas ingresadas por el usuario). Podran utilizarse
3 ndices, uno para cada arreglo y 2 variables auxiliares que contengan la longitud real de cada cadena.

e) Grficamente:

EJEMPLO:

f) Cmo seran los procesos para cargar cada cadena? Cmo sera el proceso para concatenar ambas
cadenas?
Ejercicio propuesto
Piense si el enunciado del problema planteara utilizar UN NICO arreglo, De qu dimensin debera ser? Cmo
identificara cada cadena por separado? Grafique la estructura y los elementos necesarios para implementar su
solucin.
Pgina 3 de 3

Resolucin de Problemas y Algoritmos -- 2015