![]() |
sommaire documents programmation |
Cedocument contient la liste des fichiers disponibles sur la disquette d'accompagnement.
Ils sont regroupés par répertoires
noms des fichiers (répertoire exercices.c). Le listing complet est donné en annexe 1.
1
|
while_puiss
|
WH_PUISS.C
|
2
|
while_err
|
WH_ERR.C
|
3
|
do_while
|
DO_WHILE.C
|
4
|
for
|
FOR.C
|
5
|
jeu
|
JEU.C
|
6
|
calcul
|
CALCUL.C
|
7
|
moyenne
|
MOYENNE.C
|
8
|
rotation
|
ROTATION.C
|
9
|
classer
|
CLASSER.C
|
10
|
chaîne
|
CHAINES.C
|
11
|
matrices
|
MATRICES.C
|
12
|
determinant
|
DETERMIN.C
|
13
|
tel
|
TEL.C
|
14
|
liste
& insertion
|
LISTE_CH.C
|
15
|
agenda
|
AGENDA.C
|
L'intérêt de ces fichiers est qu'il contiennent la fonction décrite en exemple mais aussi une fonction main qui l'utilise, ainsi que quelques exemples supplémentaires. (répertoire exemples.c)
PREM_EX.C
|
premier
petit programme du chapitre 2
|
SECONDEX.C
|
programme
du chapitre 4.1
|
WHILE.C
|
exemple
de boucle while
|
WH_ERR.C
|
source
du programme "while_err" dont on doit expliquer la fonction
|
FACTORIE.C
|
calcul
de factorielle par boucle for et par récursivité
|
FONCT_PT.C
|
exemple
de fonction retournant un pointeur
|
ENUM.C
|
utilisation
des énumérations
|
TABLO_PT
|
équivalence
d'écriture entre tableau et pointeur
|
MULTIDIM.C
|
quatre
méthodes différentes pour stocker un tableau multidimensionnel en
mémoire (matrice statique, tableau unidimensionnel, tableau de lignes,
pointeurs de pointeurs)
|
ARG_MAIN.C
|
arguments
de la fonction main (un programme à mettre dans AUTOEXEC.BAT pour
initialiser les couleurs de l'écran)
|
FIC_BRUT.C
|
utilisation
de fichiers bruts (accès par blocs de taille constante)
|
Le listing est donné en annexe 2 (répertoire exercices.a)
BOUCLE.C
|
exercice
du paragraphe 9.2
|
TUSEXO_A.C
|
exercice
du paragraphe 10.1.2
|
TUSEXO_B.C
|
exercice
du paragraphe 10.1.3
|
GAUS_MRD.C
|
exercice
du paragraphe 11.3.1. Il montre une application des matrices rectangulaires
dynamiques.
|
INSE_TTD.C
|
exercice
du paragraphe 11.3.2. C'est également un exemple d'utilisation d'un
stockage dynamique pour une grande matrice.
|
exemples donnés dans le document. En particulier les fichiers inclus contenant les manipulations de base sur les types de données sont regroupés (.INC). Les différentes fonctions données dans le document (tris par exemple) sont accompagnés d'une fonction main permettant de les utiliser directement. Certains exemples supplémentaires présents sur la disquette ne sont pas listés dans le document par manque de place (répertoire exemples.a)
FLOTTANT.C
|
exemple
du paragraphe 9.1
|
BOUCLE_A.C,
BOUCLE_B.C
|
exemples du paragraphe 9.2
|
BASE_TUS.INC
|
fonctions
de base pour les tableaux unidimensionnels statiques (paragraphe 10.1.2)
|
EX_TUS.C
|
exemple
du paragraphe 10.1.2
|
MANI_TUS.INC
|
fonctions
de manipulation des tableaux unidimensionnels statiques (paragraphe 10.1.3)
|
BULL_TUS.C
|
implantation
d'un tri bulle pour les tableaux unidimensionnels statiques (paragraphe
10.1.4.2)
|
INSE_TUS.C
|
implantation
d'un tri par insertion pour les tableaux unidimensionnels statiques (paragraphe
10.1.4.3). Les deux implantations (simple et optimisée) sont
prévues.
|
SELE_TUS.C
|
implantation
d'un tri par sélection pour les tableaux unidimensionnels statiques
(paragraphe 10.1.4.4)
|
SHEL_TUS.C
|
implantation
d'un tri shell pour les tableaux unidimensionnels statiques (paragraphe
10.1.4.5)
|
QUIC_TUS.C
|
implantation
d'un tri rapide (Quick Sort) pour les tableaux unidimensionnels statiques
(paragraphe 10.1.4.6)
|
CREA_TUS.C
|
implantation
d'un tri par création pour les tableaux unidimensionnels statiques
(paragraphe 10.1.4.7)
|
BASE_MAT.INC
|
fonctions
de base pour la gestion des matrices statiques (paragraphe 10.2)
|
GAUSS.C
|
résolution
matricielle de AX=B avec triangulation simpliste ou améliorée
(paragraphe 10.2)
|
BASE_LST.INC
|
fonctions
de base sur les listes chaînées (paragraphe 12.1)
|
TEST_LST.C
|
test
des fonctions de listes chaînées (paragraphe 12.1)
|
BULL_LST.C
|
implantation
d'un tri bulle dans une liste chaînée (paragraphe 12.2.1)
|
INSE_LST.C
|
implantation
d'un tri insertion dans une liste chaînée (paragraphe 12.2.2)
|
SELE_LST.C
|
implantation
d'un tri par sélection dans une liste chaînée (paragraphe
12.2.3)
|
BASE_P_T.INC
|
fonctions
de base pour l'implantation de piles par tableaux statiques (paragraphe 13.2).
|
BASE_P_L.INC
|
fonctions
de base pour l'implantation de piles par listes chaînées
(paragraphe 13.2).
|
BASE_F_T.INC
|
fonctions
de base pour l'implantation de files par tableaux statiques (paragraphe 13.2).
|
POLONAIS.C
|
exemple
de mise en oeuvre d'une pile pour évaluer une expression en notation
polonaise (paragraphe 13.3)
|
ARB_EXPR.C
|
représentation
d'une expression mathématique sous forme d'un arbre (paragraphe 14.2)
|
ARB_NOMS.C
|
gestion
d'une liste de noms à l'aide d'un arbre binaire (paragraphe 14.3)
|
répertoire exemples.g :
BIB_BASE.INC
|
une
bibliothèque de base sous TURBO C++ (initialisation, allumer un point)
|
G_LIGNE.INC
|
mise
en oeuvre d'un tracé de droite quelconque en n'utilisant que BIB_BASE
|
CERCLES.C
|
test
du tracé d'arc de cercle par la méthode de la
dérivée, comparaison avec la méthode paramétrique
(sinus, cosinus)
|
REMPLIR.C
|
remplissage
d'une courbe fermée par un algorithme récursif. On voit (car
c'est lent) l'ordre des appels récursifs par un remplissage qui semble
désordonné
|
CRETE.C
|
exemple
de tracé de surface avec élimination de lignes cachées par
la méthode de la ligne de crête (nécessite la
bibliothèque graphique G2D)
|
PARALLEL.C
|
projection
parallèle : vue d'un cube dans toutes les positions
|
LAGRANGE.C
|
programme
permettant de tester l'interpolation de Lagrange (nécessite G2D et une
souris compatible).
|
BEZIER.C
|
programme
de tracé de courbes de Bezier
|
répertoire bib_graph :
Fichiers inclus :
Vous devez inclure les fichiers dont vous avez besoin dans votre fichier source. Il est inutile d'inclure les fichiers qui ne vous servent pas directement.
G2D.H
|
Bibliothèque
graphique de base
|
CHAR.H
|
Définition
du type CARACT qui définit un caractère. Ceci est
nécessaire car en TURBO C les caractères sont définis
autrement que par un char (unsigned char). Si vous utilisez un autre
compilateur il suffit de modifier ce fichier.
|
CHAINES.H
|
Fonctions
de base traitement de caractères
|
VECTEURS.H
|
onctions
de base de traitement de vecteurs (produit scalaire, vectoriel...)
utilisé par G3D.
|
GECR.H
|
Fonctions
d'écriture
|
GPOLY.H
|
Tracé,
remplissage et hachurage de polygones fermés
|
GREMPL.H
|
Remplissage
d'une courbe déjà tracée à l'écran
|
GPLUS.H
|
Quelques
fonctions supplémentaires à G2D
|
G3D.H
|
Bibliothèque
de base 3D
|
G3ECR.H
|
Ecritures
(2D) mais débutant en un point défini en 3D
|
G3POLY.H
|
Tracé,
remplissage et hachurage de polygones définis en 3D. Attention, le
remplissage se fait sur la projection du polygone, donc peut poser des
problèmes si la surface est "trop gauche".
|
SOURIS.H
|
Utilisation
d'une souris pour entrer des coordonnées 2D à votre
échelle.
|
MENUG.H
|
Fonctions
de menus
|
Fichiers sources à compiler et lier à vos programmes objets. Il faut lier les fichiers dont vous vous servez explicitement mais également indirectement (par exemple si vous avez inclus dans votre programme G3ECR.H, il faut lier votre programme à G3ECR.C mais aussi à GECR.C puisqu'il utilise ce dernier (par contre il était inutile d'inclure GECR.H dans votre programme si vous ne vous en servez pas directement).
G2D.C
|
Bibliothèque
graphique de base
|
CHAINES.C
|
Fonctions
de base traitement de caractères
|
VECTEURS.C
|
Fonctions
de base de traitement de vecteurs (produit scalaire, vectoriel...)
utilisé par G3D.
|
GECR_STD.C
|
Fonctions
d'écriture. Implantation standard : tous les graphismes des 255
caractères d'un PC y sont définis, un caractère sera donc
dessiné à l'aide d'un ensemble de segments. Ceci prend pas mal de
place en mémoire et est assez lent mais marchera partout (si la couche 0
de G2D est bien définie).
|
GECR_ECR.C
|
Fonctions
d'écriture. Implantation spécifique au TURBO C : On utilise les
fonctions existantes sur le PC pour écrire. Ceci prend moins de place et
va plus vite, mais on ne peut pas modifier la taille des caractères, ni
leur inclinaison, ni faire d'écritures sur une table traçante. Si
vous avez inclus GECR.H dans votre programme, il faudra soit lui lier
GECR_ECR.C, soit GECR_STD.C.
|
GPOLY.C
|
Tracé,
remplissage et hachurage de polygones fermés
|
GREMPL.C
|
Remplissage
d'une courbe déjà tracée à l'écran
|
GPLUS.C
|
Quelques
fonctions supplémentaires à G2D
|
G3D.C
|
Bibliothèque
de base 3D
|
G3ECR.C
|
Ecritures
(2D) mais débutant en un point défini en 3D. Utilise les
écritures en 2D, donc GECR_ECR ou GECR_STD.
|
G3POLY.C
|
Tracé,
remplissage et hachurage de polygones définis en 3D. Attention, le
remplissage se fait sur la projection du polygone, donc peut poser des
problèmes si la surface est "trop gauche".
|
SOURIS.C
|
Utilisation
d'une souris pour entrer des coordonnées 2D à votre
échelle.
|
MENUG.C
|
Fonctions
de menus. Ceci est donné en exemple, cette bibliothèque
mérite d'être complètement modifiée (en particulier
en utilisation Windows)
|
Exemples de programmes utilisant les différentes bibliothèques :
TST2D.C
|
test
de pratiquement toutes les fonctions de G2D
|
TSTECR.C
|
Démonstration
des possibilités d'écriture. On pourra comparer les
résultats obtenus en liant GECR_STD (plus de possibilités mais
lent) ou GECR_ECR (rapide mais limité)
|
TSTPOLY.C
|
Démonstration
de remplissage / hachurage de polygones convexes ou non
|
TSTREMPL.C
|
Test
des fonctions de remplissage (frontière tracée auparavant)
|
TST3D.C
|
Fonctions
3D : On peut regarder un cube sous toutes ses faces
|
TST3POLY.C
|
Démonstration
de polygones 3D
|
TSTSOURI.C
|
Utilisation
des fonctions de base utilisant la souris
|
TSTMENU.C
|
Démonstration
de quelques possibilités de la bibliothèque de menus
|
c'est facile, il suffit de cliquer ici (transfert par FTP, le fichier est compressé en .ZIP).
Vous pouvez également télécherger de la même manière la bibliothèque graphique en PASCAL (sources, documentation et programmes d'exemples). Cette version est un peu plus ancienne que celle en C, mais reste presque similaire (mêmes noms de procédures et fonctions, mêmes arguments)
![]() |
sommaire documents programmation |