Vous êtes sur la page 1sur 104

SOMMAIRE

1 Introduction à la science informatique

POINT POINT POINT POINT POINT POINT POINT POINT POINTPOINT


1
2 2 Introduction à la programmation
3 3 Mettre a niveau les logiciels
4 4 Algorithmes
5 5 Variable, Constante, Fonction & Commentaire
6 6 Structure de données
7 7 Installation de l’IDE
8 8 Programmation en langage C
9 9 Les Opérateurs
10 10 Les boucles en programmation
DOMAINE D’APPLICATION DE L’INFORMATIQUE
De nos jours l’informatique s’applique dans tous les domains de la
vie: scientifique, technique, industriel, administrative.

 La recherche: calcul scientifique, le genie logiciel


 Aeronautique
 Gestion: gestion de stock, gestion de paie
 La medicine: une intervention avec un laser, etc…
a. QU’EST CE QU’UN ORDINATEUR?
 Est une machine électronique capable d’exécuter un
programme
 Un ordinateur se compose de trois parties ou unités:
a) Une unité d'entrée (=input device) nous permet d'introduire
des instructions et des
données . Le clavier en est un exemple.
b) Une unité centrale (CPU = Central Processing Unit) traite ce
qui a été introduit.
LE PROCESSEUR

 C’est le cœur d’un ordinateur


 Il fait tout les traitements
 Le processeur exécute un programme qui est
une liste d’instructions
 Ces instructions sont exécutées et codées en
binaire qui est le langage machine pour être
exécuté par le processeur.
ARCHITECTURE DE BASE D’UN ORDINATEUR
C. QU’EST-CE QUE LA BUREAUTIQUE ?
 C’est un terme qui regroupe les logiciels qui
aident l'entreprise dans la rédaction de
documents.
1) Microsoft Office
 C’est une suite bureautique permettant entre
autres d'écrire des lettres, rédiger des CV (avec
Word), créer des présentations (avec
PowerPoint), créer des tableaux de calcul et des
graphiques (avec Excel) et gérer son temps, ses
contacts et ses mails (avec Outlook), etc.
2) Windows OS
 C’est un système d’exploitation qui permet
l’accès aux documents (fichiers) et aux
applications (logiciels, programmes).
 Il fonctionne sous la représentation de fenêtres
et d’icônes.
Windows interface
3) Fichiers VS Dossier sous Windows
 Fichier (contenu)
Sont de documents que vous pouvez créer à l’aide d’une
application (logiciel)

Ex: Gâteau au chocolat


Curriculum Vitae 3 fichiers
Lettre de présentation Word
 On peut avoir différents types de fichiers :
documents, images, vidéos, musique...
 Dossier (contenant)
Les fichiers y sont classés sous un thème spécifique.

Ex: Gâteau au chocolat


Sauce aux tomates
Poulet mayo Dossier
Recettes
Fichiers VS Dossier sous Windows
QU'EST QU'UN LANGAGE ?
 D'un point de vue matériel, un ordinateur est un appareil
électronique traitant des ensembles de signaux
électriques.
 Son fonctionnement est contrôlé par un programme qui
est une suite d'instructions. Donc il ne nous serait pas
commode d’introduire des instructions et informations
dans l’ordinateur directement sous forme de signaux
électriques ;(bien que cette méthode fut celle utilisée par
les premiers programmeurs).
La programmation
 Programmer consiste à construire un ensemble
ordonné d'instructions qui, lorsqu'elles sont exécutées,
produisent des effets précis et utiles sur les
informations contenues dans un ordinateur.

 L'ensemble des instructions s'appelle « un


programme ».
 Les programmes et les données sont placés sur un
pied d'égalité dans la mémoire.

 Il est impossible de discerner les programmes des


données si ce n'est par l'effet qu'ils ont sur l'unité
logique.
Enchaînement des Branchement
instructions

 Instruction d’entrée/sortie : lecture ou écriture


(caractère, nombre,…)
 Commande de gestion des périphériques (imprimante,
disque,…)
QU’EST CE QU’UN ALGORITHME
 Un algorithme est un ensemble d’opérations ordonné
et fini devant être suivi dans l’ordre pour résoudre un
problème.

 Un algorithme a pour but principal de résoudre un


problème et donc de produire un résultat.
POURQUOI UTILISER UN ALGORITHME?
 Pour effectuer une tâche, un ordinateur a besoin d’un
programme informatique.
 L’ordinateur exécute ensuite le programme, en suivant
chaque étape de façon automatique pour atteindre
l’objectif.
 Il faut aussi dire à l’ordinateur comment faire ce qu’il
doit faire. “C’est le rôle d’un algorithme informatique.”
INPUT ET OUTPUT D’UN ALGORITHME

Les algorithmes informatiques fonctionnent par le biais:

 d’entrée(Input)et
 de sortie (output)

Ils reçoivent l’input et appliquent chaque étape de


l’algorithme à cette information pour générer un output.
POURQUOI UTILISER UN ALGORITHME?

Problème ? Résoudre avec l’ordinateur ?


 Quoi faire ? Données (information du problème)
 Comment faire (traitements)

Algorithme (idée) pour trouver la solution


TERMINOLOGIES
 Un algorithme = une méthode pour obtenir un
résultat.
 Un programme = un algorithme écrit dans un
langage de programmation.
 Un problème algorithmique = un problème à
résoudre avec un algorithme.
REMARQUE IMPORTANT
 Pour un problème, donne, il peut y avoir plusieurs
algorithmes différents.
 Mais qui donne le même résultat ?
EXEMPLE D’ALGORITHME

 Écrire un algorithme qui lit 2 entiers x et y, au


clavier puis affiche leur somme et leur produit.
La méthode de résolution :
 Lecture et compréhension de l’exercice
 Analyse: données inconnues : x, y de types entiers
 Traitements : on utilise les instructions suivantes :
-Lire: instruction d’entrée
-Afficher: instruction de sortie
-Somme: Opération d’affectation de l’opération somme
-Produit: opération d’affectation de l’opération produit
 Écrire l’algorithme
N.B: Cet algorithme, écrit dans un langage de
programmation (comme le c) devient un programme
informatique qu’on peut exécuter.
Algorithme Exercice1:
/*partie declaration*/
Variable x,y, somme, produit;
/*Traitements -partie corps de l’algorithme*/
Debut
Lire (x);
Lire (y);
Somme x+y;
Produit x*y;
Ecrire (‘somme=‘, somme);
Ecrire (‘produit=’, produit);
Fin
TYPES DE DONNÉES
Il existe 5 principaux types :
Types de bases ou primitifs
 Les entiers (1,2,3,4, …)
 Les réels ou flottants (1.0, 12.345, 3.141567, …)
 Les caractères (a,b,c,d, …?,!,%)
 Les chaînes de caractères (constitue tout type de
caractères comme les caractères alphabétique,
numériques et symboles)
 Les booléens (valeur TRUE ou FALSE), : 2<3 ou 3≠5
TYPES D’INSTRUCTIONS
Une instruction est un ordre qui permet de spécifier à la
machine l’action à effectuer. Parmi les instructions
simples, on a :
 Les instructions simples non-décomposables
- L’instruction d’affectation
- L’instruction de lecture
- L’instruction d’écriture
 Les instructions alternatives
 Les instructions répétitives
INSTRUCTION D’AFFECTATION
 Une affectation est une instruction élémentaire qui permet
d’attribuer une valeur à une variable.
 C’est une structure particulièrement courante en
programmation et dispose de plusieurs notations (syntaxe):
x= expression;
x:= expression;
x expression;
Qu’est-ce qu’une instruction d’affectation?
 C'est une instruction qui modifie le contenu d’une
case mémoire en lui affectant une valeur.
 Permet de copier une donnée d’un endroit a un autre,
c’est-à-dire recréer une entité identique a un endroit
différent.
 En d’autres termes, l’instruction d’affectation consiste
à attribuer une valeur à une variable.
INSTRUCTION D’AFFECTATION
La syntaxe générale d’une affectation dans un algorithme est la suivante:

Variable Expression

 Qui se lit “variable prend la valeur de l’expression”


 L’opérateur d’affectation est appelé un opérateur binaire, car il
comporte à sa gauche un premier opérande et a sa droite
un deuxième opérande.
 Après l’affectation, le contenu de variable est modifié ;
 Il contient désormais la valeur de l’expression de droite.
INSTRUCTION D’AFFECTATION

Variable Expression

 Son mode de fonctionnement est le suivant : on évalue d’abord


l’expression de droite avant de l’affecter à la “variable.”
a. Variable
 C’est un conteneur qui peut contenir tout type de
données.
 Une variable est un objet dont le contenu peut changer
au cours de l’exécution de l’algorithme.
 Une variable est utilisée pour stocker une forme de
données.
 Déclaration d’une variable
Syntaxe: type_nom variable;//ou pour plusieurs variables: type-
nom variable1; type-nom variable2; type-variable3; etc…
b. Constante
 Une constante est un objet dont le contenu reste
invariant lors de l’exécution d’un algorithme.
 Si vous voulez définir une variable dont la valeur ne
peut pas être changée, vous pouvez utiliser le mot-
clé const, cela va créer une constante.
 Exemple :
const double PI=3.14;
Ici, « PI » est une constante ; sa valeur ne peut être changée.
c. Fonction
Elle contient un ensemble unique d’instructions liées qui
utilisent des informations en entrée pour créer une
information de sortie.
 Entrée : signifie fournir au programme certaines
données à utiliser dans le programme.
 Sortie : signifie afficher des données à l'écran ou les
écrire sur une imprimante ou dans un fichier.
d. Commentaire
Utiliser pour permettre une interprétation aisée de
l’algorithme.
 Leur utilisation est vivement conseillée.
 Tout texte place entre les symboles « /* */ » sera
considéré comme un commentaire
Structure de données
 La plupart des bons algorithmes fonctionnent
grâce à une méthode astucieuse pour organiser
les données :
 Il y a plusieurs classes de structures de données:
- Les structures de données séquentielles (tableaux);
- Les structures de données linaires (liste chaînée),
- Les graphes ,
- les arbres.
d. CODAGE
 C’est un processus de transformation des idées, des
solutions et des instructions dans un langage que
l’ordinateur peut comprendre.
Introduction
 C’est un langage de programmation procédural.
 Il a été développé par Dennis Ritchie entre 1969 et
1973.
 Il a été principalement développé en tant que
langage de programmation système pour écrire « un
système d'exploitation (ex: Windows os)».
 Les principales caractéristiques du langage C,
incluent un accès de bas niveau à la mémoire, un
ensemble simple de mots-clés et un style clair.

 Ces fonctions rendent le langage C adapté aux


programmations système tel que le développement
d'un système d'exploitation ou d'un compilateur.
b Structure d’un programme C
 Par structure, on entend que tout programme ne
peut être écrit que dans cette structure.
N.B: L'écriture d'un programme C dans n'importe
quelle autre structure conduira donc à une erreur
de compilation (exécution).

 Un programme écrit en langage C est composé


de deux parties :
Partie 1: les déclarations:
 <stdio.h> est une bibliothèque
 Tout langage de programmation contient de fichiers
de bibliothèques ou librairies.

N.B: En informatique, une bibliothèque logicielle est


une collection de routines (programmes), qui sont
déjà compilées et prêtes a être utilisées par des
programmes qu’on écrit nous-mêmes.
Partie 1: les déclarations:
 <stdio.h>, avec les acronymes
std: standard
io : Input (entrée) /Output(sortie)
h : Header (fichier d’en-tête)
 <stdio.h>: « standard Input/Output Header» ou
« En-tête standard entrée/Sortie» est un fichier
d’en-tête de la bibliothèque Standard du C
 Les fichiers standard
 La programmation en C traite tous les périphériques en
tant que fichiers.
Fichier standard Pointeur de fichier périphérique

Entrée standard stdin Clavier

Sortie standard stdout Ecran

Erreur standard stderr Ecran


Partie 1: les déclarations:
 la fonction main() est la fonction principale des
programmes en C.
 Elle se trouve obligatoirement dans tous les
programmes
 L’exécution d’un programme enchaîne
automatiquement l’appel de la fonction main()
Partie 1: les déclarations:
 return o; : indique a l’environnement que le
programme s’est terminé avec succès sans
anomalies ou erreurs fatales.
Autres fichiers d'en-tête C:
 #include < stdlib.h >: définit les fonctions de
conversion numérique, allocation de mémoire.
 #include < string.h>: définit les fonctions de gestion
de chaîne.
 #include < math.h >: définit les fonctions
mathématiques communes.
 #include < stdint.h >: définit les types entiers de
largeur exacte.
Partie 2: le corps du programme:
 Tout programme C doit comporter une fonction
principale ’’main’’.
 Cette fonction est celle utilisée par le système pour
exécuter le programme.
Comment exécuter un programme en C?
 Nous avons besoin d'un compilateur pour compiler et
exécuter nos programmes. »

N.B: Un compilateur est un programme qui traite les


instructions écrites dans un langage de programmation
donné pour les traduire en langage machine, ou « code »,
utilisé par le processeur d'un ordinateur.
d. Macros et Pré-processeurs
 Macros:
 une macro est un ensemble de lignes de code qui
contiennent des instructions.
 Ces instructions vont être interprétées pour réaliser des
tâches diverses : opérations mathématiques, etc…
 Pré-processeurs:
 Le préprocesseur est un programme exécuté lors de la
première phase de la compilation.
 Il effectue des modifications textuelles sur le fichier
source à partir de directives.
 Les différentes directives au préprocesseur, introduites
par le caractère #, ont pour but :
#include: l'incorporation de fichiers source
#define: la définition de constantes symboliques et de
macros
#if, #ifdef,...: la compilation conditionnelle
N.B: Les crochets angulaires < et > indiquent au
préprocesseur de rechercher dans ’’le dossier standard
où sont stockés tous les fichiers d’en-tête’’.
Premier programme en C:

