Algorithmique et langage C

Ressources du module

Ce module vous accompagne dans les premières étapes de la conception d'algorithmes et de leur implémentation en langage C. Retrouvez ici les supports essentiels, les travaux pratiques suivis en TP et les projets GitLab du semestre.

2
Travaux pratiques
1
Projet GitLab
2024
Mise à jour

Supports et travaux pratiques

Les différentes ressources ci-dessous vous permettent de consolider les fondamentaux et de mettre en pratique la logique algorithmique dans des contextes concrets.

💻
TP GitLab

TP1 - Premiers programmes en C

Structure d'un programme, compilation avec gcc, lecture et écriture sur l'entrée standard, manipulation des types.

Accéder au dépôt
🎲
Projet

Projet - Takuzu en langage C

Projet fil rouge : conception des structures de données, algorithmes de résolution et interface console pour le jeu Takuzu.

Voir le projet
📑
Exercices

Exercices auto-corrigés

Entraînez-vous avec une sélection d'exercices progressifs pour développer votre rigueur algorithmique.

Accéder aux exercices
Boîte à outils

Guide de style et conventions

Adoptez de bonnes pratiques de nommage, de factorisation et de mise en forme pour rendre vos codes C lisibles et robustes.

Consulter le guide

Compétences visées

Modélisation algorithmique

Analyser un problème, identifier les données d'entrée et de sortie, concevoir un pseudo-code clair et itératif.

Programmation en C

Manipuler les types de base, les pointeurs, les structures de contrôle et la gestion de la mémoire à travers des cas pratiques.

Collaboration

Utiliser GitLab pour suivre l'avancement, documenter les choix techniques et travailler efficacement en équipe.

Fragment de code type

#include <stdio.h>

int somme(int a, int b) {
    return a + b;
}

int main(void) {
    int n1 = 0;
    int n2 = 0;

    printf("Entrez deux entiers : ");
    if (scanf("%d %d", &n1, &n2) != 2) {
        fprintf(stderr, "Lecture invalide.\n");
        return 1;
    }

    int resultat = somme(n1, n2);
    printf("Resultat : %d\n", resultat);

    return 0;
}