Vous êtes sur la page 1sur 12

INTODUCTION A LA

PROGRAMMATION
C++

Réaliser par:
Y. AIT HADDOU
#include<plan.h>

1 Les techniques de conception();


2 Les stratégies de programmation();
3 Initialisation aux notions et structures de donnée();
4 Introduction au langage C++();
5 1ere TP();
Techniques de conception()
{
Avant de commencer d’écrire le code de votre logiciel il faut d’abord effectuer les étapes suivantes:
• Analyser la situation: c’est-à-dire il faut voir le problème de tous ses cotés (de l’intérieur extérieur bas
du haut …) pour ne pas se tromper dans quelques détails par exemple (la fonction factorielle dans le
cas où l’utilisateur tape un nombre négatif ).
Si le logiciel est dédié à un certain utilisateur il faut que réalise un questionnaire qui vous permettra de
connaître le besoin spécifié de cet utilisateur(Autrement dit le programmeur doit gérer toutes les erreurs
et connaitre tous les cas possibles);
• Schématiser le problème: après avoir effectuer votre analyse et vous réalisez ce que vous voulez faire,
il faut schématiser votre programme (de quoi vous allez commencer? Les conditions, les structures de
données que vous allez utilisez …) et il faut démontrer si le schéma (ou bien l’algorithme) donne des
résultats correctes, et est-ce qu’il est optimale (calcule de la complexité (le nombre des opérations
fondamentales que votre programme effectue) au nivaux mémoire aussi (gérer les allocation …)…);
• Choix du langage d’implémentation: cela vous apparaitra après avoir terminer l’étape précédente vous
allez choisir le langage le plus compatible avec votre algorithme (celui qui contient les structure et les
méthodes que vous avez faits dans votre algorithme);

}
Les stratégies de programmation()
{
Il existe pas mal des stratégies qu’on utilise dans notre vie quotidien (« débuter toujours par la chose
facile »), de même il existe aussi des stratégies dans l’algorithmique ou la programmation on vous cite les
fréquemment utilisées:
• La stratégie itérative: la plus facile des stratégies il permet de résoudre le problème ou de converger
vers la solution en répétant des instruction plusieurs fois exemple: (essayez de calculez la puissance
d’un nombre réel en utilisant l’une des boucles);
• La stratégie récursive: c’est l’une des stratégies les plus élégantes il a un cas de base et cas inductif le
principe se repose sur l’appel de la fonction elle-même par elle (c’est un peu ambigu) exemple :

Algorithme: factoriel(n):
Input: n entier;
Début:
Si(n<0) retourner -1; (pour vous permettra d’afficher une erreur)
Sinon
Si(n==0 ou n==1) retourner 1; (cas de base f(1)=f(0)=1)
Sinon retourner n*factoriel(n-1); (cas inductif f(n)=n*f(n-1)
Fin Si;
Fin Si;
Fin;
Les stratégies de programmation()
{

• La stratégie « deviser pour renier »: c’est la stratégie la plus utilisée dans le monde il
permet donc d’après son nom de faire deviser le problème en plusieurs sous problème
identiques qui auront solution simples et les combiner pour avoir la solution du problème
finale. L’exemple classique c’est la puissance positive paire n d’un réel x :

Algorithme: puissancePostivePaire(n,x):
Input: n entier, x réel;
Début:
Si(n<0||n%2!=0) retourner -1; (pour vous permettra d’afficher une erreur)
Sinon
Si(n<=1) retourner x; (cas de base f(0)=0 f(1)=1)
Sinon retourner puissancePostivePaire(n/2,x)* puissancePostivePaire (n/2,x);
Fin Si;
Fin Si;
Fin;

}
Initialisation aux notions et structures de donnée()
{

• Les données: Ce sont des informations qui n’ont pas de sens autrement dit des informations souches qui peut
être interpréter dans plusieurs sens( 12 par exemple est un entier on dit donc c’est une donné mais si on ajoute
un ‘m’ on aura 12 m qui est une information sur la langueur d’une chose par exemple);
• Les variables: Les variables sont des types primitifs de données (c’est-à-dire il existe déjà dans les langages de
programmation et elles sont les bases pour créer d’autre types de données) en réalité ce sont des réservations de
mémoire automatiques qu’il effectue le compilateur(à définir plus tard) (exemples sur C++: int= entier(4 octets),
char= caractère(1 octets), float= réel(4 octet),string=chaine de caractère(taille de chaine x 1octet), double=les
grand nombres réels(8 octets));
• Les structures de données: Sont des types complexe et qui n’existe pas sur tout les langages à connaitre ( les
Tableaux, Les structures, Les piles, Les files, Les listes chaînées, Les arbres et les graphes…) qui ont une taille
variable;

}
Introduction au langage C++();
{

Le langage C++ est un langage évolué et structuré. C’est en ce sens une évolution du langage C.
Il possède en outre les fonctionnalités de la programmation orienté objet. Le langage C++ se trouve à la
frontière entre le langage C, non objet, et le langage JAVA conçu d’emblée en orienté objet.
On trouve sur le marché un grand nombre de compilateurs C++ destinés à différents microprocesseurs ou
microcontrôleurs. Le langage C++ possède assez peu d'instructions, il fait par contre appel à des bibliothèques,
fournies en plus ou moins grand nombre avec le compilateur. exemples:
math.h : bibliothèque de fonctions mathématiques
iostream : bibliothèque d'entrées/sorties standard
complex.h : bibliothèque contenant la classe des nombres complexes.
On ne saurait développer un programme en C++ sans se munir de la documentation concernant ces
bibliothèques.

Un compilateur: est le traducteur du langage de programmation vers le langage machine (binaire)


Bibliothèque: c’est où le compilateur trouve les fonction il est toujours déclarer après le mot-clé #include
Iostream: la bibliothèque des fonctions de l’entrées et de sorties(afficher, lire…)
Operateur ‘cout<<‘  :l’ operateur d’affichage;
‘cin>>’: l’ operateur de lire a partir du clavier;
Operateurs
• Opérateurs arithmétiques sur les réels: + - * / avec la hiérarchie habituelle.
• Opérateurs arithmétiques sur les entiers: + - * / (quotient de la division) % (reste de la division) avec la hiérarchie
habituelle.
Exemple particulier: char c, d; c = 'G'; d = c+'a'-'A’;
• Le langage C++ autorise des écritures simplifiées pour l'incrémentation et la décrémentation de variables de type
entier (int, char, long)
i = i+1; est équivalent à i++;
i = i-1; est équivalent à i--;
• Les caractères sont des entiers sur 8 bits, on peut donc effectuer des opérations. Sur cet
• exemple, on transforme la lettre majuscule G en la lettre minuscule g.
• Opérateurs logiques sur les entiers:
• & ET | OU ^ OU EXCLUSIF ~ COMPLEMENT A UN
• « DECALAGE A GAUCHE
• » DECALAGE A DROITE.
Exemples: p = n « 3; // p est égale à n décalé de 3 bits à gauche
p = n » 3; // p est égale à n décalé de 3 bits à droite
• L'opérateur sizeof(type) renvoie le nombre d'octets réservés en mémoire pour chaque type d'objet.
• Exemple: n = sizeof(char);
Les Testes

if(condition)// si la condition est vraie on entre au bloc


{
Instructions;
}
else{ //sinn on effectue cela
instructions;
}
Premier programme à tester:
Petit exo:
Réaliser un programme C++ qui permet d’obtenir un nombre de l’utilisateur et teste est-ce qu’il est paire
ou impaire si oui il affiche « le nombre est pair » sinon il affiche « le nombre est impair »
Réaliser un programme C++ qui teste si un caractère entré par l’utilisateur est majuscule ou minuscule et
affiche le résultat;
Réaliser un programme C++ qui permet d’obtenir le Max entre 3 entiers entrés par l’utilisateur et l’affiche
sur l’écran;
Réaliser un programme C++ qui permet de connaitre si un caractère entré est une consone et majuscule
si oui il affiche « oui » sinon il affiche « non »

Vous aimerez peut-être aussi