Sei sulla pagina 1di 5

Universidad Nacional del Sur Primer Cuatrimestre 2013

Departamento de Ciencias e Ingeniera de la Computacin Resolucin de Problemas y Algoritmos

Trabajo Prctico N 13 Dividir para conquistar


Problema 3. Escriba un programa en Pascal que lea un archivo conteniendo una secuencia de pares de nmeros (N,M) y muestre en pantalla los pares de nmeros que no tienen la misma cantidad de dgitos, pero tienen el mismo dgito en la posici n m!s signi"icativa. Problema 4. #n diptongo es la uni n de dos vocales en una misma slaba. En espa$ol hay dos tipos de diptongos% los que est!n "ormados por dos vocales dbiles (i, u) y los que est!n "ormados por una vocal fuerte (a, e, o) y una dbil, sin importar el orden. Por e&emplo% la palabra 'ciudad( tiene el diptongo iu "ormado por dos vocales d)biles. *a palabra 'cuidado( tiene el diptongo ui "ormado por dos vocales d)biles. *a palabra 'cielo( tiene el diptongo ie "ormado por una vocal d)bil y una "uerte. *a palabra 'europeo( tiene el diptongo eu "ormado por una vocal "uerte y una d)bil (note que en esta palabra las vocales eo N+ "orman diptongo ya que ambas son "uertes. ,mplemente una soluci n recursiva y otra iterativa para el problema de ingresar una "rase terminada en punto y determinar la cantidad de diptongos que aparecen en la misma. Escriba un programa que veri"ique la correctitud de las soluciones para tres casos de prueba signi"icativos. Problema 5. -egn la .eal /cademia Espa$ola, la +rtogra"a es el con&unto de normas que regulan la escritura de una lengua. #na de estas normas, sobre el uso de la letra h, establece que se escribe siempre con h las palabras que comien0an con ia, ie, ue, ui. E&emplos% huele, hiena, hueso. 1uando no se respeta esta norma, decimos que la palabra tiene un error ortogr!"ico. /s, por e&emplo, las palabras uevo, uir tienen errores ortogr!"icos Escriba un programa en Pascal que, dado un archivo de te2to ParaCorregir.txt que contiene un a "rase, genere otro archivo de te2to -inErrores.t2t que contenga la misma "rase sin errores en el uso de la letra h. /dem!s se deber! mostrar por pantalla la cantidad de errores corregidos Por e&emplo, si ParaCorregir.txt tiene la "rase
la iena uele los uesos

el programa deber! generar el archivo Sin rrores.txt con la "rase


la hiena huele los huesos

y mostrar por pantalla


Se han corregido 3 errores ortogrficos

Problema !. 3ados dos archivos ma$ana.dat y tarde.dat conteniendo cada uno los registros y nombres de los alumnos que asisten a un instituto, generar un archivo nombres.dat con los datos de todos los alumnos. *os dos archivos originales est!n ordenados por registro y el archivo que se genera debe obtenerse intercalando ordenadamente los dos archivos originales. 1onsidere que el nmero de registro tiene siempre 4 dgitos y los nombres tienen siempre 56 caracteres (se completaron con blancos). Problema ". 3ados los archivos

Universidad Nacional del Sur Primer Cuatrimestre 2013

Departamento de Ciencias e Ingeniera de la Computacin Resolucin de Problemas y Algoritmos

Nombres.dat que contiene una lista "ormada por los nmeros de registro y los nombres de los alumnos de un instituto. El registro es un nmero de 4 dgitos y el nombre es una cadena de caracteres terminada en 7. 1arreras.dat que contiene una lista "ormada por los nmeros de registro y las carreras de los alumnos de un instituto. El registro es un nmero de 4 dgitos y la carrera es una cadena de caracteres terminada en 7. Escriba un programa un archivo datos.dat que contenga registro, nombre y carrera de cada alumno contenido en el archivo nombres.dat. El nombre y la carrera est!n separados por una coma. -i no se ha consignado la carrera de un alumno, se in"orma que no "igura. Por e&emplo
54894 /na Paula Pere07 9854: <uan =ome07 54>98 <os) =arca .obles7 5?498 Marina .osas 9854: 3erecho 54>89 1ontador Pblico 58888 3erecho 54894 ;armacia 5?498 ;armacia 54894 /na Paula Pere0, ;armacia 9854: <uan =ome0, no "igura 54>98 <os) =arca .obles, 1ontador Pblico 5?498 Marina .osas, ;armacia