#include <stdio.h>
int main(void) {
printf(“Bonjour AGCCI,\n\n") ;
printf(“Le camp de codage se tiendra du 20 au 28 mars 2023”);
return 0 ;
}
Exemple2 :
dans le programme suivant, max est défini sur 100.

Code exemple2 :
#include <stdio.h>
#define max 100
int main(void)
{
printf("max = %d \n", max);
return 0;
}
 Un fichier d'en-tête peut être inclus plusieurs fois,
directement ou indirectement, ce qui entraîne des problèmes
de déclaration répétitive des mêmes variables / fonctions.
 Pour éviter ce problème, des directives telles
que defined, ifdef et ifndef sont utilisées.
 Certaines macros standard peuvent être utilisées pour
afficher le fichier de programme (__FILE__), la date de
compilation (__DATE__), l'heure de compilation (__TIME__)
et le numéro de ligne dans le code C (__LINE__).
Exemple3:
#include <stdio.h>
int main(void)
{
printf("Fichier actuel : %s\n\n ",__FILE__);
printf("Date actuel : %s \n\n",__DATE__);
printf("Heure actuel : %s\n\n ",__TIME__);
printf("Numéro de la ligne: %d\n\n ",__LINE__);

return 0;
}
MOTS-CLES:
 Les mots-clés sont des mots prédéfinis et réservés utilisés en
programmation qui ont une signification particulière pour le
compilateur.
 Les mots-clés font partie de la syntaxe et ils ne peuvent pas
être utilisés comme identifiant.
 Exemple: float salaire; Ici, float est un mot-clé qui indique
que salaire est une variable de type float (réelle).
N.B: Comme C est un langage sensible à la casse, tous les
mots-clés doivent être écrits en minuscules. Voici une liste
de tous les mots-clés autorisés dans C.
auto double int struct
break else long switch
case enum register typedef
char extern return union
continue for signed void
do if static while
default goto sizeof volatile
const float short unsigned
 Jeu de caractères:
 Un jeu de caractères est un ensemble d’alphabets, de lettres
et de certains caractères spéciaux valides en langage C.
Alphabets: C accepte les alphabets minuscules et majuscules
comme noms de variables et fonctions
Majuscule:A,B,C,D……..X,Y,Z,
Minuscules: a,b,c,d,…..x,y,z.
Chiffres: 0123456789
 Caractères spéciaux :
, < > . _

( ) ; $ :

% [ ] # ?

' & { } "

^ ! * / |

- \ ~ +
IDENTIFICATEURS:
 L’identificateur désigne le nom donné à des entités
telles que des variables, des fonctions, des structures,
etc.
 Les identificateurs doivent être ‘’uniques’’.
 Ils sont créés pour donner un nom unique pour une
entité de l'identifier lors de l'exécution du programme.
 Exemple:
float salaire;
Ici, salaire et age sont des identificateurs.
int Age;
N.B: Rappelez-vous également que les noms
d'identificateurs doivent être différents des mots clés.
Vous ne pouvez pas utiliser int comme identifiant car int
est un mot-clé.
Règles de nommer des identificateurs :
 Un identificateur valide peut avoir des lettres (en
majuscules et en minuscules), des chiffres et des
soulignements.
 La première lettre d'un identificateur doit être une
lettre ou un trait de soulignement.
 Vous ne pouvez pas utiliser des mots-clés comme
identificateurs.
 Il n'y a pas de règle sur la longueur d'un identificateurs.
Cependant, certains compilateurs peuvent rencontrer des
problèmes si l'identificateur comporte plus de 31 caractères
 double: Il est utilisé pour stocker des nombres
décimaux (nombres avec une valeur à virgule
flottante) avec une double précision.
 ci-dessous une liste de plages ainsi que les exigences
en matière de mémoire et de format sur un
compilateur gcc 32 bits.
Taille Spécificateur de
Type de données plage de valeurs
(octets) Format

int 4 -2,147,483,648 to 2,147,483,647 %d

float 4 %f

char 1 -128 to 127 %c

double 8 %lf
Void: est un type incomplet. Cela signifie "rien" ou "pas
de type". Vous pouvez penser à void comme absent.
Par exemple:
 si une fonction ne renvoie rien, son type de retour
doit être nul.
 Notez que vous ne pouvez pas créer de variables de
type void.
 Nous pouvons utiliser l'opérateur sizeof() pour
vérifier la taille d'une variable.
Fonctions scanf() et printf()
 Le fichier d'en-tête d'entrée-sortie standard,
nommé stdio.h contient la définition des
fonctions printf() et scanf(), qui sont utilisées pour afficher
la sortie à l'écran et pour lire l'entrée de l'utilisateur
respectivement.
printf()
La fonction printf() affiche la valeur transmise en tant que
paramètre sur l'écran de la console
Syntaxe: printf(“%X”, variableDeTypeX);
scanf()
 La méthode scanf() lit la valeur de la console selon le type
spécifié.
Syntaxe: Scanf(“%X”, variableDeTypeX);
5. LES OPÉRATEURS EN C

 Les opérateurs sont la base de tout langage de


programmation. Ainsi, la fonctionnalité du langage
C est incomplète sans l'utilisation d'opérateurs.
 Les opérateurs nous permettent d’effectuer différents
types d’opérations,
 En programmation, les opérateurs peuvent être
classés dans les catégories suivantes :
a) Les opérateurs arithmétiques

b) Les opérateurs rationnels

c) Les opérateurs logiques


a) Opérateurs arithmétiques

 Ils sont utilisés pour effectuer des opérations


arithmétiques/mathématiques.
Addition : L'opérateur ‘+’ ajoute deux opérandes.
Par exemple, x+y.
Soustraction: l'opérateur ‘ - ' soustrait deux opérandes.
Par exemple, x-y.
Multiplication: l'opérateur ’ * ' multiplie deux opérandes.
Par exemple, x*y.
Division: l'opérateur '/' divise le premier opérande par le second. Par
exemple, x/y.
b) Opérateurs relationnels
Les opérateurs relationnels sont utilisés pour comparer deux
valeurs :
 L'opérateur ‘==’(égalité) : vérifie si les deux opérandes sont égaux
ou non. Si oui, il renvoie la valeur true. Sinon, il retourne false.
Par exemple, 5==5 retournera true.
 L’opérateur ‘>’(supérieur) : vérifie si le premier opérande est
supérieur au deuxième opérande. Si c'est le cas, cela retourne true.
Sinon, il retourne false.
Par exemple: 6 > 5 retournera true.
L’opérateur ‘<‘ (inferieur): vérifie si le premier opérande est inférieur
au deuxième opérande. Si c'est le cas, cela retourne true. Sinon, il
retourne false. Par exemple, 6 < 5 renverra false.
 L’opérateur ‘> =’(supérieur ou égal) : vérifie si le premier opérande
