0% ont trouvé ce document utile (0 vote)
8 vues25 pages

Introduction à l'algorithmique en C

Transféré par

amineounanamine1
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues25 pages

Introduction à l'algorithmique en C

Transféré par

amineounanamine1
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Coordination VRSP Première année Tronc Commun Parcours Ingénieur

Structures des données Sciences et Technologies

TP 3 : Algorithmique et Langage C
I. Introduction

L’objectif de ce TP3 est d’introduire les bases de l’algorithmique tout en les appliquant de manière
concrète à travers le langage C. Ce TP marque une étape importante dans l'apprentissage des
algorithmes, car il fait le lien entre la théorie et la pratique en programmation. Les étudiants
apprendront à concevoir des solutions logiques pour résoudre des problèmes et à les implémenter
en C.

Au cours des TP précédents, des fondations essentielles ont été posées. Dans le TP1, nous avons
exploré la représentation et le codage des nombres, en étudiant les différents systèmes de
numération (binaire, octal, décimal et hexadécimal) ainsi que leur conversion. Ces notions sont
fondamentales pour comprendre comment les données sont manipulées par l'ordinateur, et elles
seront directement utiles lors de la manipulation des données dans ce TP, notamment pour les
opérations impliquant des nombres ou des bits.

Dans le TP2, l'étude de l’algèbre de Boole nous a permis de comprendre et de manipuler des
expressions booléennes, de construire des tables de vérité, et de découvrir les principes des circuits
logiques. Ces concepts trouvent leur application directe dans la gestion des conditions (avec les
instructions if, switch, ...) et des structures de contrôle logiques, qui sont des éléments clés en
programmation.
Le TP3 a pour objectif de vous familiariser avec les structures de base de l’algorithmique, telles
que les conditions, les boucles, les procédures et les fonctions. Vous apprendrez à analyser un
problème, à concevoir un algorithme pour le résoudre, et à le traduire en un programme C
fonctionnel, en utilisant les principes appris dans les TP précédents.

BOUCHABOU K. 1
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

II. Algorithme et Actions Primitives

Un algorithme est une série d'instructions précises, organisées de manière logique, qui permettent
de résoudre un problème ou d'atteindre un objectif particulier. Il peut être utilisé dans de nombreux
domaines, notamment la programmation, les mathématiques et les sciences. Les algorithmes sont
au cœur de tout programme informatique, servant de plan pour exécuter des tâches spécifiques.

Par exemple, une recette de cuisine peut être considérée comme un algorithme : elle contient une
liste d’ingrédients (les entrées) et une série d’instructions claires (le traitement) pour obtenir un
plat (la sortie).

Pour être considéré comme un algorithme valide, il doit répondre aux critères suivants :

• Finitude : L’algorithme doit se terminer après un nombre fini d’étapes.


• Clarté : Chaque étape doit être clairement définie et compréhensible.
• Efficacité : L’algorithme doit être optimisé pour utiliser le moins de ressources possible.
• Entrées et sorties : Il doit pouvoir recevoir des données en entrée et fournir des résultats
en sortie.

L'algorithme est indépendant du langage de programmation utilisé, ce qui le rend universel et


adaptable.

II.1- Actions Primitives

Les actions primitives sont les éléments fondamentaux d’un algorithme. Ce sont des instructions
simples, élémentaires, et non décomposables, que l’ordinateur ou le programme peut exécuter
directement. Ces actions servent de blocs de construction pour élaborer des algorithmes capables
de résoudre des problèmes complexes :

• Lecture (Input) : La lecture est une action primitive qui consiste à recevoir des données
fournies par une source externe. Cela peut inclure la saisie d’informations par
l’utilisateur au clavier, la lecture de données depuis un fichier ou encore la réception de
données via un capteur ou un réseau. Par exemple, demander à l’utilisateur d’entrer son
âge dans un programme est une action de lecture.

BOUCHABOU K. 2
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

