UNIVERSIDAD DEL ISTMO Programación Estructurada – Tercer Examen Parcial – 25/ENE/10 M.I.A Daniel Alejandro García López Alumno: ___________________________________________________ Evaluación Escrita: PORCENTAJE 80% CALIF_______ Taller de programación: PORCENTAJE 20% CALIF_______ Calificación final:______________________________________ _____________________________ I.- Verifique y corrija (lógica, sintáctica y semánticamente) el siguiente fragmento de código en lenguaje ANSI C. (16% máximo: 2% menos por cada error no corregido ). /*Programa que lee los datos de una persona, y los imprime en pantalla.*/ #include<stdio.h> /* Definición datos personales */ struct data { char nombre[10]; char direccion; int edad; }; /* Función que imprime datos relacionados con una persona */ void imprime( struct datos persona) { printf(''Nombre: %s \n'',pers.Nombre); printf(''Dirección: %s \n'',pers.Direccion); printf(''Edad: %d \n'',pers.Edad); } /* Función que captura los datos relacionados con una persona y los almacena en la variable pasada como parámetro de referencia */ void captura( struct datos *p) { printf("De el nombre: "); scanf("%s",(*p).nombre); printf("De la dirección: "); scanf("%s",(*p).direccion); printf("De la edad: "); scanf("%d",(*p).edad); } void main() { struct datos pers; imprime(&pers); pers=captura(pers); } I.- Conteste correctamente(lógica, sintáctica y semántica en el lenguaje ANSI C). 1. Son las variables que almacenan direcciones de memoria (2%). 2. Es la declaración correcta de un apuntador de tipo flotante en C, que apunta inicialmente a la variable Suma de tipo flotante (2%). 3. Son las sentencias correctas para reservar 20 espacios de memoria dinámica de tipo entero en una variable llamada cantidades (3%). 4. Es la declaración correcta de una estructura llamada usuario para almacenar el identificador(valor máximo 200,000), login (de tamaño máximo almacenable 20), password(de tamaño máximo almacenable 15), identificadorDeRol(valor máximo 1000),fechaDeAlta(de tamaño 10). Declare el tipo de dato correcto, y minimo(4%) 5. Es la instrucción correcta para crear el alias usr para la estructura usuario(2%). 6. Es la declaración correcta para reservar espacios de memoria dinámica para almacenar 18 bloques de tipo usr en una variable llamada listaDeUsuarios (5%) 7. Realice una función que reciba un arreglo de usr y lea sus atributos correspondientes a cada usuario, el tamaño del arreglo es dado como parámetro (10%). 8. Realice una función sin parámetros que retorne un tipo usr, dentro de la función capture los valores de los campos (10%) 9. Redimensione la variable listaDeUsuarios para que pueda almacenar 54 estructuras, sin perder la información contenida.(10%) 10. Declare la variable funDinamica que apunte a la función del ejercicio 8, y escriba la sentencia para llamar a la función por medio de esta variable. (6%) 11. Es la declaración correcta para reservar espacios de memoria para almacenar una tabla de tamaño desconocido (M x N) en tiempo de compilación, cada localidad de memoria debe poder almacenar nombres con longitud máxima de 30 caracteres. (10%).