IST Syllabus L1 Programme UE Informatique 2 : Algorithmique et programmation



Semestre 2

54 heures 



 

Prérequis 

UE Informatique 1

 

EC Algorithmique et programmation en python 2 (9h de CM & 18h de TD)ez ici le contenu ici

Compétences visées

Identifier les différentes structures de données linéaires utiles en algorithmique, comprendre les

notions de récursivité, analyser des problématiques de tris et/ou de recherche de données pour les

transposer en algorithmes et les programmer en langage Python, découvrir la notion de complexité.

Contenu du cours

          Rappel

               structures de choix
               structures de répétition
               fonctions
               portée des variables
               type structuré : tableau/liste

          Conversion entre types structurés

               tableaux/listes
               chaînes de caractères
               tuples
               Compléments sur les fonctions
               passage des arguments par valeur/référence
               récursivité simple
               récursivité croisée

          Recherches itératives et récursives dans des structures linéaires

               recherche séquentielle
               recherche dichotomique
               recherche par interpolation
               notion de complexité algorithmique

          Tris de données dans des structures linéaires

               tri par propagation (ou tri bulles)
               tri par insertion
               tri shell
               tri par sélection
               tri rapide

EC Initiation au langage C (9h de CM & 18h de TD)

Compétences visées

Initier les étudiants aux concepts de base du langage C. Savoir écrire des programmes simples et acquérir des méthodes de programmation De nombreux exemples et exercices sont abordés et proposés.

Contenu du cours

Structure d'un programme C

Structure d'un programme C : Premier programme et Premières notions.
Types de données. Constantes. Variables. Expressions.
Fonctions standards : printf & scanf.
Instructions simple et composée.
Opérateurs et instructions de contrôle.
Conversions de type explicite et implicite.
Ruptures de séquence : break, continue, return.

Fonctions

Déclaration d’une fonction. Paramètres formels. Instruction return
Visibilités des variables (locales, globales).
Appel d’une fonction. Paramètres effectifs
Passage de paramètres : Passage par valeur

Tableaux statiques

Tableaux statistiques à une dimension : définition, déclaration, initialisation, référence.
Tableaux statistiques multidimensionnels.

Pointeurs

Différentes modes d’Adressages : direct et indirect7
Définition, déclaration, interprétation, occupation mémoire
Opérateurs de base & et *. Opérations élémentaires.
Relation entre tableaux et pointeurs
Adressage de composantes d’un tableau
Operateurs arithmétiques et comparaisons
Domaines de validation et Interprétation
Différence entre un pointeur et un tableau
Parcours d’un tableau avec le formalisme pointeur

Suite des Fonctions

Passage par l'adresse
Passage de l'adresse d'un tableau à une dimension
Fonctions retournant un pointeur

Structures et Enumérations

Définition, déclarations, initialisation, imbrication, opérateurs.
Tableaux de structures
Renommage d’un type : instruction typedef
Types énumérés : définition, déclaration

Fonctions & structures

Passage par valeur d’une structure en paramètre à une fonction
Passage par adresse d’une structure en paramètre à une fonction
Fonction retournant une structure