1- C P¡Wcsta Tcórica - ¿-éé iQué signif ico, en el prototipo de uno función, lo palobro int entre los poréntesis después del nombre de lo mismo? (0,5 Pto.) 2) éCuál es lo diferencioentre Posor un porámetro por volor o referencio? (0,5 pio.) 3) iPor gué uno función tiene ol finol lo polobro return y un doto? (0,5 Pto.) 1) uno voriable es globol y cuondo locol? (0,5 pto.) gue se utilizon los funciones molloc y colloc? (0,5 pto.) iPoro f5) 1 O) ¿Qu¿ tipos de arch ivo se trobojon en C/ C,, y como se occede a ellosZ (0,5 pto.) *orchi;? (0,5 pto.) 7) ¿Qué reolizo lo siguiente sentencio: FILE \ 8) iQué realizo lo siguiente sentencio: typedef struct nodo *pNodo;? (0,5 pto.) 9) iQue hoc¿ el siguiente progroma? ( 1 pto.) -4) iCuóndo #include <stdio.h> #i¡clude int <conio.h> chor pru(int); char pru(int numero[ ;rü if(numero=0) if (numeroÚ) return 'P'; else return'N';) void moin(voidX clrscr0; printf("Ingrese un número: "); I W §-bpl^ !R/o, l,P num=O; sconf ("%i",&num); qJ*'- r5-^'"'lt^^-.+-{ü, A c4.(1C / =- o A!-pe.t- Ñ funo printf ("\n%c".pru(num)); getch0; F ) I 1O) Busgue los 4 errores y corrí¡olos poro gue el progromo funcione. Debe escribir 15 números en un orchivo (2 pto.) #include <stdio.h> #include <conio.h> lÉ-include <dos.h> void main([ = o á^--\ t*-,-'{¡ contidod=,0,; ', FILE *orchi; -, :[tn",l3=**^(,,archivo.txt,,,,'a**"); -----ror(contiloa j,,llliili,1'rl;n[#;]' ' -o z deloy(100); ¿L¡ +..) C--r1ti.otJ ) fclose(orch ivo); t -\) los núm¿ros dodos de olto en el progromo onterior (4 ptos.) 11) Complete el siguiente progromo Poro que <stdio.h> #include<conio.h> \ I #include ri,TH;,Í*" intcontidod=o: / ) :,Hi;*n'*'- ( "ot-{'-l'o { -1 ', of"tt -D qcÉ-¿l - { L-e"1+J c^--r1+J ca.-.^*\ai o' -/ 12) Expligue brevementegue reolizon los siguientes sentencios extroídos float *n=0; n=(ffoat *) malloc(sizeof (float) ) ; printf ("Ingrese un número real: ") ; scanf ("Bf ", & (*n) ) ,' free (n) ; \ f I , I tI-": fa _. ll I= ( ce)(\-t a" u) p.og.o^o "n ara**. ,, Oio L)i v 3(t Aq - f. T. S.- E. M. T. - fnformática Programación II - 2do'Año C. E. T. P. 18 de diciembre de 2009 Grupo: 2" ...... Escrito: Apellido: Oral: Nombre: A). ¿Qué es un puntero? . Es una variable que almacena la dirección de memoria de otra variable. B). ¿Para qué se utiliza el . & y el * (asterisco)? El & se utiliza para obtener Ia dirección de memoria de una variable. . EI * se utiliza para hacer referencia al valor de una variable apuntada o (asterisco) contenido o referenciada por un puntero. C). Diferencias entre el pasaje de parámetros por valor y por referencia. . En el pasaje por valor se pasa una copia del valor de una variable, al modificar su contenido'este no varia en el contexto original. . En el pasaje por referencia se pasa la dirección de memoria de una variable, al modificar su contenido este cambia en su contexto original. D). ¿Para qué se utiliza la sentencia #define ? . . Para definir valores constantes Ejemplo: #define LARGO 25 n lLl - I. T. S.- E. M. T. - Informátict Programación II - 2do'Año C. E. T. P. 18 de diciembre de 2009 E). ¿Para qué se utiliza Ia sentencia typedef ? o Para definir un nuevo tipo de dato a partir de un tipo de dato existente . F). Ejemplo: typedef int entero; Explique con un ejemplo la asignación dinámica de memoria. o int *a = NULL; // declaro un puntero . a = (int) malloc ( sizeof (int) ); // solicito memoria O . free(a); ll libero memoria lndique Ias sentencias necesarias para: 1. Declarar una estructura que permita almacenar tu nombre, apellido, grupo y nota. o struct datos { char nombre l29l; char apellido [20]; char grupo [4]; int nota; ); vl q - I. T. S.- E. M. T. - Informática Programación II - 2do'Año C. E. T. P. 18 de diciembre de 2009 2. Definir una función de nombre "ingresarDatos", que solicite el ingreso de nombre, apellido, grupo y nota. Estos datos deben almacenarse en el archivo "datos.bin". o void ingresarDatos ( ){ struct datos unDato; FILE *pArch = NULL; pArch = fopen ("datos.bin", "ab"); if (pArch == NULL) printf ("Error al abrir el archivo"); else{ printf("Nombre: "); gets(unDato. nombre); printf("Apellido: "); gets(u n Dato. apel lido); printf("Grupo: "); scanf("%os", unDato. grupo); printf("Nota: "); scanf("7od", &un Dato. n Nota); fwrite(pArch,sizeof(struct datos), 1, u n Dato); fclose ( pArch ); printf ("Datos ingresados"); )lL( - I. T. S.- E. M. T. - Informática Programacién II - 2do'Año C. E. T. P. 18 de diciembre de 2009 3. Declarar Ia estructura necesaria para implementar una Iista de tipo L.l.F.O. que permita almacenar tu nombre, apellido, grupo y nota. . struct datos { char nombre [20]; char apellido [20]; char grupo [4]; int nota; struct datos *siguiente; ); j§ (th )