• Écriture (Output) : L’écriture est une action primitive qui permet d’afficher ou de
transmettre une donnée. Elle est souvent utilisée pour communiquer des résultats ou des
messages à l’utilisateur. Par exemple, un programme qui calcule la somme de deux
nombres affiche ensuite le résultat à l’écran grâce à une action d’écriture.
• Affectation (Assignment) : L’affectation est l’action qui consiste à attribuer une valeur
à une variable. Cette valeur peut être une constante, une donnée lue par une action de
lecture, ou le résultat d’une opération mathématique ou logique. Par exemple, stocker le
résultat d’une addition dans une variable pour une utilisation ultérieure est une action
d’affectation.
• Opérations Mathématiques (Arithmetic Operations) : Les algorithmes utilisent souvent
des calculs pour résoudre des problèmes, comme l’addition, la soustraction, la
multiplication, ou la division. Ces opérations sont des actions primitives qui manipulent
des nombres pour produire des résultats. Par exemple, dans un programme qui calcule la
moyenne de deux notes, les actions mathématiques incluent l’addition des deux notes et
leur division par deux.
• Comparaison (Comparison) : Les comparaisons sont des actions primitives qui
permettent de tester des relations entre des valeurs, comme l’égalité, la supériorité, ou
l’infériorité. Ces tests sont souvent utilisés dans des structures conditionnelles pour prendre
des décisions. Par exemple, déterminer si un nombre est positif ou négatif nécessite une
action de comparaison.
• Opérations Logiques (Logical Operations) : Les opérations logiques permettent de
combiner plusieurs conditions ou de manipuler des valeurs booléennes (vraies ou fausses).
Par exemple, vérifier si un étudiant a réussi un examen implique de tester plusieurs critères,
comme une note supérieure à la moyenne et une présence suffisante.

II.2- Structure d’un algorithme

BOUCHABOU K. 3
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

Un algorithme est une suite finie d’instructions ordonnées permettant de résoudre un problème ou
de réaliser une tâche spécifique. Pour être efficace, un algorithme doit suivre une structure bien
définie, qui facilite sa compréhension, son développement et sa traduction en langage de
programmation.

L’en-tête présente brièvement l’algorithme, ses entrées (les données initiales), et ses sorties (les
résultats attendus). C’est une sorte de résumé de l’algorithme, expliquant ce que l’algorithme fait
et ce qu’il produit.

La partie déclarative consiste à définir les variables et les types de données utilisés par
l'algorithme. Cela permet de préparer l'espace mémoire pour stocker les valeurs nécessaires
pendant l'exécution.

Le corps de l’algorithme contient toutes les instructions qui réalisent le traitement réel. C'est là
que l'algorithme effectue les calculs, applique des opérations sur les données, et génère les
résultats.

Exemple : Calcule d’une somme

• En-tête : Déclare le nom de l'algorithme

Algorithme : CalculeSomme

Entrées : A, B (deux entiers)


Sorties : S (la somme de A et B)

• Partie Déclarative : Déclare les variables utilisées.

int A, B, S; // Déclaration des variables

• Corps : Effectue les opérations nécessaires pour calculer et afficher la somme.

Début
Lire A, B // Lire les deux nombres
S ←A+ B // Calculer la somme
Écrire S // Afficher le résultat
Fin

II.3- Organigramme

Un organigramme est un outil visuel permettant de représenter la structure et le déroulement d’un


algorithme de manière graphique. Les organigrammes utilisent des symboles standardisés pour
décrire les actions et les décisions dans l'algorithme. Ces symboles permettent de comprendre
facilement la logique d’un programme sans avoir à lire son code. Voici un aperçu des symboles les
plus courants utilisés dans un organigramme :

BOUCHABOU K. 4
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

Symbole Désignation

Il est utilisé pour représenter le début ou la fin d'un algorithme.


Exemple : "Début" ou "Fin".

Utilisé pour les opérations d'entrée ou de sortie, comme la lecture


ou l’écriture des données.
Exemple : "Lire A, B" ou "Écrire S".

Il représente une action ou un traitement, comme une opération


mathématique ou une affectation.
Exemple : "S ← A + B" (calcul de la somme).

Il représente une décision ou une condition, où le flux d'exécution


dépend de la vérité ou de la fausseté d'une condition.
Exemple : "A > B ?", ou si la condition est vraie, on suit un chemin,
sinon un autre.

Elles sont utilisées pour indiquer le flux du programme, c’est-à-


dire la direction de l'exécution.

Exemple :

