integrador011.pdf

Anuncio
Cátedra de Informática II – Escuela de Ingeniería Electrónica
Examen Integrador 2011
Apellido y nombre:
Legajo
________________________________________________________________________________________________
1.
Escribir una función concat_array() que concatene dos arreglos de punteros a caracteres, a1 y a2. La
función debe devolver un puntero al arreglo concatenado.
2.
Explique que produce la función crypt():
3.
¿Para que sirve una clase en un programa C++?
4.
Suponga dos clases A y B donde B deriva de A. Indique verdadero o falso:
string crypt(string value,string key) {
string retval(value);
short unsigned int klen=key.length(), vlen=value.length();
short unsigned int k = 0,v = 0;
for( v; v < vlen; v++) {
retval[v] = value[v] ^ key[k];
k = ( ++k < klen ? K : 0);
}
return retval;
}
Consigna
Verdadero
Falso
Una función miembro de B NO PUEDE invocar una función miembro de A
Una función miembro de B NO PUEDE invocar un constructor privado de A
Una función miembro de A NO PUEDE acceder a los campos protected de B
Una función miembro de B NO PUEDE invocar al destructor de A
5. Usando sólo punteros escribir una función swap_buffers() que dadas dos direcciones de memoria y una
longitud intercambie los contenidos.
6.
Analice la siguiente función. Explique que hace y si tiene errores, corríjalos.
int file_lines(infi) {
ofstream input_file(infi);
char c;
int count = 0;
while(input_file.getline(c))
if(c == '\n')
count++;
return count-1;
}
7.
Dado un archivo de datos llamado “base.dat”, escriba una función que lea del archivo 10 números reales y
escriba a continuación el promedio de esos números conservando los datos originales.
8.
Escriba una función show_data() que lee datos de un archivo “mediciones.dat” y los muestre en pantalla,
línea a línea. El archivo “mediciones.dat” tiene el siguiente formato:
int nro_med double med char[] etiqueta char validez
9.
Si nro_med es igual a -1 la línea debe omitirse.
Indicar la salida exacta que produce el siguiente programa:
main(){
}
int n = 3;
while (n >= 0) {
cout << n * n << endl;
--n;
}
cout << n << endl;
while (n < 4)
cout << ++n << endl;
cout << n << endl;
while (n >= 0)
cout << (n /= 2) << endl;
return 0;
10. Explique las características de los constructores y su importancia para la programación orientada a objetos en
C++
Descargar