Parcial IC - 1997

Elegir y resolver 2 de los siguientes problemas

Dado un vector V de N (N>1) componentes y un entero positivo M < N, o sea:

V = [a(1),a(2),...,a(M),a(M+1),...,a(N)]

escribir un programa que lo lleve a la forma:

W = [a(M+1),a(M+2),...,a(N),a(1),...,a(M)]

o sea, si consideramos: A = [a(1),a(2),...,a(M)] y B = [a(M+1),a(M+2),...,a(N)]

podemos pensar que se trata de llevar el vector V = AB a la forma W = BA

Nota: Ningún otro vector adicional podrá usarse y deberá hacerse la menor cantidad de reordenamientos de los elementos de V. Llamamos "reordenamiento" a cada sentencia en la que se han intercambiado dos elementos de V.

Escribir un programa que permita ingresar un texto y luego lo reescriba eliminando los comentarios, entendiendo por comentario todo aquel texto que aparece entre paréntesis.

Así al ingresar el siguiente texto:

Juan (mi mejor amigo) regresa a la Argentina el día 20.

se debe reescribir:

Juan regresa a la Argentina el día 20.

Debe tenerse en cuenta que los comentarios pueden estar "anidados", como por ejemplo en el siguiente texto:

Carlos (el hermano de Juan (mi mejor amigo) que regresa a la Argentina el día 20) irá a esperarlo al aeropuerto.

En este caso, el programa debe producir la siguiente "salida":

Carlos irá a esperarlo al aeropuerto.

Para cada par de enteros positivos (m,n) podemos definir una función f de la siguiente manera:

f(m,n) = [(m+n-1).(m+n-2)/2] + n

Esta función tiene dos propiedades importantes, cuya validez demuestran los matemáticos:

n\m
1
2
3
4
5
1
1
2
4
7
11
2
3
5
8
12
 
3
6
9
13
   
4
10
14
     
5
15
       

veremos que lo que hace f es "numerar" los elementos de una matriz. Se trata entonces de escribir un programa que:

  1. permita el ingreso de un par (m,n) y calcule f(m,n), presentándolo en la pantalla
  2. permita el ingreso de un entero positivo k y determine el par (m,n) tal que f(m,n) = k.