Problema #. Escriba un programa con la misma "uncionalidad que el anterior pero asumiendo que los datos est!n ordenados en cada archivo por nmero de registro. Problema $. -uponga que cuenta con un archivo @alumnos/M5.dat@ de nmeros enteros que contiene el nmero de registro de todo alumno inscripto para cursar la materia /n!lisis Matem!tico 5. Aambi)n se dispone de 8 archivos adicionales con las notas que obtuvieron dichos alumnos en cada e2amen. *lamaremos 'parcial:.dat( y 'parcial5.dat( a los archivos que contienen las notas de los parciales y 'recu.dat( al archivo que contiene la nota del recuperatorio. 1ada archivo de notas almacenar! la in"ormaci n segn el siguiente "ormato 'registro nota registro nota B CE+;D(. *as notas solo podr!n ser valores enteros entre cero y die0, y todo registro que aparece en alguno de los archivos de notas deber! estar presente en el archivo de alumnos (estas propiedades no necesitan ser verificadas). -i un alumno no se presentara a rendir un parcial, su nro de registro no aparecera en el archivo correspondiente, por e&emplo, si el alumno >94?9 no viene al 5do parcial, dicho registro no aparecer! en el archivo 'parcial5.dat(. -e considera aprobado un e2amen si ha obtenido una nota mayor o igual a 9. Ninguno de los archivos se encuentra ordenado. -e solicita generar tres archivos donde uno de ellos contenga los registros de todos los alumnos que cursaron la materia (es decir, sacaron m!s de 9 en ambos parciales o aprobaron el recu) y el promedio obtenido entre todas sus notas, otro archivo que contenga los registros de aquellos alumnos que perdieron la materia y otro archivo con los nmeros de registro de los alumnos que estuvieron ausentes a todos los parciales. i) 3ivida el problema en subproblemas y haga un gr!"ico o esquema de su propuesta de dise$o para la soluci n. ii) 3escriba las "unciones y procedimientos necesarios identi"icando los par!metros de entrada y salida, agregando una breve descripci n del ob&etivo de la primitiva. iii) .ealice un programa en P/-1/* que resuelva el problema. No es necesario implementar las primitivas, simplemente deber! declarar los encabe0ados de cada una. Problema %&. 3ados los archivos ca&ero:.dat y ca&ero5.dat que contienen in"ormaci n re"erida a las e2tracciones reali0adas en dos ca&eros autom!ticos a lo largo de un da, genere un archivo

Universidad Nacional del Sur Primer Cuatrimestre 2013

Departamento de Ciencias e Ingeniera de la Computacin Resolucin de Problemas y Algoritmos

