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

Universidad Tecnolgica Nacional

Facultad Regional Buenos Aires


Ingeniera en Sistemas de Informacin
Ingeniera en Sistemas de Informacin
Algoritmos y Estructura de Datos
digo !"#$!$%
Actividades &r'cticas
(dulo I
- 1 -
Algoritmos y Estructura de Datos
digo !"#$!$%
Mdulo I
Estructuras Bsicas de Control, Datos Simples, Cadenas de Caracteres
En cada aplicacin se desarrollarn los siguientes pasos, utilizando como dispositivo de
entrada el teclado y de salida el monitor o la impresora.
1. Enunciado: texto narrativo que describe una situacin problemtica a resolver,
conteniendo el conjunto de datos de entrada, los resultados deseados, y el proceso
a realizar
. Datos de entrada y de salida: surgen del anlisis del enunciado
!. Estrategia: una generalizacin de pasos a seguir en la resolucin del problema
sin llegar a lo particular
". Algoritmo de resolucin: representacin gr#ica de una secuencia ordenada y
#inita de acciones para obtener el resultado deseado a partir de un conjunto de
datos. $tilizar %erramientas de programacin del &'E() *.
+. Seguimiento del algoritmo: comprobacin manual del algoritmo a partir de
distintos juegos de datos
,. Codificacin: transcribir el algoritmo en el lenguaje de programacin -ascal,
utilizando un editor y creando un programa #uente .arc/ivo.-&01.
2. Compilacin: ejecucin del programa compilador del lenguaje -ascal que
traduce el programa #uente en un programa ejecutable .arc/ivo.E(E1.
3. Ejecucin del programa ejecutable en la computadora.
Temas del Mdulo I
I Estructuras Secuenciales: )peraciones de Entrada y 0alida. &signacin.
Expresiones aritm4ticas. )peradores aritm4ticos. Tipos de datos 'um4ricos enteros
y reales.
II Estructuras Selecti!as: 0eleccin 0imple. 0eleccin 56ltiple. Expresiones lgicas.
)peradores de relacin. )peradores lgicos. Estructuras anidadas. Tipos de datos
7arcter, 8ooleano o lgico.
III Estructuras "epetiti!as: 9epeticin de#inida o exacta. 9epeticin inde#inida -re-
condicin. 9epeticin inde#inida -ost-condicin Estructuras anidadas.
I# M$imos y M%nimos. Tipos de datos &l#anum4ricos .7adenas de caracteres1.
# Ejercicios Integradores
#I Su&programas 0ubprogramas estndar. :unciones y procedimientos desarrollados
por el usuario. -armetros por valor y por re#erencia. &rgumentos. *nvocaciones.
I Ejercicios Integradores Su&programas
- -
Universidad Tecnolgica Nacional
Facultad Regional Buenos Aires
Ingeniera en Sistemas de Informacin
I Estructuras Secu'nciales:
Ej MI()
Enunciado* & partir de dos valores enteros & y 8, in#ormar la suma, la di#erencia .& menos
81, y el producto.
D
A
T
+
S
De Entrada De Salida
-un n6mero entero que
identi#icaremos como &
-otro n6mero entero que
identi#icaremos como 8
- la suma de ambos n6meros que identi#icaremos como
0$5& acompa;ada de una leyenda aclaratoria.
- la di#erencia entre los n6meros que identi#icaremos
como <*: acompa;ada de una leyenda aclaratoria.
- el producto entre ambos n6meros que identi#icaremos
como -9)< acompa;ada de una leyenda aclaratoria
Estrategia*
o 0olicitar e ingresar datos por teclado
o 7alcular suma e in#ormar por monitor
o 7alcular di#erencia e in#ormar por monitor
o 7alcular producto e in#ormar por monitor
"epresentacin grfica del algoritmo*

) Ingrese un n*mero entero


