Semestre 2
54 heures – 6,5 ECTS
EC Algorithmique et programmation en python 2
9h de CM & 18h de TD
EC Initiation au langage C
9h de CM & 18h de TD
Prérequis
UE Informatique 1
******************************************************************************************
EC Algorithmique et programmation en python 2
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
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
******************************************************************************************