Programacion ejercicios
Enviado por Daniel Hernandez • 29 de Agosto de 2015 • Trabajo • 4.492 Palabras (18 Páginas) • 222 Visitas
____________________________________________________________________________________
APELLIDOS:
NOMBRE:
CARRERA:
____________________________________________________________________________________
INFORMACION SOBRE LA FORMA DE REALIZAR EL EXAMEN
=====================================================
Después del enunciado de cada pregunta, existen cuatro opciones numeradas: 01) 02) 04) 08).
El alumno debe contestar cada pregunta colocando DOS cifras decimales en el recuadro RESPUESTA, que correspondan con la SUMA de las opciones que considere correctas.
Ejemplos:
-- Si se considera que son correctas las opciones 01) y 04), se contestará con:
RESPUESTA: | 0 | 5 |
-- Si se considera que son correctas las opciones 01), 02) y 08), se contestará con:
RESPUESTA: | 1 | 1 |
-- Si se considera que sólo es correcta la opción 08), se contestará con:
RESPUESTA: | 0 | 8 |
-- Si se considera que ninguna opción es correcta, se contestará con:
RESPUESTA: | 0 | 0 |
NOTA:
Suponer que en los códigos fuente de todos los enunciados están ya incluidos mediante directivas "include" todos los ficheros de cabecera que sean necesarios.
01) Indicar cual de las siguientes funciones es la que presenta por pantalla la cadena referenciada por "n", pero escrita al revés.
01) void escribir (char *n)
{ if (*n!=0) { escribir (n+1); putchar (*n); } }
02) void escribir (char *n)
{ if (*n!=0) { escribir (n++); putchar (*n); } }
04) void escribir (char *n)
{ if (*n!='\0') { escribir (n+1); putchar (*n); } }
08) void escribir (char *n)
{ if (*n!=0) { escribir (n+1); putchar (n); } }
RESPUESTA: |
____________________________________________________________________________________
02) Al ejecutar el siguiente programa:
main()
{
int a[8] = { 1,2,3,4,5,6,7,8 }, *p = &a[5], v;
v = (*p-- = 4);
printf ( "v=%d, a[5]=%d", v, a[5] );
}
01) Imprime v=4, a[5]=4, y el puntero "p" acaba apuntando a la dirección de a[4]
02) Imprime v=5, a[5]=4, y el puntero "p" acaba apuntando a la dirección de a[4]
04) Imprime v=4, a[5]=3, y el puntero "p" acaba apuntando a la dirección de a[4]
08) Imprime v=4, a[5]=5, y el puntero "p" no se modifica pues se decrementa el valor de a[5]
RESPUESTA: |
____________________________________________________________________________________
03) En el arbol binario de búsqueda siguiente: 4
2 10
1 3 8 12
¿en qué orden se han podido introducir los datos? 11 13
01) 4 2 10 12 8 11 13 1 3
02) 4 2 10 8 12 13 11 3 1
04) 4 2 10 11 8 12 1 3 13
08) 1 2 3 4 8 10 11 12 13
RESPUESTA: |
04) Completar la función siguiente para conseguir que se impriman números enteros en pantalla sin usar la función "printf":
void imprimir ( int N )
{
if ( N<0 )
{ putchar ('-'); N = -N; }
if ( N >= 10 )
/* COMENTARIO A SUSTITUIR */
putchar ( N%10 + '0' );
}
01) putchar ( N/10 + '0' );
02) imprimir ( N/10 );
04) imprimir ( N/10 + '0' );
08) putchar ( N/10 );
RESPUESTA: |
____________________________________________________________________________________
05) En un fichero en disco disponemos de las notas correspondientes a una determinada asignatura. Cada registro del fichero es de la forma: typedef struct r
{ char nombre[60];
float nota;
} tregnota;
Completar el desarrollo de la función "numregs" que recibe como argumento el nombre de un fichero y devuelve como resultado la cantidad de registros del tipo "tregnota" que contiene, o bien un 0 si no se puede abrir el fichero, sustituyendo el comentario indicado.
...