est supérieur ou égal au deuxième opérande. Si c'est le cas, cela
retourne true. Sinon, il retourne false.
Par exemple, 5 > = 5 retournera true.
 L’opérateur ‘<=’(inferieur ou égal) : vérifie si le premier opérande
est inférieur ou égal au deuxième opérande. Si c'est le cas, cela
retourne true. Sinon, il retourne false.
Par exemple, 5 <= 5 retournera également true.
 L'opérateur ‘!=’(difference) : vérifie si les deux opérandes sont
égaux ou non. elle renvoie la valeur true si les deux opérandes ne
sont pas égaux, Sinon, il retourne false
Par exemple : 5!=5 retournera false
c) Opérateurs logiques
Les opérateurs logiques sont utilisés pour combiner deux ou
plusieurs conditions / contraintes .
 Logique ET ‘&&’ :
l’opérateur ‘&&’ retourne true lorsque les deux
conditions considérées sont remplies. Sinon, il
retourne false.

Par exemple, a && b renvoie true lorsque a et b sont


vraies (c'est-à-dire différentes de zéro).
Logique OU ‘||’:
l’opérateur «||» renvoie la valeur true lorsque l’une (ou
les deux) des conditions considérées est remplie. Sinon,
il retourne false.

Par exemple, a || b renvoie true si l'un des a ou b


est true (c'est-à-dire différente de zéro). Bien sûr, il
retourne true lorsque a et b sont toutes les deux
vraies.
 Logique NON ‘!‘:
L’opérateur ‘!’ Renvoie true si la condition
considérée n’est pas remplie. Sinon, il
retourne false.

Par exemple: !a retourne true si a est false, c’est-à-


dire quand a = 0.
 En programmation, une boucle permet de répéter une
séquence d'instructions jusqu'à ce qu'une certaine
condition soit atteinte.

 Il existe principalement deux types de boucles:


 Boucles à entrée contrôlée: dans ce type de boucles, la
condition est testée avant d'entrer dans le corps de la
boucle. boucle « for (pour)» et boucle « while (tant
que) » sont des boucles d'entrée contrôlées.
 Boucles à sortie contrôlée: dans ce type de boucles, la
condition est testée ou évaluée à l'extrémité du corps
de la boucle.

Par conséquent, le corps de boucle s'exécutera au moins


une fois, que la condition soit true ou false.
« do-while (répéter jusqu’à)» est une boucle de sortie
contrôlé.
a) boucle for « pour »
Une boucle for est une structure de contrôle répétitive
qui nous permet d'exécuter un block d'instructions un
nombre de fois spécifique.

Syntaxe :
for(initialisation ; condition ; mise à jour){
// bloc d'instructions à répéter
}
Explication de la syntaxe for:

Initialisation: Dans cette expression, nous devons


initialiser le compteur de boucle à une valeur. par
exemple: i = 1;
condition: nous devons tester la condition. Si la
condition est true, nous exécuterons le corps de la
boucle et mettrons à jour l'expression, sinon nous
sortirons de la boucle for.
Par exemple: i <=5;
mise à jour : après avoir exécuté le corps de la
boucle, cette expression incrémente / décrémente
la variable de la boucle d'une valeur. par
exemple: i++;
b) boucle while “tant que”
 Les boucles while sont utilisées dans des situations où nous
ne connaissons pas le nombre exact d'itérations de boucle
auparavant.
 L'exécution de la boucle est terminée sur la base d'une
condition.
Syntaxe : initialisation
while(condition){
// corps de la boucle
mise à jour
}
c) boucle do-while “répéter jusqu’à”
 Dans les boucles do while, l'exécution de la boucle est
également terminée sur la base d'une condition de test.
 La différence principale entre la boucle do while et la
boucle while est que dans la boucle do while, la condition
est testée à la fin du corps de la boucle;
Syntaxe initialisation
do{
// corps de la bucle
mise à jour;
}while(condition);

Vous aimerez peut-être aussi