A
) Ingrese un n*mero entero
B
SU(A+# A,B
) -a suma es. )/ SU(A
&R0D +# A1B
)-a diferencia es.)/ DIF
DIF +# A#B
)El 2roducto es.)/ &rod
F
7omienzo del algoritmo
5ostrar por monitor leyenda de ingreso del primer
dato
*ngreso del dato: &signacin de memoria
5ostrar por monitor leyenda de ingreso del segundo
dato
*ngreso del dato: &signacin de memoria
7alculo de expresin aritm4tica con su asignacin de
memoria
5ostar por monitor leyenda y el calculo de la suma
7alculo de expresin aritm4tica con su asignacin de
memoria
5ostrar por monitor leyenda y el calculo de la
di#erencia
7alculo de expresin aritm4tica con su asignacin de
memoria
5ostrar por monitor leyenda y el calculo del producto
:in del algoritmo
- ! -
Algoritmos y Estructura de Datos
digo !"#$!$%
Seguimiento
=eclado 5emoria 5onitor
1+
,
& 8 0$5& <*: -9)< *ngrese un n6mero entero
1+
*ngrese un n6mero entero
,
>a suma es: 1
>a di#erencia es: ?
El producto es: ?@
1+ , 1 ? ?@
Codificacin en ,ascal*
Program MI1;
{ Comentario }
Var
A,B,SUMA,DIF,PROD:integer;
Begin
writeln!Ingre"e #n n#mero entero!$;
rea%lnA$;
writeln!Ingre"e #n n#mero entero!$;
rea%lnB$;
SUMA:& A ' B;
writeln!(a "#ma e":!,SUMA$;
DIF:& A ) B;
writeln!(a %i*eren+ia e":!,DIF$;
PROD:& A , B;
writeln!-l .ro%#+to e":!,PROD$
en%/
Encabezamiento del programa
7omentario
<eclaracin de variables, reas de memoria
para contener datos y resultados
7omienzo del programa
)peracin de salida en el monitor: in#orma
literal. )peracin de entrada de teclado
)peracin de salida in#orma literal.
)peracin de entrada de teclado
&signacin y clculo de expresin aritm4tica.
)peracin de salida: in#orma literal y contenido
de la variable
&signacin y clculo de expresin aritm4tica
)peracin de salida: in#orma literal y contenido
de la variable
&signacin y clculo de expresin aritm4tica
)peracin de salida: in#orma literal y contenido
de la variable
:in del programa
Ej MI(- <ado el siguiente enunciado y su representacin gr#ica especi#ique los datos de
entrada, de salida, estrategia, seguimiento y codi#icacin en -ascal.
Enunciado* <ado un n6mero real que representa el importe de una compra in#ormar las
posibles #ormas de pago, seg6n la siguiente tabla:
1 cuota de A.................
cuotas de A................. total A................. . +B de recargo1
, cuotas de A................. total A................. . "@B de recargo1
"epresentacin grfica del algoritmo*
- " -
Universidad Tecnolgica Nacional
Facultad Regional Buenos Aires
Ingeniera en Sistemas de Informacin

) Ingrese im2orte de la com2ra)


