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:

  1. Preguntes Teòriques: Aquestes preguntes avaluaran la teva comprensió dels conceptes fonamentals de la programació en C.
  2. 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

  1. Quina és la diferència entre una variable i una constant en C?
  2. Explica la diferència entre malloc i calloc.
  3. Què és un punter a punter i com es declara?
  4. 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

Mòdul 2: Tipus de Dades i Variables

Mòdul 3: Flux de Control

Mòdul 4: Funcions

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

Mòdul 10: Temes Avançats

Mòdul 11: Millors Pràctiques i Optimització

Mòdul 12: Projecte i Avaluació Final

© Copyright 2024. Tots els drets reservats