BOUCHABOU K. 5
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

III. Langage C

Le langage C est un langage de programmation de bas niveau, conçu pour offrir un contrôle précis
sur les ressources matérielles tout en restant relativement simple à utiliser. Il permet une gestion
directe de la mémoire, notamment à travers l’utilisation de pointeurs et d’allocation dynamique,
ce qui le rend particulièrement adapté pour la programmation système, le développement de
systèmes d’exploitation, et la création de logiciels nécessitant des performances optimisées. Sa
syntaxe concise, associée à sa capacité à être exécutée rapidement sur une large gamme de
plateformes matérielles, fait de C un langage incontournable pour les développeurs travaillant sur
des projets nécessitant efficacité et portabilité.

Pour commencer à utiliser le C, vous avez besoin de deux éléments :

• Un éditeur de texte, comme Notepad, pour écrire le code C


• Un compilateur, comme DevC++, pour traduire le code C en un langage compréhensible
par l'ordinateur

III.1- Syntaxe de Langage C

Ligne 1 : #include <stdio.h> est une bibliothèque d'en-tête qui permet d'utiliser des fonctions
d'entrée et de sortie, comme printf() (utilisé à la ligne 4). Les fichiers d'en-tête ajoutent des
fonctionnalités aux programmes en C.

Ligne 2 : Une ligne vide. Le langage C ignore les espaces blancs, mais nous les utilisons pour
rendre le code plus lisible.

Ligne 3 : Une autre partie fondamentale d'un programme C est main(). Il s'agit d'une fonction. Le
code à l'intérieur de ses accolades {} sera exécuté.
Ligne 4 : printf() est une fonction utilisée pour afficher du texte à l'écran. Dans notre exemple,
elle affichera "Bonjour, Monde!". Notez que chaque instruction en C se termine par un point-
virgule ;.

BOUCHABOU K. 6
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

Ligne 5 : return 0; termine la fonction main(). N'oubliez pas d'ajouter l'accolade fermante } pour
bien clôturer la fonction main().

Un programme informatique est une liste d'« instructions » à exécuter par un ordinateur. Dans un
langage de programmation, ces instructions sont appelées instructions. L'exemple précèdent «
ordonne » au compilateur d'afficher le texte « Bonjour Monde! » à l'écran.

Il est important de toujours terminer une instruction par un point-virgule ;. Si vous oubliez le point-
virgule, une erreur se produira et le programme ne pourra pas s'exécuter :

Lorsque vous travaillez avec du texte, celui-ci doit être encadré par des guillemets doubles "". Si
vous oubliez les guillemets doubles, une erreur se produira :

BOUCHABOU K. 7
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

Pour insérer un saut de ligne, vous pouvez utiliser le caractère \n :

Le caractère de nouvelle ligne (\n) est une séquence d'échappement, qui oblige le curseur à se
déplacer au début de la ligne suivante à l'écran, ce qui crée un saut de ligne.

Caractère Description

\t Crée une tabulation horizontale

\\ Insère un caractère barre oblique (\)

\" Insère un caractère guillemet double (")

Les commentaires sont utilisés pour expliquer le code et le rendre plus lisible. Ils peuvent
également être utilisés pour empêcher l'exécution de certaines parties du code lors de tests ou
d'expérimentations. Tout texte commentaire sera ignoré par le compilateur. Il existe deux types de
commentaires en C : les commentaires sur une seule ligne et les commentaires multi-lignes.

