Cours d'Algorithmique

Telechargé par Alpha Monteil
HAL Id: cel-01176119
https://hal.archives-ouvertes.fr/cel-01176119
Submitted on 14 Jul 2015
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entic research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diusion de documents
scientiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
Distributed under a Creative Commons Attribution - NonCommercial - ShareAlike| 4.0
International License
Algorithmique
programmation en langage C - vol.1
Damien Berthet, Vincent Labatut
To cite this version:
Damien Berthet, Vincent Labatut. Algorithmique
programmation en langage C - vol.1 : Supports de cours. Licence. Algorithmique et Programmation,
Istanbul, Turquie. 2014, pp.232. <cel-01176119>
Université Galatasaray
Faculté d’ingénierie et de technologie
Algorithmique &
programmation en langage C
Damien Berthet & Vincent Labatut
Notes de cours
Supports de cours Volume 1
Période 2005-2014
Damien Berthet & Vincent Labatut 2005-2014
© Damien Berthet & Vincent Labatut 2005-2014
Ce document est sous licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage
dans les Mêmes Conditions 4.0 International. Pour accéder à une copie de cette licence, merci de vous
rendre à l'adresse suivante :
http://creativecommons.org/licenses/by-nc-sa/4.0/
Galatasaray Üniversitesi
Mühendislik ve Teknoloji Fakültesi
Çırağan Cad. No:36
Ortaköy 34349, İstanbul version 0.9
Turquie 12/09/2014
Supports de cours vol.1 Période 2005-2014
3/232
Sommaire
SOMMAIRE ................................................................................................................................................ 3
CONVENTIONS ........................................................................................................................................... 8
1 INTRODUCTION .................................................................................................................................. 9
1.1 DÉFINITIONS ........................................................................................................................................ 9
1.2 PRÉSENTATION DU LANGAGE C ............................................................................................................. 14
2 TYPES DE DONNÉES .......................................................................................................................... 23
2.1 REPRÉSENTATION DE LINFORMATION ..................................................................................................... 23
2.2 NOMBRES ENTIERS ............................................................................................................................. 25
2.3 NOMBRES RÉELS ................................................................................................................................ 31
2.4 CARACTÈRES ...................................................................................................................................... 37
2.5 IMAGES ............................................................................................................................................ 39
3 VARIABLES ET CONSTANTES LITTÉRALES........................................................................................... 44
3.1 CONSTANTES LITTÉRALES...................................................................................................................... 44
3.2 VARIABLES ........................................................................................................................................ 46
4 EXPRESSIONS ET OPÉRATEURS ......................................................................................................... 51
4.1 EXPRESSIONS ..................................................................................................................................... 51
4.2 OPÉRATEURS ..................................................................................................................................... 52
4.3 CONVERSIONS ................................................................................................................................... 56
5 CONDITIONS ET BOUCLES ................................................................................................................. 59
5.1 INSTRUCTIONS DE TEST ........................................................................................................................ 59
5.2 INSTRUCTIONS DE RÉPÉTITION ............................................................................................................... 64
5.3 ANALYSE DUN PROGRAMME ................................................................................................................ 68
6 TABLEAUX ........................................................................................................................................ 74
6.1 DÉFINITION ....................................................................................................................................... 74
6.2 MÉMOIRE ......................................................................................................................................... 75
6.3 MANIPULATION ................................................................................................................................. 76
6.4 CHAÎNES DE CARACTÈRES ..................................................................................................................... 77
6.5 TABLEAUX MULTIDIMENSIONNELS .......................................................................................................... 79
6.6 EXERCICES ......................................................................................................................................... 80
7 FONCTIONS....................................................................................................................................... 82
7.1 PRÉSENTATION .................................................................................................................................. 82
7.2 PASSAGE DES PARAMÈTRES .................................................................................................................. 87
7.3 TABLEAUX ......................................................................................................................................... 91
7.4 EXERCICES ......................................................................................................................................... 93
8 TYPES PERSONNALISÉS ..................................................................................................................... 95
8.1 GÉNÉRALITÉS ..................................................................................................................................... 95
8.2 STRUCTURES ..................................................................................................................................... 96
8.3 UNIONS .......................................................................................................................................... 101
8.4 ÉNUMÉRATIONS ............................................................................................................................... 102
8.5 NOMMAGE DE TYPES ........................................................................................................................ 104
9 CLASSES DE MÉMORISATION .......................................................................................................... 106
9.1 PERSISTANCE DUNE VARIABLE ............................................................................................................ 106
9.2 DÉCLARATIONS LOCALES .................................................................................................................... 106
9.3 DÉCLARATIONS GLOBALES .................................................................................................................. 109
9.4 FONCTIONS ..................................................................................................................................... 109
Supports de cours vol.1 Période 2005-2014
4/232
10 POINTEURS ..................................................................................................................................... 111
10.1 PRÉSENTATION ................................................................................................................................ 111
10.2 ARITHMÉTIQUE DES POINTEURS ........................................................................................................... 115
10.3 POINTEURS ET TABLEAUX ................................................................................................................... 117
11 ALLOCATION DYNAMIQUE DE MÉMOIRE ........................................................................................ 123
11.1 PRÉSENTATION ................................................................................................................................ 123
11.2 ALLOCATION SIMPLE ......................................................................................................................... 124
11.3 AUTRES FONCTIONS .......................................................................................................................... 125
11.4 EXERCICES ....................................................................................................................................... 127
12 FICHIERS ......................................................................................................................................... 128
12.1 STRUCTURE FILE ........................................................................................................................... 128
12.2 OUVERTURE/FERMETURE ................................................................................................................... 129
12.3 LECTURE/ÉCRITURE NON-FORMATÉES EN MODE CARACTÈRE ..................................................................... 130
12.4 LECTURE/ÉCRITURE NON-FORMATÉES EN MODE CHAÎNE ........................................................................... 131
12.5 LECTURE/ÉCRITURE FORMATÉES .......................................................................................................... 132
12.6 LECTURE/ÉCRITURE PAR BLOC ............................................................................................................. 132
12.7 EXERCICES ....................................................................................................................................... 133
13 FONCTIONS RÉCURSIVES ................................................................................................................ 135
13.1 PRÉSENTATION ................................................................................................................................ 135
13.2 TYPES DE RÉCURSIVITÉ ....................................................................................................................... 136
13.3 ARBRE DES APPELS ............................................................................................................................ 138
13.4 STRUCTURE DUNE FONCTION RÉCURSIVE .............................................................................................. 139
13.5 COMPARAISON ITÉRATIF/RÉCURSIF ...................................................................................................... 140
13.6 EXERCICES ....................................................................................................................................... 141
14 LISTES CHAÎNÉES ............................................................................................................................. 143
14.1 PSENTATION ................................................................................................................................ 143
14.2 LISTES SIMPLEMENT CHAÎNÉES ............................................................................................................ 144
14.3 LISTES DOUBLEMENT CHAÎNÉES ........................................................................................................... 155
15 PILES DE DONNÉES ......................................................................................................................... 161
15.1 PSENTATION ................................................................................................................................ 161
15.2 TYPE ABSTRAIT ................................................................................................................................. 162
15.3 IMPLÉMENTATION PAR TABLEAU .......................................................................................................... 163
15.4 IMPLÉMENTATION PAR LISTE CHAÎNÉE ................................................................................................... 166
16 FILES DE DONNÉES .......................................................................................................................... 169
16.1 PRÉSENTATION ................................................................................................................................ 169
16.2 TYPE ABSTRAIT ................................................................................................................................. 170
16.3 IMPLÉMENTATION SIMPLE PAR TABLEAU ............................................................................................... 171
16.4 IMPLÉMENTATION CIRCULAIRE PAR TABLEAU .......................................................................................... 173
16.5 IMPLÉMENTATION PAR LISTE CHAÎNÉE ................................................................................................... 176
17 COMPLEXITÉ ALGORITHMIQUE....................................................................................................... 178
17.1 INTRODUCTION À LA COMPLEXITÉ ........................................................................................................ 178
17.2 CALCUL DE COMPLEXITÉ ..................................................................................................................... 186
17.3 ALGORITHMES RÉCURSIFS .................................................................................................................. 192
18 ALGORITHMES DE TRI ..................................................................................................................... 201
18.1 PRÉSENTATION ................................................................................................................................ 201
18.2 TRI À BULLES ................................................................................................................................... 203
18.3 TRI PAR SÉLECTION ........................................................................................................................... 205
18.4 TRI PAR INSERTION ........................................................................................................................... 207
1 / 233 100%

Cours d'Algorithmique

Telechargé par Alpha Monteil
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !