Sie sind auf Seite 1von 4

Fund. de la Infor. (Ing. Elect.)-Introd. a la Comp. (TUW TUR y TUT)-Introd. a la Prog.

(TUM , TUG, Prof)

1erCuat-2012

Prctico N 7
Tema: Subalgoritmos (LD Parte 3)
Nota: En todos los casos en que se pida el desarrollo de un algoritmo y/o subalgoritmo Ud. deber realizar la
solucin expresada en el lenguaje del problema, su codificacin en lenguaje de diseo con los controles
adecuados para el ingreso de la informacin, el diagrama de flujo correspondiente y realizar la ejecucin del
mismo con al menos 2 conjuntos de datos de entrada.
1. Dado el siguiente algoritmo en lenguaje de diseo:
SUBALGORITMO DOS (in x, y, z: entero)
COMENZAR
z x + y + z
ESCRIBIR x, y, z
FIN
ALGORITMO UNO
COMENZAR
a, b, c: entero
a 5
b 8
c 3
DOS (a, b, c)
DOS (7, a+b+c, a)
DOS (a*b, a/b, c)
FIN

1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
1.7.
1.8.
1.9.
1.10.

Indique cul es la definicin del subalgoritmo.


Indique cul es el cuerpo del subalgoritmo.
Identifique los parmetros formales e indique de que tipo son.
Indique cul es la invocacin al subalgoritmo.
Indique cules son los parmetros actuales o reales y cmo se realiza la asociacin entre stos y los
parmetros formales.
Indique mbito de las variables del algoritmo y subalgoritmo.
Realice la ejecucin, indicando los valores que van tomando cada una de las variables.
Modifique el algoritmo para que los valores de las variables a, b y c sean ingresados por el
usuario.
Modifique el subalgoritmo para que el resultado sea devuelto en el tercer parmetro formal.
Ejectelo para el siguiente conjunto de valores: a= 6, b= 12 y c=3.

2. Seale por qu algunas de las siguientes invocaciones a subalgoritmos son invlidas.


.

SUBALGORITMO UNO (in x: entero, inout y: real)

......

SUBALGORITMO DOS (out x: logico, in y: entero)


......

SUBALGORITMO TRES (inout x: entero)


......

ALGORITMO PRINCIPAL
COMENZAR
a: entero
b: real
c: logico
......

DOS (a, b+3)


TRES(x)
UNO (b/2.0, a)
TRES (4,c)
UNO( a, 2.3)
DOS( c,y)
Uno (a,b)
FIN
Prctico N 7

Pgina 1/4

rea de Servicios Dpto. de Informtica

Fund. de la Infor. (Ing. Elect.)-Introd. a la Comp. (TUW TUR y TUT)-Introd. a la Prog. (TUM , TUG, Prof)

1erCuat-2012

3. Realice la ejecucin del siguiente algoritmo indicando los valores que van tomando cada una de las
variables.
SUBALGORITMO TRMINO (in A: entero, out B: real, inout C: real, in HH:
caracter)
COMENZAR
B 1.0 / A2
C C + B
SI HH = w ENTONCES
HH f
FINSI
FIN
ALGORITMO SUMATORIA
COMENZAR
X: entero
Y, RES: real
L: caracter
RES 0.0
L w
PARA X DESDE 1 HASTA 5 CON PASO 1 HACER
TRMINO (X,Y, RES,L)
FINPARA
ESCRIBIR RES, L
FIN

4. Dado el siguiente algoritmo en lenguaje de diseo:


SUBALGORITMO "RESTA" (in A, B: entero, out C, R: entero)
COMENZAR
AUX: entero
AUX 0
MIENTRAS A >= B HACER
A A - B
AUX AUX+1
REPETIR
C AUX
NUM4 A
FIN
ALGORITMO "PRUEBA"
COMENZAR
NUM1, NUM2, NUM3, NUM4: entero
LEER NUM1, NUM2
RESTA (NUM1, NUM2, NUM3, NUM4)
ESCRIBIR NUM3, NUM4
FIN

4.1. Analice la definicin y el uso de las variables.


4.2. En caso de ser correcto ejecute con los siguientes valores: NUM1 = 7 y NUM2 = 2. Caso
contrario, indique cual es el error, corrjalo y luego ejecute.

Prctico N 7

Pgina 2/4

rea de Servicios Dpto. de Informtica

Fund. de la Infor. (Ing. Elect.)-Introd. a la Comp. (TUW TUR y TUT)-Introd. a la Prog. (TUM , TUG, Prof)

1erCuat-2012

