Introducció
L'avaluació final del curs de Programació en C té com a objectiu consolidar i avaluar els coneixements adquirits al llarg dels diferents mòduls. Aquesta avaluació consistirà en una sèrie de preguntes teòriques i exercicis pràctics que cobriran els temes clau del curs. A més, es proporcionarà una rúbrica d'avaluació per ajudar-te a comprendre com es valoraran les teves respostes.
Estructura de l'Avaluació
L'avaluació final es dividirà en dues parts principals:
- Preguntes Teòriques: Aquestes preguntes avaluaran la teva comprensió dels conceptes fonamentals de la programació en C.
- Exercicis Pràctics: Aquests exercicis requeriran que escriguis codi per resoldre problemes específics, aplicant els coneixements adquirits durant el curs.
Preguntes Teòriques
Les preguntes teòriques cobriran els següents temes:
- Tipus de dades i variables
- Flux de control
- Funcions
- Arrays i strings
- Punteres
- Estructures i unions
- Assignació dinàmica de memòria
- Gestió d'arxius
- Temes avançats (directives del preprocessador, arguments de línia de comandes, etc.)
Exemple de Preguntes Teòriques
- Quina és la diferència entre una variable i una constant en C?
- Explica la diferència entre
malloc
icalloc
. - Què és un punter a punter i com es declara?
- Descriu el funcionament d'una estructura en C.
Exercicis Pràctics
Els exercicis pràctics requeriran que escriguis codi per resoldre problemes específics. A continuació es presenten alguns exemples d'exercicis pràctics:
Exercici 1: Invertir una Cadena
Escriu una funció en C que inverteixi una cadena de caràcters.
#include <stdio.h> #include <string.h> void invertirCadena(char *cadena) { int longitud = strlen(cadena); for (int i = 0; i < longitud / 2; i++) { char temp = cadena[i]; cadena[i] = cadena[longitud - i - 1]; cadena[longitud - i - 1] = temp; } } int main() { char cadena[] = "Hola, món!"; invertirCadena(cadena); printf("Cadena invertida: %s\n", cadena); return 0; }
Exercici 2: Gestió Dinàmica de Memòria
Escriu un programa en C que llegeixi una sèrie de nombres enters des de l'entrada estàndard, els emmagatzemi en un array dinàmic i calculi la seva mitjana.
#include <stdio.h> #include <stdlib.h> int main() { int n; printf("Introdueix el nombre d'elements: "); scanf("%d", &n); int *array = (int *)malloc(n * sizeof(int)); if (array == NULL) { printf("Error en l'assignació de memòria\n"); return 1; } printf("Introdueix els elements:\n"); for (int i = 0; i < n; i++) { scanf("%d", &array[i]); } int suma = 0; for (int i = 0; i < n; i++) { suma += array[i]; } printf("La mitjana és: %.2f\n", (float)suma / n); free(array); return 0; }
Rúbrica d'Avaluació
La rúbrica d'avaluació es dividirà en les següents categories:
- Comprensió dels Conceptes: Avaluació de la comprensió dels conceptes teòrics.
- Correcció del Codi: Avaluació de la correcció i funcionalitat del codi escrit.
- Eficàcia del Codi: Avaluació de l'eficiència i l'ús adequat dels recursos.
- Estil i Llegibilitat del Codi: Avaluació de la claredat, comentaris i estil del codi.
Puntuació
Categoria | Puntuació Màxima |
---|---|
Comprensió dels Conceptes | 30 |
Correcció del Codi | 30 |
Eficàcia del Codi | 20 |
Estil i Llegibilitat del Codi | 20 |
Total | 100 |
Conclusió
L'avaluació final és una oportunitat per demostrar els teus coneixements i habilitats en programació en C. Assegura't de revisar tots els mòduls del curs i practicar amb els exercicis proporcionats. Bona sort!
Curs de Programació en C
Mòdul 1: Introducció al C
- Introducció a la Programació
- Configuració de l'Entorn de Desenvolupament
- Programa Hello World
- Sintaxi i Estructura Bàsiques
Mòdul 2: Tipus de Dades i Variables
Mòdul 3: Flux de Control
Mòdul 4: Funcions
- Introducció a les Funcions
- Arguments de Funció i Valors de Retorn
- Àmbit i Durada de les Variables
- Funcions Recursives
Mòdul 5: Arrays i Strings
Mòdul 6: Punteres
Mòdul 7: Estructures i Unions
Mòdul 8: Assignació Dinàmica de Memòria
Mòdul 9: Gestió d'Arxius
- Introducció a la Gestió d'Arxius
- Lectura i Escriptura d'Arxius
- Posicionament d'Arxius
- Gestió d'Errors en Operacions d'Arxius
Mòdul 10: Temes Avançats
- Directives del Preprocessador
- Arguments de Línia de Comandes
- Llistes d'Arguments Variables
- Multifil en C
Mòdul 11: Millors Pràctiques i Optimització
- Llegibilitat del Codi i Documentació
- Tècniques de Depuració
- Optimització del Rendiment
- Consideracions de Seguretat