Principes des Langages de Programmation

John Samuel

CPE Lyon

Année: 2024-2025
Courriel: john.samuel@cpe.fr

Creative Commons License

John SAMUEL

  • Enseignant-Chercheur, Conception Logicielle et Big Data, CPE Lyon,
  • Intérêts et thèmes de recherche : Représentation de connaissances, le web sémantique, les services web, l'intégration de données, l'entrepôt de données, les systèmes distribués, système d'information géographique
  • Cours : Programmation en C, Principes des Langages de Programmation, Data Mining et Machine Learning, Intelligence Artificielle et Deep Learning, Systèmes d'exploitation et Programmation Concurrente, Langages Web
  • Thèse : Intégration des données issues de services web

1.1. Principes des Langages de Programmation : Introduction

Objectifs

1.1. Principes des Langages de Programmation : Introduction

Bonjour le Monde!!! (C)

/* Fichier: bonjour1.c
* affiche 'Bonjour le Monde!!!' à l'écran.
* auteur: John Samuel
* Ceci est un commentaire sur plusieurs lignes
*/


#include <stdio.h> // headers

// Ceci est un commentaire sur une ligne
int main() {
  printf("Bonjour le Monde !!!");
  return 0;
}

1.1. Principes des Langages de Programmation : Introduction

Bonjour le Monde!! (Python)

# Ce programme affiche le message "Bonjour le monde !!!" à l'écran

# Définition de la fonction principale
def main():
    # Affichage du message
    print("Bonjour le monde !!!")

# Vérification si le script est exécuté directement (et non importé comme module)
if __name__ == "__main__":
    # Appel de la fonction principale
    main()

1.1. Principes des Langages de Programmation : Introduction

Structures de contrôle

Les structures de contrôle en C dirigent l'exécution du code en fonction de conditions ou de boucles.

1.1. Principes des Langages de Programmation : Introduction

Gestion de mémoire

Adresses physiques
la conversion des adresses virtuelles en adresses physiques
La conversion des adresses virtuelles en adresses physiques

1.1. Principes des Langages de Programmation : Introduction

La chaine de compilation

Compilation: gcc

La chaîne de compilation en C est le processus séquentiel de transformation du code source en un exécutable.

1.1. Principes des Langages de Programmation : Introduction

Types et structures de données - file

Types et structures de données - file

Une file est une structure de données qui gère les éléments de manière FIFO (First-In-First-Out), ce qui signifie que l'élément ajouté en premier est le premier à être retiré.

1.1. Principes des Langages de Programmation : Introduction

Types et structures de données - pile

Types et structures de données - pile

Une pile est une structure de données qui gère les éléments de manière LIFO (Last-In-First-Out), où le dernier élément ajouté est le premier à être retiré.

1.1. Principes des Langages de Programmation : Introduction

Environnement de programmation:

Cours:

1.1. Principes des Langages de Programmation : Introduction

Devoir surveillé (DS): 60%

Vous recevrez un courrier détaillé avant l'examen

1.1. Principes des Langages de Programmation : Introduction

Cours Dates
Cours 1 3 septembre (4h)
Cours 2 17 septembre (2h)
Cours 3 1 octobre (2h)

1.1. Principes des Langages de Programmation : Introduction

Déroulement du cours

Le cours de 2 heures est structuré avec une première partie de 55 à 60 minutes, suivie d'une pause de 5 à 10 minutes pour des questions, et conclut ensuite avec une deuxième partie de 55 à 60 minutes.

1.1. Principes des Langages de Programmation : Introduction

Travaux pratiques

1.1. Principes des Langages de Programmation : Introduction

TP Points
TP 1 3
TP 2 4
TP 3 4
TP 4 4
TP 5 5

1.1. Principes des Langages de Programmation : Introduction

Travaux pratiques

Chaque TP comporte plusieurs exercices. Chaque exercice est accompagné d'une indication de niveau de difficulté :

1.1. Principes des Langages de Programmation : Introduction

Travaux pratiques

La complexité des TP augmente progressivement après chaque séance, ce qui peut nécessiter plus de temps pour compléter tous les exercices.

1.1. Principes des Langages de Programmation : Introduction

Travaux pratiques: Rendus

  1. Le rendu est constitué de deux parties principales : le rapport d'auto-évaluation et les fichiers source.
  2. Votre dossier de rendu doit comporter les éléments suivants
    • Un fichier README.md contenant le rapport d'auto-évaluation.
    • Un fichier CONTRIBUTORS.md listant les noms et prénoms des contributeurs.
    • Un répertoire src/ contenant les fichiers sources, identifiables par les extensions .c et .h.

1.1. Principes des Langages de Programmation : Introduction

Travaux pratiques: Rendus

  1. Votre rendu doit être renommé au format "groupe_N1_N2.zip", où N1 et N2 représentent les noms (par exemple, "groupe_DUPONT_SMITH.zip").
  2. Assurez-vous d'écrire ou de compléter les fichiers README.md et CONTRIBUTORS.md au format Markdown.
  3. Le contenu du fichier README.md devrait comprendre :
    1. Rapport d'auto-évaluation pour le TP numéro N (où N varie de 1 à 6).
    2. Bibliothèques utilisées, y compris les bibliothèques standard.
    3. Références telles que les URL ou les groupes consultés pour l'exercice.
    4. Indication du niveau de difficulté (facile, moyen, difficile).
    5. Optionnellement, des commentaires ou des remarques supplémentaires peuvent être inclus.

1.1. Principes des Langages de Programmation : Introduction

Liste de contrôle

Avant de soumettre votre travail pratique, veuillez vérifier que vous avez respecté la liste de contrôle suivante :

1.1. Principes des Langages de Programmation : Introduction

Modèle de code

Vous pouvez consulter https://github.com/johnsamuelwrites/PLP en ligne
ou le cloner sur votre machine à l'aide du terminal en utilisant les commandes suivantes.

$ git clone https://github.com/johnsamuelwrites/PLP
$ cd PLP
$ ls

Pour obtenir les dernières mises à jour du répertoire, vous pouvez exécuter la commande suivante:

$ git pull

1. Principes des Langages de Programmation : Références

Références

Crédits d'images