Vous êtes sur la page 1sur 27

TP 1 C++:

Youness AIT HADDOU


plan

 Motivation:(pourquoi le C++?);
 Installation du MinGW;
 Premier programme;
 Initialisation au variables(Type primitif);
 Les fonctions in/out;
 Structures de contrôle;
 Pointeurs & Références;
 Fonctions:
 Tableau et initialisation au structure de données;
 Initialisation au P,O,O;
Pourquoi le C++

 La portabilité;
 La rapidité;
 La simplicité;
 La bonne communication au ressources;
 La forte existence dans plusieurs domaine (spécialement le domaines des jeux
vidéos et les applications bureautique);
Installation du MinGW:

 Copier le dossier MinGW vers votre disque local C;


Installation du MinGW:
Copier ce lien: C:\MinGW\bin
Aller au menu démarrer et chercher: Modifier les Variables d’environnement
systèmes et ouvrer la:
Vous allez trouvez cette fenêtre pop-up choisissez
Variables d’ environnement
Installation du MinGW:

 Sélectionnez la variable PATH dans


systeme:
 modifier
Installation du MinGW:

Collez le lien que vous avez copié ici


Premier Programme
Initialisation au variables(Type primitif)

 Il y on a 4 types primitifs de variables en C++:


 int: désigne un entier codé sur 4 octets et on l’attribus par fois des adjectifs:
short(codé sur 2 octets) , long (codé sur 8 octets)
 Char : désigne un caractère codé sur 1 octet
 Float : désigne les réel codé sur 4 octets
 Double : codé sur 8 octet (représentation scientifique) pour les réels;
 On trouve en C++ d’autres types non primitifs (dit objet):
 Comme les chaine de caractère(String) Boolean (Bool) ,,,,;
 On peut aussi faire des conversation entre les types primitif:
 maVariable=(nouveau type)uneAutreVariable;
Initialisation au variables(Type primitif)

 Ecrivez un programme qui permet d’afficher la somme de 2 entiers et l’affiche sur


l’écran(utiliser ‘’cout<<‘’) ;
 Ecrivez un programme qui permet d’afficher le produit de 2 entiers et l’affiche sur
l’écran(utiliser ‘’cout<<‘’) ;
Les fonctions in/out

 Dans le fichier iostream on trouve les deux fonctions de l’entrée (cin>>) et de


sortie (cout<<) qui permet de lire et écrire dans notre application;
 Exemple:
Les fonctions in/out

 Ecrire un programme qui permet de récupérer deux caractères de la part de


l’utilisateur les concatènent et les affiche;
 Ecrire un programme qui permet de récupérer deux entiers de la part de
l’utilisateur et affiche leurs produit somme différence division et modulo;
Structures de contrôles

 Sur Cpp comme sur c il y on a 2 type de Structures de contrôles:


 Les conditions:
if(condition) {bloc1} else {bloc2};
switch(int/char){
case val1: bloc1;
break;
case val2: bloc2;
break;
default: bloc3
break;}
 Boucle: for(intialisationConteur;condiArret;pas){bloc}
 While(condi){bloc} do{bloc}while(condi);
Structures de contrôles

 Créer une calculatrice en des nombre réels qui contient les opérations
fondamentale=« +-*/ »;
 Dessinez le schéma suivant en demandant de l’utlisateur d’entrer un entier n ici
n=4:
 *
**
***
****
Structures de contrôles
(micro projet)
 En utilisant la bibliothèque windows,h et spécialement la fonction
Beep(fréqueceDuSon,dureeEnMs) et en utilisant le système américain de musique
(ABCDEFG) créer un programme qui permet de lire les notes écrites par
l’utilisateur et les faire sonné, sachant que la note A est de fréquence 440Hz et la
différence entre 2 notes consécutives c’est 220Hz(c’est B est de fréquence
660Hz);
Pour que votre logiciel soit élégant penser à le décorer via la fonction
system(‘’color 0F ’’);
Pointeurs & Références;

Les pointeurs et les références constituent les points les plus puissants du langage C+
+ car il permet de gérer la mémoire via ces derniers lors de l’exécution.
Un pointeur donc est une variable qui permet de stocker l’adresse mémoires d’une
autre variables il sont généralement utilisable dans la définition de nouvelle structures
de donnée et l’allocation dynamique;
La référence en Cpp est une version sympa du pointeur il est très simple à utiliser;