e2tracciones.dat que incluye a todas las e2tracciones. 3e cada e2tracci n se mantiene la hora de la operaci n, c digo de la cuenta (? dgitos) y el monto e2trado. *a hora se representa como un par horas, minutos y los dos archivos est!n ordenados de acuerdo a las horas y minutos. El archivo e2tracciones debe generarse intercalando ordenadamente los dos archivos dados. Problema %%. El perodo de un caracter se de"ine como la distancia entre dos apariciones del mismo. Por e&emplo, si tiene la siguiente secuencia 'parte de la tra0a es traba&osa.( El perodo de t es E que es la cantidad de caracteres que separan las t. 1uando se considera el caracter a se observa que e2isten varios ocurrencias con di"erentes perodos E, 8, :, 9, : y 8 (obs)rvese que s lo mide la distancia de un caracter al pr 2imo inmediato id)ntico, pero no se mide la distancia entre cualquier par, por e&emplo, la distancia entre la a de Parte y la a de tra'a no se mide). 3iremos que un (ara(ter es peri)di(o si ocurre siempre con la misma periodicidad. 1onsidere que se dispone de dos archivos 'valores.in( y 'registro.dat(, donde 'valores.in( registra que elementos aparecen en 'registro.dat(. Por e&emplo, para la secuencia de arriba el archivo 'valores.in( contendra los siguientes valores 'p a r t e d l 0 s b & o .(. a) .ealice un programa que muestre todos los caracteres peri dicos (&unto con su periodicidad) a basado en los datos de 'registro.dat( pudiendo ayudarse del archivo 'valores.in(. b) .ealice un procedimiento que reciba como entrada un archivo que contiene una secuencia de caracteres y genere otro archivo 'valores.in( que contenga nicamente los caracteres que apare0can en el archivo provisto, con la particularidad que cada car!cter aparecer! solo una ve0. Por e&emplo, el car!cter a aparecer! solo una ve0 en 'valores.in( a pesar que en la secuencia aparece reiteradas veces y el car!cter u no aparecer! ya que no se encuentra en la secuencia ingresada Problema %*. Escribir un programa que permita mostrar por pantalla la ho&a de almanaque correspondiente a una "echa dada. Por e&emplo, la ho&a de almanaque correspondiente al :4F::F:5 es NOVIEMBRE 2012 Lun 4 11 18 25 Mar 5 12 19 26 Mie 6 13 20 27 Jue 7 14 21 28 Vie 1 8 15 22 29 Sab 2 9 16 23 30 Dom 3 10 17 24

El usuario deber! ingresar la "echa y el da de la semana en que comen0 el a$o, validar la "echa ingresada y respetar el "ormato de impresi n Problema %3. #na empresa desea transmitir datos va tele" nica, pero le preocupa que sus tel)"onos pudieran ser intervenidos. Aodos los datos se transmiten como nmeros naturales. *a empresa le ha pedido que escriba un programa que realice la encriptaci n de los datos para que pueda transmitirlo de "orma segura.

Universidad Nacional del Sur Primer Cuatrimestre 2013

Departamento de Ciencias e Ingeniera de la Computacin Resolucin de Problemas y Algoritmos

*a encriptaci n consistir! en reempla0ar cada dgito por la suma de ese dgito m!s G, y al resultado aplicar luego el m dulo :6. / continuaci n se proceder! a intercambiar cada dgito que ocupe una posici n par con el digito anterior que ocupe una posici n impar. *as posiciones se cuentan desde la posici n del dgito menos signi"icativo.

Nro. +riginal

: H G E FF :6 E

5 G > :6 > 5

4 G :5 :6 5 >

> G :9 :6 9 :

? G :: :6 : 9

Nro. Encriptado

,ntercambio

.ealice un programa que dado un archivo de te2to conteniendo nmeros enteros datos.txt, genere otro en(rip.txt que contenga la correspondiente encriptaci n de cada uno de los nmeros. 3escomponga adecuadamente el problema en subproblemas m!s sencillos. Problema %4. *a representaci n de polinomios m!s comnmente utili0ada en los te2tos es la que utili0a listas
de coeficientes la cu!l representa cada polinomio mediante el siguiente "ormato%

P ( X ) = a n x n + a n1 x n1 + K + a1 x1 + a 0 x 0 = a i x i
i=0

#n m)todo alternativo para representar polinomios es usando la regla de Iorner que representa cada polinomio mediante el siguiente "ormato%

P( X ) = ((K ((a n x) + a n 1 ) x) + L + a1 ) x + a 0 )
Escribir un planteo recursivo y una "unci n recursiva para evaluar un polinomio usando la regla de Iorner considerando que el usuario ingresar! una secuencia donde el primer valor corresponder! a J y los valores sucesivos corresponder!n a los coe"icientes a n , a n 1 , K , a1 , a 0 y la secuencia termina al encontrar un 6. Por ejemplo, suponga que se ingresa la secuencia: 2 5 3 15 6 0 entonces dicha secuencia corresponde al polinomio: 5 23 + 3 22 + 15 21 + 6 20

Problema %5. 3ada las siguientes de"iniciones recursivas%


. Frase

Frase

Palabra Palabra

Palabra

vacia Caracter Palabra

,mplemente un procedimiento recursivo para leer una "rase terminada en punto y contar la cantidad de palabras de dicha "rase. Por ejemplo, si la frase ingresada es !ue lindo d"a# de$er% devolver 3, & si la frase fuera '#( de$er% devolver 0#

Universidad Nacional del Sur Primer Cuatrimestre 2013

Departamento de Ciencias e Ingeniera de la Computacin Resolucin de Problemas y Algoritmos

+er(i(io %3. Escriba una soluci n iterativa y una recursiva para resolver el problema de imprimir una media pir!mide de dgitos como se muestra en la siguiente "igura.
1 21 321 4321 54321 654321 7654321 87654321 987654321

+er(i(io %4. Escribir un programa que dado un dgito imprima un mo$o como los que muestran los e&emplos. Notar que el dgito dado debe quedar en la posici n central. Para el dgito 4 debe imprimirse : > :5 E> :58 GE> :58? 9GE> :58?59GE> :58? 9GE> :58 GE> :5 E> : > Para el dgito 8 debe imprimirse : 4 :5 ?4 :53?4 :5 ?4 : 4

Potrebbero piacerti anche