Está en la página 1de 2

Pontificia Universidad Javeriana

Departamento de Ingeniería de Sistemas


Fundamentos de Programación
Primer Parcial Conjunto – Marzo 15 de 2008

1. (20%) Para cada uno de los siguientes programas, indique qué es lo mostrado en pantalla. 
a. #include <iostream> b. #include <iostream>
   

using namespace std;  using namespace std; 
     

int main()  int main() 
{  { 
    int i,j,k;      int x=1,i, a1=1,b1=7,c1=3,d1=2, max = (b1 + c1)/d1; 
 
    for (i=1; i<=4; i++) 
    while (x < max) 
        for (j=1; j<=8; j++) 
    { 
  {  
        cout<<x; 
            for (k=1; k<=j; k++) 
        if (x%5 == 0) 
                cout<<'*'; 
        { 
            cout<<endl; 
            a1=b1*c1+x/d1‐a1; 
  } 
      cout<<a1<<" "; 
    return 0;   
        }else 

            for(i=1;i<=4;i++) 
                cout<<"*"; 
      x++; 
    } 
    return 0; 

2. (40%)  El  reglamento  de  pesca  de  Saskatchewan  impone  un  límite  a  la  cantidad  total  permitida  de 
kilos en un día de pesca. Suponga que se planea llevar un computador portátil en la siguiente salida 
de pesca y se necesita un programa que indique cuando se ha excedido dicho límite. Diséñese un 
programa que primero lea el límite (en kilos) y que en seguida lea los valores de entrada uno tras 
otro (corresponderán a los pesos individuales de las presas pescadas en el orden que se obtienen) e 
imprima un mensaje en el momento en que el límite haya sido excedido. Un peso 0 indica el fin de 
datos (en caso de que no se alcance a sobrepasar el límite). Después de que cada pescado haya sido 
registrado, el programa deberá imprimir el peso total que se lleva hasta ese momento. 
 

El  programa  deberá  imprimir  al  final  si  se  llegó  o  no  al  límite  establecido.  Adicionalmente,  debe 
imprimir cuantos peces se atraparon en esa salida. 
 

3. (40%)El banco del Tío Rico tiene la información de saldos y movimientos de las cuentas para el cierre 
durante un determinado mes, de la siguiente manera: 
 

- Los datos de las cuentas se encuentran agrupados por número de cuenta. 
- Por  cada  movimiento  (depósito  o  retiro)  que  se  efectúa  en  la  cuenta  se  registra:  el  número  de  la 
cuenta (un entero), tipo de movimiento (un carácter que puede ser ‘D’ ó ‘R’ según sea depósito o 
retiro respectivamente) y el valor en pesos del movimiento (un entero siempre mayor que cero). 
- Cuando  se  inicia  el  grupo  de  datos  de  una  cuenta,  después  del  último  movimiento  de  la  cuenta 
inmediatamente anterior, aparece el tipo de movimiento ‘S’ que indica saldo al inicio del mes y el 
valor en pesos de dicho saldo. 
- Un Número de cuenta 0 indica fin de datos. 
 

Un ejemplo de los datos es el siguiente: 
 

N° CUENTA  TIPO TRANSACCION VALOR TRANSACCIÓN 

17844 S $ 500,000 
17844 R $ 100,000 
17844 R $ 50,000 
15202 S $ 1,000,000 
15202 D $ 200,000 
15202 D $ 150,000 
15202 R $ 300,000 
23547 S $ 5,000,000 
41236 S $ 2,000,000 
41236 D $ 250,000 
41236 R $ 100,000 
51856 S $400,000 
51856 R $500,000 
0   
 

Note que puede haber cuentas sin movimiento en el mes (ej: cuenta 23547). 
 

Usted debe realizar un programa que procese los datos de cierre del mes, y cada vez que se termine de leer 
el grupo de datos de una cuenta, produzca los siguientes resultados: 
 

a. (15%) Imprimir el número de la cuenta y el nuevo saldo después del cierre.  
b. (10%) Informar si en la cuenta se retiró más allá de lo disponible. En este caso, imprima un mensaje 
de sobregiro indicando el valor correspondiente al sobregiro (ver ejemplo).  
 

Al finalizar el procesamiento de todos los grupos de cuentas, su programa debe: 
c. (15%)  Indicar  cual  fue  el  porcentaje  de  cuentas  que  no  tuvieron  movimientos  en  el  mes.  Para  el 
ejemplo anterior, su programa debe imprimir que el porcentaje de cuentas sin movimientos es del 
20%.  
 

Para el ejemplo, el resultado sería el siguiente: 
 

Nro Cuenta 17844  Saldo Final: 350.000 
Nro Cuenta 15202   Saldo Final: 1.050.000 
Nro Cuenta 23547   Saldo Final: 5.000.000 
Nro Cuenta 41236  Saldo Final: 2.150.000 
Nro Cuenta 51856  Saldo Final: ‐100.000    Sobregiro de $100.000 
 
Porcentaje de cuentas sin movimiento: 20% 

Tiempo máximo 2 horas.

También podría gustarte