Certamen 1 Lenguaje de Programación 2011-1         Prof.: Jorge López R.

1) (1.pto.) Determina lo que imprime el siguiente programa (debes dejar trazado):

int x[6]={1,2,3,4,5,6};
main(){
      int i, s=0;
      for(i=0; i<6; i=i+1){
           x[i]=x[i]+s;
           s=x[i];
      }
      printf("%i\n",s);
}

2) (1 pto.) Explique si eligiendo valores adecuados para inicializar el arreglo puede el siguiente programa imprimir:
menor: 1

int r[2][2]={-------};
main(){
   int i,j,aux, menor =0;
   for(i=0;i<2;i++){
      for(j=0;j<2;j++){
          if (r[i][j]<menor) {
                   aux=menor;
                   menor=r[i][j];
                   r[i][j]=aux;
         }
      }
    }
    printf("menor: %i\n",menor);
}

3) Determina lo que imprime el siguiente programa (debes dejar trazado):

int a=0;
void haceAlgo(int x, int y){
        if (x > y) a =a+y;
        else if (x <y) a = a+x;
        else a=x - y;
}
main(){
      haceAlgo(5, 4);
      haceAlgo(5, 4+a);
      printf("el valor de a es: %i\n", a);
}

4) (1 pto.) Construye la tabla de trazado (ruteo)  y escribe el contenido de z[][], del siguiente programa
#include <stdio.h>
#define FC 3
int x[2][3]={1,2,3,
4,5,6};
int y[2][3]={1,4,7,
2,5,8};
int z[2][3];
main(){
int i,j;
for(i=0;i<2;i++){
for(j=0;j<3;j++){
if((x
[i][j]+y[i][j])%2!=0) z[i][j]=1;
else
z[i][j]=0;
}
}
}

5) (1 pto.) Marca con una x la(s) líneas(s) del programa que se ejecuta(n) para los valores de edad que se indican en cada columna en la tabla:


valores para edad

2
11
15
6
33
  scanf("%s %d",nombre,&edad);





   if(18<=edad && edad <26)





     printf("%s esta en la U\n",nombre);





   else if(11<=edad && edad <18)





     printf("%s esta en la Media\n", nombre);





   else if(edad<11 && edad >=6)





      printf("%s esta en la Basica\n",nombre);





    if(edad!=8)





        printf("no tiene 8\n");






5) (1 pto.) Crear el cuerpo de la función  que compara dos mitades de un arreglo que tiene un numero par de elementos (espejo, palíndrome). La función debe retornar un entero con el resultado:  0, si son distintos; 1 si son iguales.
Ejemplo:
float x[8]={1.8, 1.7, 1.6, 1.5, 1.5, 1.6, 1.7, 1.8};
main(){
    int x;
    x=sonIguales();
}
 
x debe tener: 1