Está en la página 1de 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. . !. ". +. ,. 2. 3. 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. Compilacin: ejecucin del programa compilador del lenguaje -ascal que traduce el programa #uente en un programa ejecutable .arc/ivo.E(E1. 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. Estructuras Selecti!as: 0eleccin 0imple. 0eleccin 56ltiple. Expresiones lgicas. )peradores de relacin. )peradores lgicos. Estructuras anidadas. Tipos de datos 7arcter, 8ooleano o lgico. Estructuras "epetiti!as: 9epeticin de#inida o exacta. 9epeticin inde#inida -recondicin. 9epeticin inde#inida -ost-condicin Estructuras anidadas. M$imos y M%nimos. Tipos de datos &l#anum4ricos .7adenas de caracteres1. Ejercicios Integradores Su&programas 0ubprogramas estndar. :unciones y procedimientos desarrollados por el usuario. -armetros por valor y por re#erencia. &rgumentos. *nvocaciones. Ejercicios Integradores Su&programas

II III I#
# #I I

- -

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 -un n6mero entero identi#icaremos como & -otro n6mero entero identi#icaremos como 8 que que De Salida - 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*
7omienzo del algoritmo
) Ingrese un n*mero entero A ) Ingrese un n*mero entero B SU(A+# A,B ) -a suma es. )/ SU(A DIF +# A#B )-a diferencia es.)/ DIF &R0D +# A1B )El 2roducto es.)/ &rod F

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 1+ , & 1+ 8 , 5emoria 0$5& 1 <*: ? 5onitor -9)< *ngrese un n6mero entero 1+ ?@ *ngrese un n6mero entero , >a suma es: 1 >a di#erencia es: ? El producto es: ?@

Codificacin en ,ascal*
Program MI1; { Comentario } Var A,B,SUMA,DIF,PROD:integer; Begin writeln !Ingre"e #n n#mero entero!$; rea%ln A$; writeln !Ingre"e #n n#mero entero!$; rea%ln B$; 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

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

) Ingrese im2orte de la com2ra) I(& )% cuota de 3 )/ I(&.%!.$ I(&$ +# I(& 1 %4!5 6 $ )$ cuotas de 3 )/ I(&$.%!.$ ) total 3)/ I(&$ 1 $.%!.$/)9 5: de recargo;) I(&7 +# I(& 1 %48! 6 7 )7 cuotas de 3 )/ I(&7.%!.$ ) total 3)/ I(&7 1 7.%!.$/)9 8!: de recargo;) F

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: II a 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 -un n6mero entero que identi#icaremos como & -otro n6mero entero que identi#icaremos como 8 De Salida 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*
7omienzo
) Ingrese un n*mero entero 2ositivo A ) Ingrese un n*mero entero 2ositivo distinto al anterior B

*ngreso de datos

A<B
)El mayor es )/ A )El mayor es )/B

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 !+ 1, 5emoria & !+ 8 1, 5onitor *ngrese un n6mero entero positivo !+ *ngrese un n6mero entero positivo distinto al anterior 1, El mayor es: !+

Codificacin en ,ascal*
Program MI0; #"e" +rt; 1ar a,2:wor%; Begin +lr"+r; writeln !Ingre"e #n n#mero entero .o"iti1o!$; rea%ln a$; writeln !Ingre"e #n n#mero entero .o"iti1o %i"tinto al anterior!$; rea%ln 2$; 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 - un valor entero 5E0 - otro valor entero &'*)

De Salida 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*
7omienzo
) Ingrese mes como un valor entre % y %$) (ES ) Ingrese el a=o como un n*mero de 8 dgitos) ANI0

*ngreso de datos

(ES %/?/5/A/"/%!/%$ DIA+#?% $ 8/ 7/ @/ %% DIA +# ?!

ANI0 (0D 8 > ! DIA +# $@ DIA +# $"

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

)El mes )/(ES/) del a=o )/ANI0/) tiene )/DIA/) das) F

-3-

Universidad Tecnolgica Nacional Facultad Regional Buenos Aires Ingeniera en Sistemas de Informacin

Seguimiento
=eclado 3 @@! 5E0 3 5emoria &'*) @@! <*& !1 5onitor *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 *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

11 @@!

11

@@!

!@

@@" @@"

Codificacin en ,ascal*
Program MI6; 7omienzo #"e" +rt; 1ar me",%ia:25te; anio:wor%; Begin +lr"+r; writeln !Ingre"e me" +omo #n 1alor entre 1 5 17!$; rea%ln me"$; writeln !Ingre"e el a8o +omo #n n#mero %e 9 %igito"!$; rea%ln anio$; En caso que 5E0 sea +a"e me" o* igual a 1 ! + 2 3 1,:,0,;,6,1<,17: %ia:&:1; 1@ 1 : asignar !1 a <ia 7: i* anio MOD 9 & < igual a : si el a;o es t4en %ia:& 7= divisible por " asignar ? a el"e %ia:& 76; <*&, de lo contrario 9,>,=,11: %ia:&:<; asignar 3 en%; " , ? 11: asignar !@ writeln !-l me" !,me",! %el a8o !,anio,! tiene a <ia !,%ia,! %ia"!$ :in en%/

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*