I(&
)% cuota de 3 )/ I(&.%!.$
I(&$ +# I(& 1 %4!5 6 $
)$ cuotas de 3 )/ I(&$.%!.$
I(&7 +# I(& 1 %48! 6 7
) total 3)/ I(&$ 1 $.%!.$/)9 5: de recargo;)
)7 cuotas de 3 )/ I(&7.%!.$
F
) total 3)/ I(&7 1 7.%!.$/)9 8!: de recargo;)
7omienzo del algoritmo
5ostrar por monitor leyenda de ingreso del
importe
*ngreso del importe: &signacin de memoria
5ostrar leyenda del importe, con importe editado
como un n6mero real de decimales
7alcular importe de cuotas , incremento del +B
5ostrar leyenda del importe en cuotas, con
importe editado como un n6mero real de
decimales. 5ostrar leyenda del total y el resultado
de la expresin aritm4tica como un n6mero real de
decimales
7alcular importe de , cuotas, incremento del "@B.
5ostrar leyenda del importe en , cuotas, con
importe editado como un n6mero real de
decimales
5ostrar leyenda del total y el resultado de la
expresin aritm4tica como un n6mero real de
decimales
:in del algoritmo
Ej MI(.: <ada una terna de n6meros naturales que representan al dCa, al mes y al a;o de una
determinada #ec/a in#ormarla como un solo n6mero natural de 3 dCgitos .&&&&55<<1.
Ej MI(/: & partir de un valor entero ingresado por teclado, se pide in#ormar:
a1 >a quinta parte de dic/o valor
b1 El resto de la divisin por +
c1 >a s4ptima parte del resultado del punto a1
II Estructuras Selecti!as:
IIa 0eleccin Simple
Ej MI(0
Enunciado* <ados dos valores enteros y distintos, emitir una leyenda apropiada que in#orme
cul es el mayor entre ellos.
D
A
T
+
S
De Entrada De Salida
-un n6mero entero que identi#icaremos
como &
-otro n6mero entero que identi#icaremos
como 8
una leyenda aclaratoria y la variable &,
indicando que es el mayor
una leyenda aclaratoria y la variable 8,
indicando que es el mayor
- + -
Algoritmos y Estructura de Datos
digo !"#$!$%
Estrategia*
o 0olicitar e ingresar datos por teclado
o 7omparar los n6meros e in#ormar cual es el mayor

"epresentacin grfica del algoritmo*

) Ingrese un n*mero entero 2ositivo


A
) Ingrese un n*mero entero 2ositivo
distinto al anterior
F
)El mayor es )/ A
A < B
)El mayor es )/B
B
7omienzo
*ngreso de datos
Evaluacin de la condicin y toma de
decisin por verdadero o #also:
0i el contenido de la variable & es
mayor que el contenido de la
variable 8: se in#ormar que & es
mayor
<e lo contrario se in#ormar que 8
es el mayor
:in
Seguimiento
=eclado 5emoria 5onitor
!+
1,
& 8 *ngrese un n6mero entero positivo
!+
*ngrese un n6mero entero positivo distinto al anterior
1,
El mayor es: !+
!+ 1,
Codificacin en ,ascal*
Program MI0;
#"e" +rt;
1ar
a,2:wor%;
Begin
+lr"+r;
writeln!Ingre"e #n n#mero entero .o"iti1o!$;
rea%lna$;
writeln!Ingre"e #n n#mero entero .o"iti1o
%i"tinto al anterior!$;
rea%ln2$;
7omienzo
$nidad externa que contiene
cdigo para el manejo de
pantalla
8orra pantalla
*n#ormar y >eer
*#: 0C condicionalD a E b :
expresin lgicaD E : operador
de relacin, t/en sentencia a
- , -
Universidad Tecnolgica Nacional
Facultad Regional Buenos Aires
Ingeniera en Sistemas de Informacin
i* a 3 2
t4en writeln!-l ma5or e" !,a$
el"e writeln!-l ma5or e" !,2$
en%/
ejecutar por trueD else sentencia
a ejecutar por #alse
:in
Ej MI(1 <adas dos #ec/as in#ormar cual es la ms reciente. <etermine cuales serCan los
datos de entrada y las leyendas a in#ormar de acuerdo al proceso solicitado.
7omienzo
*ngreso de datos
Evaluacin de la condicin y toma de
decisin por verdadero o #also:
0i la primer temperatura es mayor
a las otras dos almacenar el
numero 1 en x
<e lo contrario:
o 0i la segunda temperatura es
mayor a las otras dos
almacenar el numero en x
o <e lo contrario la tercer
temperatura es la mayor,
almacenar el numero ! en x
*n#ormar la mayor . el contenido de x1
:in
Ej MI(2* <ado un tringulo representado por sus lados >1, >, >!, determinar e imprimir
una leyenda seg6n sea: equiltero, issceles o esclenos.
II& Seleccin M3ltiple
Ej MI(4*
Enunciado* <ados un mes y el a;o correspondiente in#ormar cuantos dCas tiene el mes.
- 2 -
Algoritmos y Estructura de Datos
digo !"#$!$%
D
A
T
+
S
De Entrada De Salida
- un valor entero 5E0
- otro valor entero &'*)
in#ormar la cantidad de dCas que tiene el mes
5E0, &'*), <*&
Estrategia*
0olicitar e ingresar datos por teclado
0eg6n el mes in#ormar la cantidad, considerar el caso de #ebrero cuando el a;o sea
bisiesto
"epresentacin grfica del algoritmo*

) Ingrese mes como un valor entre


% y %$)
(ES
) Ingrese el a=o como un n*mero
de 8 dgitos)
F
(ES
ANI0
ANI0 (0D 8 > !
)El mes )/(ES/) del a=o )/ANI0/) tiene
)/DIA/) das)
DIA+#?%
DIA +# $@ DIA +# $"
DIA +# ?!
%/?/5/A/"/%!/%$ $ 8/ 7/ @/ %%
7omienzo
*ngreso de datos
Evaluacin por igualdad con la
variable 5E0
0i 5E0 es igual a 1 ! + 2
1@ 1 asigna !1 a <*&
0i 5E0 es igual a .o sea #ebrero1
y el a;o es divisible por " asignar
? a <*& de lo contrario asigna 3
0i 5E0 es igual a " , ? 11
asigna !@ a <*&
*n#ormar
:in
- 3 -
Universidad Tecnolgica Nacional
Facultad Regional Buenos Aires
Ingeniera en Sistemas de Informacin
Seguimiento
=eclado 5emoria 5onitor
3
@@!
5E0 &'*) <*& *ngrese mes como un valor entre 1 y 1
3
*ngrese el a;o como un n6mero de " dCgitos
@@!
E> mes 3 del a;o @@! tiene !1 dCas
3 @@! !1
11
@@!
11 @@! !@ *ngrese mes como un valor entre 1 y 1
11
*ngrese el a;o como un n6mero de " dCgitos
@@!
E> mes 11 del a;o @@! tiene !@ dCas

@@"
@@" ? *ngrese mes como un valor entre 1 y 1

*ngrese el a;o como un n6mero de " dCgitos


@@"
E> mes del a;o @@" tiene ? dCas
Codificacin en ,ascal*
Program MI6;
#"e" +rt;
1ar
me",%ia:25te;
anio:wor%;
Begin
+lr"+r;
writeln!Ingre"e me" +omo #n 1alor entre 1 5 17!$;
rea%lnme"$;
writeln!Ingre"e el a8o +omo #n n#mero %e 9
%igito"!$;
rea%lnanio$;
+a"e me" o*
1,:,0,;,6,1<,17: %ia:&:1;
7: i* anio MOD 9 & <
t4en %ia:& 7=
el"e %ia:& 76;
9,>,=,11: %ia:&:<;
en%;
writeln!-l me" !,me",! %el a8o !,anio,! tiene
!,%ia,! %ia"!$
en%/
7omienzo