• Les commentaires sur une seule ligne commencent par deux barres obliques (//).
• Les commentaires multi-lignes commencent par /* et se terminent par */.

BOUCHABOU K. 8
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

III.2- Types de Données et Variables

Dans le langage C, les types de données et les variables sont des concepts fondamentaux qui
permettent de stocker et manipuler différentes sortes de données. Cette section explique les types
de données les plus courants en C, ainsi que la manière de déclarer et utiliser les variables.

En C, un type de donnée spécifie la nature des informations qu’une variable peut stocker. Les
types primitifs les plus courants incluent les entiers, les réels, et les caractères.

Type Description Taille Exemple


int Entier, utilisé pour les nombres entiers 4 bytes int age = 25;
Flottant, utilisé pour les nombres à virgule
float 4 bytes float temp = 36.5;
(6 nombres après la virgule)
Double précision pour les réels (15 nombres
double 8 bytes double pi = 3.14159;
après la virgule )
char Caractère, utilisé pour stocker un caractère 1 byte char program = "DevC";
Aucun type de retour, utilisé dans certaines
void / void afficher();
situations

Les types de données en C permettent de définir différentes sortes de valeurs, qu'elles soient
entières, réelles, ou alphabétiques, et sont essentiels pour la manipulation des données dans le
programme.

Une variable est un espace mémoire dans lequel une donnée de type spécifique peut être stockée
et manipulée. Avant d'utiliser une variable, il est nécessaire de la déclarer en précisant son type,
puis de lui attribuer une valeur initiale.

La déclaration d’une variable en C suit la syntaxe suivante :

type nom_de_variable;

Exemple :

int x; Déclaration d'une variable entière x.


float temp; Déclaration d'une variable flottante temp.
int x = 10; Déclaration et initialisation d'une variable entière

Les constantes sont des valeurs fixes qui ne peuvent pas être modifiées une fois définies. Elles
peuvent être utilisées pour rendre le code plus lisible et éviter des erreurs de modification
accidentelles. On utilise le mot-clé const pour déclarer une constante.

La déclaration d’une constante en C suit la syntaxe suivante :

BOUCHABOU K. 9
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

const type nom_de_const; ou #define nom_de_const valeur_de_const

Exemple :

Const int MAX_NUM = 100; Déclaration d'une constante entière MAX_NUM.


#define PI 3.14 Déclaration d'une constante flottante PI.

III.3- Entrée et Sortie

L’entrée et la sortie (I/O pour Input/Output) sont des mécanismes essentiels dans tout programme,
permettant à l’utilisateur d’interagir avec le programme. En C, ces opérations se font
principalement à l’aide des fonctions fournies par la bibliothèque standard, telles que printf et
scanf.

La fonction printf est utilisée pour afficher des informations à l'utilisateur ou pour la sortie des
résultats du programme. Elle permet d'afficher des chaînes de caractères, des variables, et d'autres
valeurs à l'écran.

BOUCHABOU K. 10
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

Format de sortie Description Exemple


%d Affiche un entier printf("%d", nom_var);
%f Affiche un nombre réel (float) printf("%f", nom_var);
%c Affiche un caractère printf("%c", nom_var);
%s Affiche une chaîne de caractères printf("%s", nom_var);
%lf Affiche un nombre réel de double précision printf("%lf", nom_var);

La fonction scanf est utilisée pour lire des données entrées par l'utilisateur au clavier. Elle permet
de récupérer des valeurs et de les stocker dans des variables spécifiques.

BOUCHABOU K. 11
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

III.4- Operateurs

Les opérateurs sont utilisés pour effectuer des opérations sur des variables et des valeurs. Dans
l'exemple suivant, l'opérateur + est utilisé pour additionner deux valeurs :

L'opérateur + peut également additionner une variable et une valeur, ou deux variables :

Les opérateurs sont regroupés en différentes catégories selon leur usage :

III.4.1- Les Opérateurs Arithmétiques

Les opérateurs arithmétiques permettent d'effectuer des opérations mathématiques courantes.

Opérateur Nom Description Exemple


+ Addition Additionne deux valeurs x+y
- Soustraction Soustrait une valeur à une autre x-y
* Multiplication Multiplie deux valeurs x*y

BOUCHABOU K. 12
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

/ Division Divise une valeur par une autre x/y


% Modulo Retourne le reste d'une division x%y
++ Incrémentation Augmente une variable de 1 ++x
-- Décrémentation Diminue une variable de 1 --x

III.4.2- Les Opérateurs d’Affectation


Les opérateurs d’affectation servent à attribuer des valeurs aux variables. L’opérateur = est le plus
simple, mais il existe des variantes combinant affectation et opération.

Opérateur Exemple Équivalent à


= x=5 x=5
+= x += 3 x=x+3
-= x -= 3 x=x-3
*= x *= 3 x=x*3
/= x /= 3 x=x/3
%= x %= 3 x=x%3
&= x &= 3 x=x&3
|= x |= 3 x=x|3
^= x ^= 3 x=x^3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3

III.4.3- Les Opérateurs de Comparaison

Les opérateurs de comparaison permettent de comparer deux valeurs ou variables. Ils renvoient
une valeur booléenne : 1 (vrai) ou 0 (faux).

Opérateur Nom Description Exemple

== Égal à Retourne 1 si les valeurs sont égales x == y

!= Différent de Retourne 1 si les valeurs sont différentes x != y

BOUCHABOU K. 13
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

Retourne 1 si la première valeur est plus


> Supérieur à x>y
grande
Retourne 1 si la première valeur est plus
< Inférieur à x<y
petite
Retourne 1 si la première valeur est
>= Supérieur ou égal à x >= y
supérieure ou égale
Retourne 1 si la première valeur est
<= Inférieur ou égal à x <= y
inférieure ou égale

III.4.4- Les Opérateurs Logiques

Les opérateurs logiques combinent plusieurs conditions pour tester des relations logiques entre
elles.

Opérateur Nom Description Exemple


Retourne 1 si toutes les
&& ET(AND) x < 5 && x < 10
conditions sont vraies
Retourne 1 si au minimum un
|| OU(OR) x < 5 || x < 4
des conditions sont vraies
! NON(NOT) Inverse le résultat logique !(x < 5 && x < 10)

III.5- Les Structures Conditionnelles

En C, les conditions logiques permettent d'exécuter différents blocs de code selon la décision prise.
Voici les opérateurs conditionnels les plus courants :

Opérateur Signification Exemple


a<b Moins que Vrai si a est strictement inférieur à b.
a <= b Inférieur ou égal Vrai si a est inférieur ou égal à b.
a>b Plus grand que Vrai si a est strictement supérieur à b.
a >= b Supérieur ou égal Vrai si a est supérieur ou égal à b.
a == b Égal à Vrai si a est égal à b.
a != b Différent de Vrai si a est différent de b.

Le langage C propose plusieurs structures conditionnelles pour contrôler le flux d'exécution de


votre programme :

• if (si) : Exécute un bloc de code si une condition est vraie.


• else (sinon) : Exécute un autre bloc de code si la condition est fausse.

BOUCHABOU K. 14
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

• else if (sinon si) : Permet de tester une nouvelle condition si la précédente est fausse.
• switch (selon) : Permet de choisir parmi plusieurs alternatives selon une valeur donnée.

III.5.1- Instruction (if)

L'instruction if en C est utilisée pour exécuter un bloc de code uniquement si une condition donnée
est évaluée comme vraie. Elle est essentielle pour la prise de décisions dans un programme. La
condition, placée entre parenthèses, doit être une expression logique ou relationnelle (par exemple,
x > 5 ou a == b). Si cette condition est vraie, le bloc de code entre accolades {} sera exécuté. Sinon,
il sera ignoré.

III.5.2- Instruction (else)

L'instruction else complète un if en permettant d'exécuter un autre bloc de code lorsque la condition
du if est évaluée comme fausse. Elle agit comme un plan de secours, garantissant qu'au moins un
des blocs de code sera exécuté.

III.5.3- Instruction (else if)

L'instruction else if permet de tester plusieurs conditions successivement après un if initial. Elle
est utile pour gérer des cas multiples. Si la condition du if est fausse, le programme vérifie la
condition suivante dans le else if, et ainsi de suite jusqu'à ce qu'une condition soit vraie ou qu'il
atteigne un bloc else (s'il existe).

BOUCHABOU K. 15
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

III.5.4- Instruction (switch)

L'instruction switch est utilisée pour exécuter différents blocs de code en fonction de la valeur
d'une seule expression ou variable. Elle est particulièrement adaptée lorsque plusieurs cas
possibles doivent être gérés. Chaque cas est défini par un mot-clé case, suivi d'une valeur et d'un
double point (:). Le mot-clé break est utilisé pour sortir du bloc après l'exécution d'un cas. Si
aucun des cas ne correspond, le bloc default (facultatif) est exécuté.

III.6- Les Boucles

En langage C, les boucles permettent d’exécuter de manière répétée un bloc de code tant qu’une
condition est remplie. Elles sont particulièrement utiles pour automatiser des tâches répétitives,
réduire le risque d’erreurs et rendre le code plus clair et plus facile à maintenir.

La boucle while est l’une des structures de boucle les plus simples. Elle exécute un bloc de code
tant qu’une condition donnée est évaluée comme vraie. La condition est vérifiée avant chaque
itération de la boucle. Si elle est fausse dès le départ, le bloc de code ne sera jamais exécuté.

BOUCHABOU K. 16
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

La boucle do/while est une variante de la boucle while. Contrairement à la boucle while, la boucle
do/while exécute son bloc de code au moins une fois, même si la condition est fausse. En effet,
la condition est vérifiée après l’exécution du bloc de code.

Ici, le message "10" sera affiché, bien que la condition (i < 5) soit fausse. La boucle ne se répète
pas, mais le bloc est exécuté une fois.

La boucle for est idéale lorsque vous savez exactement combien de fois vous souhaitez exécuter
un bloc de code. Elle permet de contrôler de manière précise l'initialisation, la condition de
répétition et l'incrémentation de la variable de boucle, le tout en une seule ligne.

BOUCHABOU K. 17
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

• Expression 1 : i = 0 initialise la variable i à 0 avant le début de la boucle.


• Expression 2 : i < 5 est la condition qui vérifie si la boucle doit continuer. Tant que i est
inférieur à 5, la boucle s'exécute.
• Expression 3 : i++ incrémente la valeur de i de 1 à chaque itération, garantissant que la
condition finira par devenir fausse, et que la boucle se terminera après cinq itérations.

III.7- Tableaux

Les tableaux permettent de stocker plusieurs valeurs sous une même variable, plutôt que de
déclarer des variables séparées pour chaque valeur.

Pour créer un tableau, il suffit de définir le type de données (par exemple, int) et de spécifier le
nom du tableau suivi de crochets []. Ensuite, vous pouvez insérer des valeurs dans le tableau en
les séparant par des virgules à l'intérieur de crochets {}. Toutes les valeurs doivent être du même
type de données.

Pour accéder à un élément d'un tableau, il faut se référer à son index. Les indices des tableaux
commencent à partir de 0 : [0] est le premier élément, [1] est le deuxième, etc.

BOUCHABOU K. 18
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

Pour modifier la valeur d'un élément spécifique du tableau, il suffit de référencer son index et de
lui attribuer une nouvelle valeur.

Un tableau à deux dimensions est souvent appelé une matrice, qui représente une table de lignes
et de colonnes. Pour accéder à un élément d'un tableau à deux dimensions, vous devez spécifier
l'indice de la ligne et de la colonne.

Ici, l'élément à la première ligne (0) et à la troisième colonne (2) est accédé. Rappelez-vous que
les indices des tableaux commencent à 0 : [0] est le premier élément, [1] est le deuxième, etc.

Pour modifier la valeur d'un élément d'un tableau 2D, vous devez spécifier l'indice correspondant
à la ligne et à la colonne de l'élément à modifier.

BOUCHABOU K. 19
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

Les chaînes de caractères sont utilisées pour stocker des textes ou des caractères. Par exemple,
"Bonjour Monsieur" est une chaîne de caractères.

Contrairement à de nombreux autres langages de programmation, le langage C ne dispose pas d'un


type String pour créer facilement des variables de type chaîne de caractères. En C, les chaînes sont
représentées comme des tableaux de caractères (type char). Voici un exemple de création d'une
chaîne de caractères en C :

Puisque les chaînes sont en réalité des tableaux en C, vous pouvez accéder à chaque caractère de
la chaîne en utilisant l’indice de ce caractère dans des crochets [].

Pour changer la valeur d’un caractère spécifique dans une chaîne, il suffit de faire référence à son
indice et de lui affecter une nouvelle valeur entre guillemets simples (' '):

BOUCHABOU K. 20
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

III.8- Fonctions

En C, une fonction est un bloc de code qui s'exécute uniquement lorsqu'elle est appelée. Les
fonctions permettent de regrouper des actions spécifiques dans un même endroit, ce qui facilite la
réutilisation du code. Une fonction peut recevoir des données, appelées paramètres, et effectuer
des actions en retour. Vous utilisez déjà des fonctions prédéfinies, comme main() qui exécute le
programme, ou printf() qui affiche du texte à l'écran.

Pour créer votre propre fonction, vous devez spécifier son nom, suivi de parenthèses () et
d'accolades {} contenant le code à exécuter. Par exemple :

Les fonctions en C permettent de structurer le programme en blocs de code réutilisables, qui ne


s'exécutent que lorsqu'ils sont appelés. Ces fonctions peuvent recevoir des informations sous forme
de paramètres, qui agissent comme des variables à l'intérieur de la fonction.

Lorsqu'une fonction est définie, les paramètres sont indiqués après son nom, entre parenthèses.
Ces paramètres servent à recevoir des valeurs lors de l'appel de la fonction. Les valeurs passées à
une fonction lors de son appel sont appelées arguments. Par exemple :

BOUCHABOU K. 21
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

Lorsque vous utilisez le mot-clé void, cela signifie que la fonction ne retourne aucune valeur.
Cependant, vous pouvez spécifier un type de donnée (par exemple, int ou float) pour qu'une
fonction retourne une valeur. Voici un exemple de fonction qui retourne une valeur :

III.9- Fonctions Mathématiques


En C, il existe plusieurs fonctions mathématiques permettant d'effectuer des opérations sur des
nombres. Pour les utiliser, il faut inclure le fichier d'en-tête math.h dans votre programme. Pour
calculer la racine carrée d'un nombre, vous pouvez utiliser la fonction sqrt() :

La fonction ceil() arrondit un nombre à l'entier supérieur le plus proche, tandis que floor() arrondit
un nombre à l'entier inférieur le plus proche :

BOUCHABOU K. 22
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

La fonction pow() permet de calculer la puissance d'un nombre, c'est-à-dire x élevé à la puissance
y (x^y) :

III.10- Structures

Les structures (ou structs) en langage C permettent de regrouper plusieurs variables associées
sous un même type de données. Contrairement aux tableaux qui stockent uniquement des éléments
d'un même type, une structure peut contenir différents types de données, comme int, float, char,
etc.

Pour déclarer une structure, utilisez le mot-clé struct, suivi des membres (variables) définis entre
accolades {}. Chaque déclaration doit se terminer par un point-virgule ;.

BOUCHABOU K. 23
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

Pour utiliser une structure, vous devez déclarer une variable de cette structure. Les membres d'une
structure sont accessibles à l'aide de l'opérateur point « . ».

Il est possible de copier les valeurs d'une structure dans une autre en utilisant simplement
l'opérateur d'affectation =.

BOUCHABOU K. 24
Coordination VRSP Première année Tronc Commun Parcours Ingénieur
Structures des données Sciences et Technologies

Table des Matières


I. Introduction ............................................................................................................................. 1
II. Algorithme et Actions Primitives............................................................................................ 2
II.1- Actions Primitives ............................................................................................................... 2
II.2- Structure d’un algorithme ................................................................................................... 3
II.3- Organigramme .................................................................................................................... 4
III. Langage C ........................................................................................................................... 6
III.1- Syntaxe de Langage C ....................................................................................................... 6
III.2- Types de Données et Variables .......................................................................................... 9
III.3- Entrée et Sortie ................................................................................................................ 10
III.4- Operateurs........................................................................................................................ 12
III.4.1- Les Opérateurs Arithmétiques .................................................................................. 12
III.4.2- Les Opérateurs d’Affectation ................................................................................... 13
III.4.3- Les Opérateurs de Comparaison ............................................................................... 13
III.4.4- Les Opérateurs Logiques .......................................................................................... 14
III.5- Les Structures Conditionnelles ........................................................................................ 14
III.5.1- Instruction (if) ........................................................................................................... 15
III.5.2- Instruction (else) ....................................................................................................... 15
III.5.3- Instruction (else if).................................................................................................... 15
III.5.4- Instruction (switch) ................................................................................................... 16
III.6- Les Boucles...................................................................................................................... 16
III.7- Tableaux ........................................................................................................................... 18
III.8- Fonctions.......................................................................................................................... 21
III.9- Fonctions Mathématiques ................................................................................................ 22
III.10- Structures ....................................................................................................................... 23

BOUCHABOU K. 25

Vous aimerez peut-être aussi