typeDeVariable *monPointeur=NULL||&varibale;//pointeur
typeDeVariable &maRef=variable;// Référence
Pointeurs & Références;

 Créer une variable de type que vous voulez et initialiser la puis essayer de la
modifie via un pointeur qui pointe sur cette variable;
 La même chose en utilisant les références;
Fonctions

 La fonction en Cpp est définit comme suit:


typeDeRoutour nomDeLafoction(typeDeParamettre1
nomDuParamettre1, typeDeParamettre nomDuParamettre2,,,,)
 Exemple:
int somme(int a,int b){
return a+b;
}
Fonctions

 Créer une fonction qui permet de retourner le max des entiers passés en arguments
 Créer une fonction qui permet de changer la couleur de votre arrière plan qui
prend en argument le nom de la couleur;
 Créer une fonction qui permet d’échanger 2 entiers;
 Créer une fonction qui prend en argument un entier et qui fait un son si le nombre
passé en paramètre est pair;
 Tester ces fonction dans programme principal;
Micro projet:

 À l’aide de la fonction précédente changeColor, de la fonction Sleep (qui se


trouve à window,h) et la fonction rand créer un logiciel de mise en veille en
changeant les couleur de l’arrière plan;
Tableau et initialisation au structure de
données;
 Une structure de données est une allocation de la mémoire RAM sur la machine elle permet donc de sauvegarder les
données en les écrivant sur la mémoire centrale, il y on a pas mal de structures de données : exemples: Structures de
données linéaire : Tableau, liste chainée, pile, file ,,, Structures de données non linéaire: arbres graph ,,,.
 Les tableaux (Arrays): sont des structures de données contiguës dans la mémoires, facilite l’accès aux valeurs
stockées dans la RAM, il y on a 2 types: statique(taille fixe) et dynamique(taille variable);
 Syntaxe: tableau statique: typeDeVariable nomDuTableau[tailleDuTb]={}//initialisation;
tableau dynamique: typeDeVariable *nomDuTableau=new ypeDeVariable[tailleDynamique];
 Remarque: faite attention lorsque vous allouer dynamiquement un espace mémoire de ne pas oublier le mot clé
free(nomTB); qui permet de libérer l’espace;
Relation Pointeur tableau:

 Si vous avez remarqué dans l’exemple précèdent on a utilisé un ‘’*’’ devant le


nom du tableau alloué dynamiquement ceci ça veut dire qu’il existe une relation
entre les tableau et les pointeurs;
 La relation est très facile à comprendre le pointeur pointe sur une adresses
mémoires vide puis on demande du noyau de la machine d’allouer un espace
mémoires depuis cet endroits avec une taille précise et pour accéder à la première
case on utilise le pointeur qui est tout simplement le nom du tableau avec un ‘’*’’
au debut.
Tableau et initialisation au structure de
données;
• Ecrivez une fonction qui permet de remplir les données depuis le clavier d’un tableau d’entiers
statique;
• Ecrivez une fonction qui permet de chercher une valeur donnée dans un tableau d’entier statique
est qui retourne l’adresse de l’entier chercher s’il n’existe pas il retourne -1;
• Ecrivez une fonction qui permet de calculer les nombres paires dans ce tableau;
Micro projet
 Utiliser un tableau à 2 dimensions de type string qui va contenir dans sa première case le nom d’une
personne la 2ème l'âge 3ème son CNI c-a-d : string tab[nbLIgne][3];
 Remplissez ce tableau en fixant le nbLigne;
 Créer une fonction qui permet d’afficher les données d’une personne qui prend en entrée indice i;
 Créer une fonction qui cherche une personne en utilisant son CNI et qui retourne toutes les infos de
cette personne s’il n’existe pas on affiche none;
 (Question facultatif) triez la liste des personne dans l’ordre croissant;
 Pensez vous à décorer votre app;
Initialisation au P,O,O;
Initialisation au P,O,O;
Syntaxe sur Cpp

Vous aimerez peut-être aussi