En caso que 5E0 sea
igual a 1 ! + 2 3
1@ 1: asignar !1 a <ia
igual a: si el a;o es
divisible por " asignar ? a
<*&, de lo contrario
asignar 3
" , ? 11: asignar !@
a <ia
:in
Ej MI(5* <ado el siguiente enunciado, estrategia y representacin gr#ica especi#ique los
datos de entrada, de salida y la codi#icacin en -ascal
Enunciado* <ados dos n6meros, mostrar un men6 con opciones de sumar, restar o
multiplicar dic/os n6meros. 0olicite elegir una opcin.
- ? -
Algoritmos y Estructura de Datos
digo !"#$!$%

Estrategia*
0olicitar e ingresar los dos n6meros por teclado
5ostar men6
0olicitar opcin
0eg6n la opcin elegida
o 9ealizar la suma e in#ormar
o 9ealizar la resta e in#ormar
o 9ealizar el producto e in#ormar
o *n#ormar si la seleccin no #ue correcta
"epresentacin grfica del algoritmo*

) Ingrese un valor numBrico)


N%
) Ingrese un segundo valor numBrico)
F
0&I0N
N$
S+#N% , N$ R +# N% #N$ ( +# N% 1 N$
)S)/ )s) )R)/ )r) )()/ )m) de lo contario
) S. Sumar los dos n*meros)
)R. Restar los n*meros)
) (. (ulti2licar los dos n*meros)
) Seleccione una o2cin.)
0&I0N
)Suma
. )/S
)Resta
. )/R
)(ult.
)/(
)Error
en
o2cin
7omienzo
*ngreso de datos
Evaluar por igualdad a la variable
)-7*)'
0i es igual al carcter 0 en
may6scula o min6scula calcular la
suma e in#ormar
0i es igual al carcter 9 en
may6scula o min6scula calcular la
resta e in#ormar
0i es igual al carcter 5 en
may6scula o min6scula calcular la
multiplicacin e in#ormar
En cualquier otro caso in#ormar
error
:in
- 1@ -
Universidad Tecnolgica Nacional
Facultad Regional Buenos Aires
Ingeniera en Sistemas de Informacin
Ej MI()6 0e ingresa una edad, mostrar por pantalla alguna de las siguientes leyendas:
FmenorG si la edad es menor o igual a 1
FcadeteG si la edad est comprendida entre 1! y 13
FjuvenilG si la edad es mayor que 13 y no supera los ,
FmayorG en el caso que no cumpla ninguna de las condiciones anteriores
III Estructuras "epetiti!as:
*** a "epeticin definida o e$acta
Ej MI())

Enunciado* *n#ormar los primeros 1@@ n6meros naturales y su sumatoria
D
A
T
+
S
De Entrada De Salida
sin datos de entrada
'9) 1@@ n6meros
0$5& de los 1@@ n6meros naturales
Estrategia*
Henerar los 1@@ n6meros naturales, acumular la suma e in#ormarlos
"epresentacin grfica del algoritmo*