5. Analice el siguiente algoritmo y codifquelo utilizando subalgoritmos, agregando los controles que
considere necesarios
ALGORITMO AreaTriangulo
COMENZAR
L1, L2, L3: real
area: real
SP: real
ESCRIBIR Introduzca la longitud de lado 1 del tringulo:
LEER L1
ESCRIBIR Introduzca la longitud de lado 2 del tringulo:
LEER L2
ESCRIBIR Introduzca la longitud de lado 3 del tringulo:
LEER L3
SP (L1 + L2 + L3) / 2
area RC (SP * (SP-L1) * (SP-L2) * (SP-L3))
ESCRIBIR El rea del tringulo es:, area
ESCRIBIR Ingrese el valor de los lados del segundo triangulo
ESCRIBIR Introduzca la longitud de lado 1 del tringulo:
LEER L1
ESCRIBIR Introduzca la longitud de lado 2 del tringulo:
LEER L2
ESCRIBIR Introduzca la longitud de lado 3 del tringulo:
LEER L3
SP (L1 + L2 + L3) / 2
area RC (SP * (SP-L1) * (SP-L2) * (SP-L3))
ESCRIBIR El rea del tringulo es:, area
ESCRIBIR Ingrese el valor de los lados del tercer tringulo
ESCRIBIR Introduzca la longitud de lado 1 del tringulo:
LEER L1
ESCRIBIR Introduzca la longitud de lado 2 del tringulo:
LEER L2
ESCRIBIR Introduzca la longitud de lado 3 del tringulo:
LEER L3
SP (L1 + L2 + L3) / 2
area RC (SP * (SP-L1) * (SP-L2) * (SP-L3))
ESCRIBIR El rea del tringulo es:, area
FIN

6. Dados dos nmeros enteros positivos ingresados por el usuario, determine si uno es mltiplo del otro (no
importa cul de cul), mostrando los carteles correspondientes para el resultado. El cdigo deber consistir
de al menos tres subalgoritmos adems del algoritmo principal (los subalgoritmos podran ser: ingreso,
clculo y muestra).
7. a) Realice un subalgoritmo que reciba dos nmeros enteros, calcule su producto con sumas sucesivas y
retorne el resultado.
b) Escriba un algoritmo que calcule la potencia con sumas sucesivas, utilizando el subalgoritmo anterior.
Ejecutarlo con la siguiente entrada: 5 y 3 (53). La salida deber ser: 125.
8. Escriba un algoritmo que permita ingresar no ms de 100 caracteres, luego:
Muestre todos los caracteres ingresados.
Muestre todos los caracteres ubicados en posiciones pares.
Muestre todos los caracteres ubicados en posiciones impares
Muestre los caracteres ubicados desde una posicin inicial hasta una posicin final y con un cierto
salto. Tanto posicin inicial, posicin final y salto sern ingresados por el usuario.
Las tareas de ingreso y muestra deben ser implementadas mediante subalgoritmos. El subalgoritmo
Muestra deber ser invocado con los parmetros correspondientes, 4 veces en el algoritmo principal.

Prctico N 7

Pgina 3/4

rea de Servicios Dpto. de Informtica

Fund. de la Infor. (Ing. Elect.)-Introd. a la Comp. (TUW TUR y TUT)-Introd. a la Prog. (TUM , TUG, Prof)

1erCuat-2012

9. Escriba un algoritmo que permita ingresar no ms de 100 caracteres. El ingreso se debe realizar mediante
un subalgoritmo. Luego mediante otro subalgoritmo contar cuantas veces se ingres una a o una i.
Mostrar tambin el arreglo ingresado.
Nota: El ingreso de caracteres debe finalizar cuando ingresa un punto o 100 caracteres .

10. Escriba un algoritmo que permita ingresar las notas de tres cursos de 15 alumnos cada uno. Solo puede
usar una nica estructura. El programa deber ingresar las notas de cada uno de los cursos. Luego
mostrar con los carteles correspondientes las notas de cada curso y la correspondiente nota ms baja del
mismo. Se debern definir subalgoritmos para las tareas Ingreso, Nota_Menor y Muestra (Invocando los
mismos para cada uno de los cursos).
11. Disear tres subalgoritmos, uno que permita el ingreso en un arreglo de 20 nmeros enteros, otro que
devuelva VERDADERO si encuentra en el arreglo un nmero x (ingresado por el usuario) y un tercer
subalgoritmo que determine cuntas veces aparece un nmero x (ingresado por el usuario). Cmo sera el
algoritmo que invoque a estos tres subalgoritmos?
12. Modificar el subalgoritmo de Ingreso de enteros en un arreglo del Ej N 11, de manera tal que permita
ingresar nmeros distintos. Es decir el arreglo no puede tener nmeros repetidos.
13. Escriba un algoritmo que permita ordenar de menor a mayor un arreglo de 100 enteros negativos. La tarea
de ingresar los nmeros y ordenarlos deben ser implementadas mediante subalgoritmos.

Ejercicios Complementarios
1. Modificar el algoritmo del Ej N 10 para que ahora permita:
La cantidad de alumnos por curso no puede superar los 15.
Para el ingreso de las notas de todos los cursos se usa una nica estructura.
Suponiendo que los alumnos se numeran por curso 1,2,3,4,. mostrar todos los alumnos
del curso que tienen la nota ms baja.
2. Escribir un programa que mediante el uso de subalgoritmos, permita el clculo del mximo comn divisor
de dos nmeros a y b naturales positivo, segn el algoritmo de Euclides el cual consiste en: dividir a por b,
obtener el cociente q y el resto r; si r es 0, el mximo comn divisor es b; sino, se divide b por r y as
sucesivamente hasta encontrar un resto 0; el ltimo divisor es el mximo comn divisor. Ejemplo: el
mximo comn divisor de 680 y 132 es 4.
3. Implementar el ejercicio 2 de los complementarios del prctico anterior de manera que contenga 3
subalgoritmos, un ingreso, un almacenar y un imprimir.

Prctico N 7

Pgina 4/4

rea de Servicios Dpto. de Informtica

Das könnte Ihnen auch gefallen