7omienzo
) Ingrese un valor numBrico) N% ) Ingrese un segundo valor numBrico) N$ ) S. Sumar los dos n*meros) )R. Restar los n*meros) ) (. (ulti2licar los dos n*meros) ) Seleccione una o2cin.) 0& I0N

*ngreso de datos

0& I0N )S)/ )s) S+#N% , N$ )Suma . )/S )R)/ )r) R +# N% #N$ )Resta . )/R )()/ )m) ( +# N% 1 N$ )(ult. )/( )Error en o2cin de lo contario

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 '9) 1@@ n6meros

sin datos de entrada

0$5& de los 1@@ n6meros naturales

Estrategia* Henerar los 1@@ n6meros naturales, acumular la suma e in#ormarlos

"epresentacin grfica del algoritmo*


7omienzo
)-os %!! 2rimeros numeros naturales son) SU(A+## !

*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

C % %!!

SU(A+## SU(A , C

)-a sumatoria de los %!! 2rimeros numeros naturales es. )/ SU(A F

- 11 -

Algoritmos y Estructura de Datos digo !"#$!$%

Seguimiento
=eclado 1 ! ..... 1@@ 1@1 5emoria I 0$5& @ 1 ! , ....... 5onitor >os 1@@ primeros n6meros naturales son 1 ! ....... 1@@ >a sumatoria de los 1@@ primeros n6meros naturales esJJ.

Codificacin en ,ascal*
Program MI11; 7omienzo #"e" +rt; 1ar ?:25te; "#ma:longint; Begin +lr"+r; writeln @(o" 1<< .rimero" nAmero" nat#rale" "on@$; "#ma :& <; *nicializar suma en @ *or ? :& 1 to 1<< %o 9epetir desde 1 /asta 1@@ con 2egin incremento de a 1 "#ma :& "#ma ' ?; o &cumular contenido de K writeln ? $; en suma en%; o 5ostrar K writeln @(a "#matoria %e lo" 1<< .rimero" n#mero" nat#rale" e"@, "#ma$ 5ostrar sumatoria en%/ :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:
'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 ????

#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+ -

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:
$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. a1

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 7osto 5inutos >ibres 7argo por minuto excedente A A2@ !@@ A@.@? B A++ @@ A@.1+ C A"@ 1@@ A@. 1 D A 3 ,@ A@. ? E A1? "@ A@.!2

Emitir el siguiente listado por cada turno:


=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

*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? -

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 7omienzo

:rficos C

;enguaje ,ascal 8egin

Estructuras secuenciales

*ngresar Qalores

-ista de variaDles

9ead 9eadln

*n#ormar Qalores

-iterales/ lista de variaDles

Yrite Yriteln

&signar Qalores

variaDle eE2resin

:N . dos punto igual1

ond 6 eE24log

0eleccin simple Estructuras selectivas

*#

0eleccin m6ltiple

var 6 eE24arit 6 func

7ase o#

- 1-

Algoritmos y Estructura de Datos digo !"#$!$%

Acciones

:rficos
ondicin 6 eE2r4 lgica

;enguaje ,ascal

9epeticin inde#inida -re-condicin

Y/ile do

Estructuras repetitivas

&cciones de repeticin

9epeticin de#inida o exacta

Far Fi Ff

#or

9epeticin inde#inida -ostcondicin


ondicin 6 eE2r4lgica

9epeat until

0ubalgoritmos

Encabezamiento

NomDre Funcin 6 &rocedimiento 2ar'metros 6 ti2o de la funcin

:unction -rocedure

9etorno del subalgoritmo :in

Retorno

EndD

End.

Universidad Tecnolgica Nacional Facultad Regional Buenos Aires Ingeniera en Sistemas de Informacin

MEMORIA DEL COMPUTADOR Tipo Pascal INTEGER H0RD SI0RTINT BJTE -0NGINT REASING-E IAR STRING B00-EAN Tipo de dato entero entero entero entero entero real real car'cter conKunto de caracteres Dooleano Rango de valores que acepta #?$/A7" a ?$/A7A ! a 755?5 #%$" a %$A ! a $55 #$/%8A/8"?/78" a $/%8A/8"?/78" $4@E#?@ a %4AE?" %45E#85 a ?48E?" un car'cter Lasta $55 caracteres false o true Tama o en !"tes $ $ % % 8 7 8 % rango m's uno %

- !-

También podría gustarte