F
C
)-os %!! 2rimeros
numeros naturales
son)
SU(A+## !
SU(A+## SU(A , C
%!! %
C
)-a sumatoria de los %!!
2rimeros numeros naturales
es. )/ SU(A
7omienzo
*nicializar variable 0$5& donde se realizar la
sumatoria de los 1@@ n6meros
7iclo #inito que se ejecutar 1@@ veces utilizando a
la variable I como contador de veces que se repite
la ejecucin del ciclo, y al mismo tiempo toma el
valor del n6mero natural. -or cada ejecucin del
ciclo:
&cumular n6mero
*n#ormar n6mero generado
-or #in del ciclo in#ormar la sumatoria de los
n6meros
:in
- 11 -
Algoritmos y Estructura de Datos
digo !"#$!$%
Seguimiento
=eclado 5emoria 5onitor

I 0$5& >os 1@@ primeros n6meros naturales son
1

!
.......
1@@
>a sumatoria de los 1@@ primeros n6meros naturales esJJ.
1

!
.....
1@@
1@1
@
1
!
,
.......
Codificacin en ,ascal*
Program MI11;
#"e" +rt;
1ar
?:25te;
"#ma:longint;
Begin
+lr"+r;
writeln@(o" 1<< .rimero" nAmero" nat#rale"
"on@$;
"#ma :& <;
*or ? :& 1 to 1<< %o
2egin
"#ma :& "#ma ' ?;
writeln ? $;
en%;
writeln@(a "#matoria %e lo" 1<< .rimero"
n#mero" nat#rale" e"@, "#ma$
en%/
7omienzo
*nicializar suma en @
9epetir desde 1 /asta 1@@ con
incremento de a 1
o &cumular contenido de K
en suma
o 5ostrar K
5ostrar sumatoria
:in
Ej MI()-* <ados ' y 5 n6meros naturales, in#ormar su producto por sumas sucesivas.

Ej MI().* <ados +@ n6meros enteros, in#ormar el promedio de los mayores que 1@@ y la
suma de los menores que L1@.
Ej MI()/* En un torneo de #6tbol participan I equipos. El torneo se juega con el sistema de
todos contra todos. -or cada partido disputado por un equipo se dispone de la siguiente
in#ormacin :
a1 'ro. de equipo,
b1 7digo del resultado .M-MN -erdido, MEMN Empatado, MHMN Hanado1.
0e arma un lote de datos con todos los resultados del torneo, agrupados por 'ro. de equipo.
<esarrollar el programa que imprima:
- 1 -
Universidad Tecnolgica Nacional
Facultad Regional Buenos Aires
Ingeniera en Sistemas de Informacin
11 -or cada equipo, su n6mero y el puntaje total que obtuvo .suma ! si gana, y 1 si
empata1.
1 'ro. de equipo que totaliz la menor cantidad de puntos. ./ay solo uno1
III & "epeticin indefinida 6(n
Ej MI()0: *ngresar e in#ormar valores, mientras que el valor ingresado no sea negativo.
*n#ormar la cantidad de valores ingresados.
Ej MI()1* 0e ingresa un conjunto de valores reales, cada uno de los cuales representan el
sueldo de un empleado, excepto el 6ltimo valor que es cero e indica el #in del conjunto. 0e pide
desarrollar un programa que determine e in#orme:
a1 7untos empleados ganan menos A1.+@.
b1 7untos ganan A1.+@ o ms pero menos de A.23@.
c1 7untos ganan A.23@ o ms pero menos de A+.???.
d1 7untos ganan A+.??? o ms.
Ej MI()2: <ado un valor 5 determinar y emitir un listado con los 5 primeros m6ltiplos de
! que no lo sean de +, dentro del conjunto de los n6meros naturales.

III c "epeticin indefinida )(n
Ej MI()4: 9eescribir los algoritmos MI()0 al MI()2, utilizando ciclos 1-n
I# M$imos y M%nimos
Ej MI()5* <ados 1@ valores in#ormar el mayor
Ej MI(-6* <ados ' valores in#ormar el mayor, el menor y en que posicin del conjunto
#ueron ingresados.
Ej MI(-): <ado un conjunto de 'ombres y :ec/as de nacimientos .&&&&55<<1, que
#inaliza con un 'ombre N F:*'G, in#ormar el nombre de la persona con mayor edad y el de la
ms joven.
Ej MI(--4 <ado un conjunto de valores, que #inaliza con un valor nulo, determinar e
imprimir .si /ubo valores1:
a1 El valor mximo negativo
b1 El valor mCnimo positivo
c1 El valor mCnimo dentro del rango -12.! y ,.?
d1 El promedio de todos los valores4
- 1! -
Algoritmos y Estructura de Datos
digo !"#$!$%
Ej MI(-.: 0e dispone de un lote de valores enteros positivos que #inaliza con un n6mero
negativo. El lote est dividido en sublotes por medio de valores cero. <esarrollar un programa
que determine e in#orme:
a1 por cada sublote el promedio de valores
b1 el total de sublotes procesados
c1 el valor mximo del conjunto, indicando en que sublote se encontr y la posicin
relativa del mismo dentro del sublote
d1 valor mCnimo de cada sublote
'ota: el lote puede estar vacCo .primer valor negativo1, o puede /aber uno, varios o todos los
sublotes vacCos .ceros consecutivos1
Ej MI(-/: <ada una serie de 5 pares Ocolor, n6meroP que corresponden a los tiros de una
ruleta. 0e pide in#ormar:
a1 cuntas veces sali el n6mero cero y el n6mero anterior a cada cero
b1 cuntas veces seguidas lleg a repetirse el color negro
c1 cuntas veces seguidas lleg a repetirse el mismo n6mero y cul #ue
d1 el mayor n6mero de veces seguidas que salieron alternados el rojo y el negro
e1 el mayor n6mero de veces seguidas que se neg la segunda docenas
I# Ejercicios Integradores
Ej MI(-0* <ada una serie de caracteres que con#orman una oracin, donde cada palabra est
separada de la siguiente por un carcter blanco y la oracin #inaliza con un punto. 0e pide
in#ormar:
a1 cantidad de veces que apareci cada vocal
b1 cantidad de palabras que contiene la oracin
c1 cantidad de letras que posee la palabra ms larga.
Ej MI(-1* <ado un n6mero entero positivo entre 1 y !??? in#ormar su correspondiente
n6mero 9omano
Ej MI(-2* <ado un conjunto de valores enteros, calcular e in#ormar a1 cuntos valores cero
/ubo, b1 promedio de valores positivos, c1 sumatoria de valores negativos.
9esolver el ejercicio para los siguientes lotes de datos:
11 1,2 valores enteros
1 ' valores, donde el valor de ' debe ser leCdo previamente
!1 El conjunto de valores termina con un valor igual al anterior
"1 0e dan ' valores, pero el proceso deber #inalizar si se procesan todos los valores o si
la cantidad de ceros supera a cuatro
+1 0e dan ' valores, pero el proceso deber #inalizar si se cumple alguna de las
condiciones de "1 o si el promedio de positivos resulta mayor que seis.
- 1" -
Universidad Tecnolgica Nacional
Facultad Regional Buenos Aires
Ingeniera en Sistemas de Informacin
Ej MI(-4* El gobierno de la 7iudad de 8uenos &ires realiza una encuesta en casas
de #amilia. <e cada #amilia conoce: domicilio, tipo de vivienda .F7G:casa, F<G:departamento1, y
cantidad de integrantes.
<e cada integrante de la #amilia se conoce: nombre y apellido, edad, sexo .F:G, F5G1, nivel de
estudios alcanzados .F'G: no posee, F-G: primario, F0G: secundario, F=G: terciario, F$G:
universitario1, y un indicador .F*G: incompleto, F7G: completo1 que se re#iere al Ctem anterior.
>os datos #inalizan cuando la cantidad de integrantes sea igual a cero.
0e pide emitir un listado con los resultados:
a1 los datos de los encuestados que /ayan completado los estudios primarios
b1 el porcentaje de anal#abetismo en la ciudad .se considera anal#abetos a los mayores de
1@ a;os que no posean estudios1
c1 el domicilio de la #amilia con mayor cantidad de integrantes que viven en
departamento
d1 edad promedio de cada #amilia y de la ciudad
e1 cantidad de encuestados en cada tipo de nivel de estudios alcanzados incompletos.
#1 porcentaje de encuestados de sexo #emenino y masculino.
Ej MI(-5* $na compa;Ca a4rea desea emitir un listado con los movimientos mensuales de
sus 5 vuelos al exterior. -ara ello cuenta con la siguiente in#ormacin. <e cada vuelo
realizado el n6mero de vuelo, destino, y cantidad de asientos. <e cada pasajero el n6mero de
pasaporte y el importe que abon por el pasaje en dlares. >a in#ormacin #inaliza con un
n6mero de pasaporte igual a cero. 0e pide emitir el siguiente listado:
#I Su&programas
#I a 7unciones
Ej MI(.6* <esarrollar una #uncin que calcule el mximo com6n divisor de dos n6meros
enteros &, 8 con el siguiente algoritmo:
- 1+ -
'ro. de Quelo ???? <estino: xxxxxxxxxxxxxxxxx
'ro. de -asaporte *mporte en uAs
???????? ???.??
???????? ???.??
=otal recaudado del vuelo: ?????.??
B de &sientos >ibres del vuelo ???.??
B de &sientos )cupados del vuelo ???.??
=otal recaudado en el mes ??????.??
7antidad de veces seguidas que se dieron vuelos completos ??
El n6mero de vuelo que ms recaud ????
Algoritmos y Estructura de Datos
digo !"#$!$%
11 <ividir & por 8, y calcular el resto .@ R 9 R 81
1 0i 9 N @, el 57< es 8, si no seguir en !1
!1 9eemplazar & por 8, 8 por 9, y volver al paso 11
Ej MI(.)* <esarrollar una #uncin tal que dado un n6mero entero positivo calcule y retorne
su #actorial.
Ej MI(.-* <ada una serie de n6meros enteros, in#ormar:
a1 su #actorial
b1 cuantos m6ltiplos de !
c1 cuantos m6ltiplos de +
d1 cuantos m6ltiplos de ! y de +
$tilice las #unciones de ejercicios anteriores.
Ej MI(..* <ada la #raccin -ST, para - y T naturales in#ormar la mayor cantidad de
simpli#icaciones. <esarrolle y utilice una #uncin que reciba dos n6meros naturales y retorne el
menor #actor com6n. Ej: !,@S,@ N 13@S!@ N ?@S1+ N !@S+ N ,S1
#I & ,rocedimientos
Ej MI(./4 <ise;ar un procedimiento que imprima el cartel:
&RESI0NE ENTER
&ARA 0NTINUAR
Ej MI(.0* <esarrollar un procedimiento que imprima una #ec/a en #ormato <<S55S&&. El
dato que recibe es un longint con una #ec/a en #ormato aaaammdd.
.
Ej MI(.1* <esarrollar un procedimiento tal que dados una base y un exponente, enteros
positivos, calcule y retorne la potencia.
Ej MI(.2* <esarrollar un procedimiento tal que dada una #ec/a .&&&&55<<1 y un
n6mero natural que representa una cantidad de dCas, calcule y retorne la nueva #ec/a en tres
parmetros a;o .&&&&1, mes .551 y dCa .<<1 que resulte de incrementar al parmetro #ec/a
con el parmetro cantidad de dCas.
Ej MI(.4* <esarrollar un procedimiento tal que dada una /ora .%%55001 y un tiempo
tambi4n en #ormato %%5500 devuelva la nueva /ora que surge de sumar el tiempo a la /ora
inicial, considere tambi4n si cambi el dCa.
- 1, -
Universidad Tecnolgica Nacional
Facultad Regional Buenos Aires
Ingeniera en Sistemas de Informacin
#II Ejercicios integradores Su&programas
Ej MI(.5* $na bodega quiere lanzar una o#erta para terminar con el stocK de dos productos.
-ara ello cuenta con 8 cantidad de cajas de vino blanco y = cantidad de cajas de vino tinto.
<esea armar la mayor cantidad posible de paquetes con la o#erta y que todos los paquetes
tengan igual cantidad de cajas de vino blanco y de vino tinto.
0e pide in#ormar cuntos paquetes se podrn armar como mximo, y cuntas cajas de vino
blanco y cuantas de vino tinto contendrn cada uno.
$tilice la #uncin desarrollada en el Ej MI(.6
Ej MI(/6* <esarrollar:
a1 $na #uncin tal que dados tres n6meros naturales .x, y, z1 retorne el mCnimo com6n
m6ltiplo.
b1 $n procedimiento tal que dado un valor entero positivo retorne el cociente y el resto
de la divisin entera por ".
<esarrolle un algoritmo que resuelva la siguiente situacin problemtica: En una #brica
la sirena amarilla suena cada ( /oras, la sirena verde cada U /oras y la sirena azul cada V
/oras. 0i /oy a las % /oras sonaron las tres sirenas a la vez, in#ormar cuantos dCas y /oras
deben transcurrir como mCnimo para que las tres vuelvan a sonar juntas. &dems in#ormar el
dCa mes y a;o y /ora en que se producir la ocurrencia. $tilice los subprogramas desarrollados
en los puntos a1, b1, el procedimiento del Ej MI(.2, e invoque al procedimiento de -ascal
Hetdate.
Ej MI(/)* <e un censo realizado en una poblacin se conocen los siguientes datos:
- <Ca de nacimiento . dig.1
- 5es . dig.1
- &;o ." dig.1
- 0exo .M5MNmasc. M:MN#em.1
7on estos datos de cada /abitante se #orma un lote #inalizado con un dCa cero. <esarrollar el
programa que determine e imprima:
11 7untos nacimientos /ubo en el mes de octubre de todos los a;os.
1 7untos nacimientos /ubo antes del ? de julio de 1??@.
!1 7untos nacimientos de mujeres /ubo en la primavera del 1?3.
"1 0exo de la persona ms vieja .solo existe una1.
Ej MI(/-* $n buque de carga traslada 1@@ contenedores a tres di#erentes puertos del paCs.
>os puertos se identi#ican con los n6meros 1, y !.
<e cada contenedor que el buque traslade se registran los siguientes datos:
- *denti#icacin del contenedor
- -eso del contenedor en Kg
- -uerto de arribo.un valor de 1 a !1.
El ingreso de datos #inaliza con la identi#icacin de un contenedor igual a cero.
0e pide calcular e in#ormar:
- 12 -
Algoritmos y Estructura de Datos
digo !"#$!$%
11 El peso total que el buque debe trasladar
1 >a identi#icacin del contenedor de mayor peso
!1 >a cantidad de contenedores que debe trasladar a cada puerto
Ej MI(/.* <ado un conjunto de @ elementos, donde cada elemento son dos puntos que
representan las esquinas opuestas de un rectngulo x1, y1, x2, y2.
8x2, y2)

8x1, y1)
0e pide:
11 *n#orme el perCmetro de cada rectngulo que sea un cuadrado
1 &l #inal del algoritmo in#orme la cantidad de rectngulos ingresados que no
son cuadrados.
$tilice la #uncin abs .x1, que retorna el valor absoluto de x.
Ej MI(//* 0e realiza una inspeccin en una #brica de pinturas, y se detectaron algunas
in#racciones:
<e cada in#raccin se tom nota de los siguientes datos:
- =ipo de *n#raccin .1, , !, "1
- 5otivo de la in#raccin
- Qalor de la multa
- Hravedad de la in#raccin .F>G,F5G, FHG1
>os datos #inalizan con tipo de in#raccin igual a cero.
0e pide:
*n#ormar al #inal del proceso:
>os valores totales de la multa a pagar de acuerdo al tipo de gravedad.
>a leyenda W7lausurar #bricaX si la cantidad de in#racciones ! y " con gravedad
WHX sean mayor a !.
7ul #ue el motivo que corresponde a la in#raccin de menor valor.
Ej MI(/0* <esarrollar:
a1 $na #uncin que reciba un n6mero natural de " dCgitos en #ormato de %%55 que
corresponde a un tiempo determinado en /oras y minutos, retorne ese tiempo en
minutos.
b1 $n procedimiento que reciba el costo en pesos de un abono tele#nico, la cantidad de
minutos libres que incluye el abono, el cargo en pesos por minuto excedente y la
cantidad de minutos utilizados por un abonado, retorne la cantidad de minutos
- 13 -
Universidad Tecnolgica Nacional
Facultad Regional Buenos Aires
Ingeniera en Sistemas de Informacin
excedidos y el monto en pesos a abonar .costo del abono ms minutos excedidos por
el costo de minutos excedidos1 ms el 1B del valor del *Q&
<esarrolle un algoritmo que resuelva la siguiente situacin problemtica: =odos los #ines de
mes, una empresa de tele#onCa celular debe con#eccionar las #acturas con los consumos de
todos sus abonados, que se realizan en tres turnos de trabajo: 5a;ana, =arde y 'oc/e.
-ara ello se ingresar por teclado la siguiente in#ormacin de cada celular:
- '6mero de celular ? dCgitos . @ indica cambio de turno1
- 'ombre del abonado @ caracteres
- <ireccin del abonado + caracteres
- =iempo utilizado " dCgitos en #ormato %%55
- =ipo de abono .carcter, &, 8, 7, < o E1
<ependiendo del tipo de abono que se tenga, el usuario tiene cierta cantidad de minutos
libres, por los cuales no abona cargo extra, pero por cada minuto que se exceda debe
abonar una suma extra seg6n la siguiente tabla:
,lan A B C D E
7osto A2@ A++ A"@ A3 A1?
5inutos >ibres !@@ @@ 1@@ ,@ "@
7argo por minuto excedente A@.@? A@.1+ A@.1 A@.? A@.!2
Emitir el siguiente listado por cada turno:
*n#ormar por cada turno de trabajo:
El nombre del abonado que debe abonar la #actura ms costosa y el monto de 4sta.
El nombre y el n6mero de celular de la persona que realiz la mayor cantidad de minutos
excedentes, indicando cuntos #ueron.
&l #inal del dCa in#ormar:
El monto total #acturado
- 1? -
=urno 5a;ana
'ombre del &bonado <ireccin 5inutos libres 5inutos Excedidos 5onto =otal a &bonar
xxxxxxxxxxxx xxxxxxxxx ????? ????? A ????.??
xxxxxxxxxxxx xxxxxxxxx ????? ????? A ????.??
xxxxxxxxxxxx xxxxxxxxx ????? ????? A ????.??
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
=urno =arde
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
=urno 'oc/e
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
Algoritmos y Estructura de Datos
digo !"#$!$%
En que turno y en que orden dentro del turno apareci el abonado que utiliz la menor cantidad
de minutos en el mes.
$tilice los subprogramas a1 y b1.
- @ -
Universidad Tecnolgica Nacional
Facultad Regional Buenos Aires
Ingeniera en Sistemas de Informacin
Ane$o I* 9erramientas de ,rogramacin
Acciones :rficos ;enguaje ,ascal
7omienzo
C
8egin
E
s
t
r
u
c
t
u
r
a
s

s
e
c
u
e
n
c
i
a
l
e
s
*ngresar Qalores
-ista de
variaDles
9ead
9eadln
*n#ormar
Qalores
-iterales/ lista
de variaDles
Yrite
Yriteln
&signar Qalores

: N
. dos punto igual1
E
s
t
r
u
c
t
u
r
a
s

s
e
l
e
c
t
i
v
a
s
0eleccin simple
ond 6 eE24log
*#
0eleccin
m6ltiple
var 6 eE24arit 6 func
7ase o#
- 1 -
variaDle eE2resin
Algoritmos y Estructura de Datos
digo !"#$!$%
E
s
t
r
u
c
t
u
r
a
s

r
e
p
e
t
i
t
i
v
a
s
&cciones
de
repeticin
9epeticin
inde#inida
-re-condicin
ondicin 6 eE2r4 lgica
Y/ile do
9epeticin
de#inida o
exacta
Ff Fi
Far
#or
9epeticin
inde#inida
-ost-
condicin
ondicin 6 eE2r4lgica
9epeat until
0
u
b
a
l
g
o
r
i
t
m
o
s
Encabezamiento
NomDre Funcin 6 &rocedimiento
2ar'metros 6 ti2o de la funcin
:unction
-rocedure
9etorno del
subalgoritmo
Retorno
EndD
:in
F
End.
- -
Acciones :rficos ;enguaje ,ascal
Universidad Tecnolgica Nacional
Facultad Regional Buenos Aires
Ingeniera en Sistemas de Informacin
MEMORIA DEL COMPUTADOR
Tipo Pascal Tipo de dato Rango de valores que acepta Tamao en
!"tes
INTEGER entero #?$/A7" a ?$/A7A $
H0RD entero ! a 755?5 $
SI0RTINT entero #%$" a %$A %
BJTE entero ! a $55 %
-0NGINT entero #$/%8A/8"?/78" a $/%8A/8"?/78" 8
REA- real $4@E#?@ a %4AE?" 7
SING-E real %45E#85 a ?48E?" 8
IAR car'cter un car'cter %
STRING conKunto de
caracteres
Lasta $55 caracteres rango m's uno
B00-EAN Dooleano false o true %
- ! -