Livre APC Tle CD
Livre APC Tle CD
Livre APC Tle CD
Les auteurs
ABDOUL AZIZ NDJOBDI PELEU Anicet
ABOULAOU YAFET PEUPIE Guy Bertrand
ADAWAL Urbain Servais NGO'O MBANG
AMOUGOU François SIMO Sandrine Epse OUAFO
BOUKAR SOPTSI Voltaire
FIA Evarice Prosper TCHEPDA Soreil
MOHAMMAD Aly TOUZA Isaac
NKONDA Nyamsi TSIMI ELOUNDOU Roland
NJINKEU Jean Jules YAYA IBRAHIMA
OUAFO Péguy YOSSA Alex Ludovic
OUTSÉ Bélibi Félicité ZELKIF Njamen
Les administrateurs
INTRODUCTION
Un système informatique est un ensemble de moyens informatiques (matériels et logiciel) ayant pour
but de collecter, traiter, stocker, acheminer et présenter des données. Les systèmes informatiques existent
sous des formes variées en fonction du contexte dans lequel ils s’insèrent. On peut distinguer, entre autres
les systèmes informatiques personnels, les systèmes informatiques d’organisation et les systèmes
informatiques de contrôle et commande qui feront l’objet de ce cours.
I. GENERALITES
Un système informatique comprend deux grandes parties : une partie matérielle appelée Hardware
et une partie logicielle appelée Software. Cette partie logicielle est constituée d’un ensemble de
programmes qui permettent au système informatique d’accomplir toutes ses taches.
Définitions :
Information : élément de connaissance susceptible d’être transformé afin d’être traité par un système
informatique.
Donnée : information représentée sous une forme conventionnelle, afin de pouvoir être traitée
automatiquement.
Langage informatique: ensemble de caractères, de symboles, de mots-clés et de règles permettant de
donner des instructions à un ordinateur.
Instruction : ordre que l’on donne à un processeur.
Programme : séquence d’instructions exécutable par l’ordinateur
Logiciel : Ensemble de programmes.
Progiciel: ensemble complet de programmes informatiques, conçu pour différents utilisateurs en
vue d'une même application, généralement professionnelle, et commercialisé avec une documentation.
Freeware est un logiciel entièrement gratuit, qu'on peut copier comme on veut.
Graticiel Synonyme de l'anglais freeware, cousin de gratuiciel.
Logiciel libre: ensemble d’applications livrées avec leurs sources, que l'on peut donc modifier à
volonté pour l'adapter à ses besoins. Libre ne signifie pas forcément gratuit. En anglais : Open Source.
Contraire: logiciel propriétaire.
Logiciel propriétaire: logiciel dont l'acheteur ne peut utiliser qu’en suivant des règles établies par
son constructeur parfois extrêmement limitatives.
Ludiciel: logiciel de divertissement
II. LE BIOS
Le BIOS (Basic Input Output System) en français système de gestion de base des entrées / sorties
est un petit programme installé par les constructeurs lors de fabrication de l’ordinteur. Il a pour rôle de
vérifier l’état du matériel et de permettre ainsi l’installation des premiers programmes. Lors de la mise
sous tension de l’ordinteur, il exécute le POST (Power On Self Test). Lors de cette phase, les différents
composants sont testés, le POST ne se déroule pas bien, des messages d’erreurs sont affichés à l’écran. Le
BIOS est enregistré dans une mémoire de type ROM : Le CMOS (Complementary Metal-Oxide
Semiconductor). Le CMOS doit être constamment alimenté par d’une pile pour sauvegarder des
informations sur la configuration du système (l’heure, la taille de la mémoire vive installée sur l’ordinateur,
le type de disquette utilisée, les caractéristiques du disque dur, etc...).
Q4 : comment appelle-t-on le premier programme qu’on installe en premier dans un ordinteur
Réponse attendue : le SE
Compétences visées
Décrire les caractéristiques de quelques périphérique et composants ;
Enoncer le rôle d’un pilote ;
Décrire les principaux composants internes de l’unité centrale.
Situation problème En entrant dans la salle informatique de votre établissement, vous trouverez sur la
table du professeur les composants ci-dessous de l’ordinateur. Tout le monde se pose des questions sur
ce que c’est et à quoi tout cela peut bien servir.
INTRODUCTION
Un système informatique est généralement constitue d’une partie matérielle et d’une partie logicielle.
La partie matérielle possède une unité centrale et des périphériques. Unité centrale d’un ordinateur
regroupe le microprocesseur, la mémoire, le disque dur et les lecteurs… Un périphérique est un matériel
pouvant être connecte à l’unité centrale par l’intermédiaire d’un pilote.
4. le disaue dur
C’est une mémoire de masse magnétique utilise principalement dans des ordinateurs, mais
également dans caméscopes, des lecteurs/enregistreur de DVD
5. les bus
On appelle bus un ensemble de liaison physique pouvant être exploitées en commun par plusieurs
éléments matériel afin de communiquer.
6. Le boitier d’alimentation
L’alimentation est charge de convertir la tension électrique du secteur en différentes tension continu
compatible avec les circuits de l’ordinateur
b- régulateur de tension
Un régulateur de tension, est un organe électrotechnique ou un composant électronique dont le rôle
est de maintenir à sa sortie, dans certaines limites, une tension constante, indépendamment de la charge et
de la tension d'entrée.
Jeu bilingue des mots contenu dans la colonne savoirs essentiels du programme
a- Failure : panne
b- Maintenance : Maintenance
c- Preventive Maintenance : Maintenance préventive
INTRODUCTION
L’ordinateur subit des menaces tout au long de son cycle de vie. Pour freiner l’effet des menaces
afin de prolonger la durée de vie de notre ordinateur il est nécessaire d’appliquer certaines mesures qui
visent à le maintenir. Cette mesure est généralement qualifiée de maintenance. L’ordinateur étant composé
de la partie matérielle et la partie logicielle, on distingue la maintenance matérielle et la maintenance
logicielle. Parmi les causes de disfonctionnement matériel nous avons les fluctuations d’énergie qui sont
des causes à ne pas négliger. Dans cette leçon nous présenterons les causes liées aux fluctuations d’énergie
ainsi que quelques mesures de prévention.
La fluctuation de tension électrique est causée par des perturbations électromagnétiques ou par des
variations de puissance sur le réseau porteur de cette tension. Elle est généralement caractérisée par une
instabilité de la tension (baisse ou hausse de tension intempestive).
Parmi les outils de protection matérielle contre les fluctuations on a :
a) le bloc d’alimentation
Faisant partie intégrante de l’Unité centrale,
il contient en son sein l’alimentation et un ou
plusieurs ventilateurs pour refroidir l’unité
centrale. Il a pour principal rôle de prendre un
courant instable (alternatif) et de le transformer
en courant continu pour alimenter les
composants de l’ordinateur ( 110V-220V en
5V-12V).
b) para sur-tenseur
C’est une rallonge multiprise spéciale
constitué d’un para surtension et parafoudre qui
protège efficacement les appareils informatiques
contre l’orage ou les coupures de courant.
c) régulateur de tension
C’est un appareil qui a pour fonction de convertir le courant alternatif d’amplitudes variables en courant
continu d’amplitudes constantes et limitées pour assurer le bon fonctionnement des équipements qu’il
1
L'écrêtage consiste à supprimer une partie de l'amplitude d'un signal. Le redressement supprimant les
alternances négatives peut être considéré comme un cas particulier de l'écrêtage.
CONTENU DE LA LEÇON
Dans la boite de dialogue qui apparait, définir la plage (Feuil1!$A$1:$D$12) et l’emplacement puis
cliquer sur OK
Quatre champs sont sélectionnés provenance, produits , nombre d’unités achetés et prix par unité en
FCFA
Pour calculer le rang de l’élève nous allons utiliser la fonction Excel RANG qui détermine le
rang d'une valeur en fonction d'un ensemble de valeurs (pour classer des valeurs par exemple). La formule
est :
= RANG(Valeur ; ensemble_de_valeurs ; ordre)
Pour calculer le rang de l’élève Melibi il faut appliquer la formule :
= RANG(B9; B9:B12; 0).
0 : Pour l’ordre croissant et 1 : Pour l’ordre décroissant
Avant de recopier, ajouter des $ à la plage de cellules pour éviter qu'elle ne soit décalée : =
RANG(B9; B$9:B$12; 0) puis étirez la formule vers le bas.
Jeu bilingue des mots contenu dans la colonne savoirs essentiels du programme
spreadsheet : tableur cells : cellule
Workbook : classeur range of cells: Plage de cellule
worksheet : worksheet
I- DEFINITIONS
Un réseau se définit de façon générale comme un ensemble d’entités (objet, personne, chose)
interconnectées les unes aux autres pour faire circuler les éléments matériels ou immatériels. Selon le type
d’objet en liaison, on distinguera : le réseau routier, le réseau téléphonique, le réseau des malfaiteurs, le
réseau de transport, etc.
Un réseau informatique est l’ensemble des équipements (ordinateurs, périphériques) reliés entre eux et
échangeant des informations sous forme de données numériques (valeurs binaires: 0 et 1)
La topologie en étoile
La topologie en anneau
En plus de ces trois (03) topologies, on peut avoir : la topologie en maille, la topologie en arbre,
la topologie hybride…
b. Topologie logique
La topologie logique décrit la façon avec laquelle les informations transitent dans le réseau.
b. L’architecture FDDI
FDDI signifie Fiber Distributed Data Interface ou interface de données à distribution par fibre. Cette
architecture utilise un câble en fibre optique et repose sur une topologie en anneau. Dans cette
architecture, un jeton gère l’accès au support de réseau. Le jeton circule d’un ordinateur à un autre.
Lorsqu’un ordinateur veut envoyer un message, il attend que le jeton arrive à lui, l’attrape et commence à
envoyer ses informations. Lorsqu’un ordinateur fini d’envoyer les informations (ou ne veut pas envoyer
d’information), il laisse passer le jeton qui circule à nouveau sur l’anneau.
Avantages : Les ressources sont centralisées au niveau du serveur ; plus sécurisée ; évolutif : l’ajout de
nouveaux clients est facile
Inconvénients : Le serveur est le maillon faible ; s’il tombe en panne c’est toute l’architecture qui est
paralysée ; le cout de la mise en place de cette architecture est élevé à cause du prix des serveurs et de coût
de maintenance.
L’architecture client-client (peer to peer)
Il s’agit d’une architecture ou chaque ordinateur joue à la fois le rôle de client et celui du serveur. Ici toutes
les ressources sont partagées et aucune machine n’est supérieure à l’autre.
Câble coaxial
Le câble coaxial, parfois appelé câble BNC (Bayonet-Neill Concelman ou British Naval
Connector), est un fil de cuivre relativement rigide noyé dans une housse en plastique isolante, elle est
similaire au câble utilisé pour avoir des images sur les télévisions. Tout comme le câble à paires torsadées,
le câble coaxial utilise le signal électrique pour la transmission des données.
1. généralités
Hubs;
modem
Switchs ;
Routeurs ;
Passerelles ;
a. Le hub
Encore appelé concentrateur, le Hub est l’élément central d’un réseau en
étoile. Il permet de faire communiquer tous les ordinateurs d’un
réseau local en reliant tous les câbles à lui. Lorsqu’un ordinateur
voudrait envoyer une information (texte, image, sons, etc…) à
un autre ordinateur, celui l’envoie d’abord au commutateur, ce dernier se charge
de le redistribuer à tous les autres ordinateurs, mais seul l’ordinateur à qui le
message est destiné va ouvrir le message et l’utiliser.
b. Le Switch
Encore appelé commutateur, un Switch est similaire à un Hub à
quelques différences prêt. Au sein d’un réseau local lorsque le
Switch est l’élément central et lorsqu’il reçoit un message d’un
ordinateur, celui-ci le renvoie directement à l’ordinateur
concerné sans que les autres soient au courant.
c. Le répéteur
Un répéteur est un matériel ayant pour rôle de prendre le signal qu’il reçoit des équipements de
réseau et de régénérer afin de préserver son intégrité le long d’un support de réseau plus long que la
longueur maximale normalement.
d. La passerelle
Un réseau local sert à interconnecter les ordinateurs d'une entreprise, toutefois une entreprise peut
comporter plusieurs réseaux locaux utilisant les moyens de communication (protocoles) différents. Dans
BILINGUAL GAME
FRENCH ENGLISH FRENCH ENGLISH
Concentrateur Hub Pont Bridge
Commutateur Switch Passerelle Footbridge
EXERCICE DE COMPETENCE
On considère le réseau suivant :
INTRODUCTION
Un protocole est un langage commun utilisé par l’ensemble des acteurs de la communication pour
échanger des données. La plupart des réseaux utilisent la pile de protocole TCP/IP (Transmission
Control Protocol / Internet Protocol). Sur Internet il existe plusieurs protocoles (langages entre les
ordinateurs) permettant d’accéder à différents services.
1. Définition
Un protocole réseau est un ensemble de règle qui régissent les échanges de données entre les différents
acteurs du réseau.
2. Quelques exemples de protocole
a. Protocole http
Le protocole HTTP (HyperText Transfer Protocol) littéralement protocole de transfert
hypertexte est un protocole de communication client-serveur développé pour le World Wide Web
(WWW). Ce protocole permet de consulter les pages web
b. Protocole IP
Pour pouvoir envoyer des données via le réseau Internet, vous aurez besoin d’une adresse correcte
(adresse IP). Les adresses IP sont attribuées de façon automatique ou manuelle au périphérique réseau
lors de la configuration. Dans ce processus le protocole IP (Internet Protocol) joue un rôle important et
il détermine également le chemin à prendre par les paquets dans le réseau.
c. Protocole FTP
Le protocole FTP (File Transfer Protocol) ou protocole de transfert de fichier est un protocole
de communication destiné au partage de fichiers sur un réseau TCP/IP. Il permet à l’ordinateur de copier
les fichiers vers un autre ordinateur du réseau.
d. Protocole SMTP
Le protocole SMTP (Simple Mail Transfer Protocol) est un protocole de communication utilisé
pour le transfert du courrier électronique vers les serveurs de messagerie électronique.
CONCLUSION
Pour qu’il y-ait communication il faudrait respecter un certain nombre de règles, il en est de même
pour des objets connectés en réseau. C’est le rôle du protocole de définir ces règles.
Jeu bilingue : Traduire en français ou en anglais les mots ou expression du tableau ci-dessous :
Français Anglais
Fichier File
Réseau Network
Adresse Address
EXERCICE
Votre professeur d’informatique vous donne des exposés à réaliser comme devoir. Il vous
communique une adresse mail ou vous devez envoyer votre travail une fois terminé.
1. Afin d’effectuer un travail sérieux vous décidez d’utiliser le réseau Internet pour vos recherches.
a- Quel est le protocole mis en évidence dans ce cas de figure ?
b- Donner son rôle.
2. Votre travail achevé vous décidez d’envoyer le document à votre enseignant par mail.
a. Quel est le protocole mis en évidence ?
b. Votre enseignant reçoit une notification de sa messagerie électronique, quel protocole lui
permettra d’accéder à votre mail ?
INTRODUCTION
Un réseau doit pouvoir permettre à n'importe quel hôte de se mettre en relation avec n'importe
quel autre. Afin qu'il n'y ait pas d'ambiguïté pour la reconnaissance des hôtes possibles, il est absolument
nécessaire d'admettre un principe général d'identification :
1. Le nom de la machine distante,
2. son adresse,
3. la route à suivre pour y parvenir.
Le nom dit « qui » est l'hôte distant, l'adresse nous dit « où » il se trouve et la route « comment
» on y parvient.
L’adresse IP (version 4) identifie l’emplacement d’un hôte sur le réseau, elle doit être unique et
présenter un format normalisé sous forme d'un nombre de 32 bits qui permet à la fois l'identification de
chaque hôte et du réseau auquel il appartient.
Q2 : Quel est le type de leur réseau informatique ?
Réponse attendue : un LAN, un reseau privé
Q3 : S'ils décident de connecter leur réseau à Internet, vont-ils utiliser les mêmes adresses IP ?
Réponse attendue : non
Pour distinguer les classes A, B, C, D et E il faut examiner les bits de poids fort de l'octet de poids
fort. Ce premier octet désigne le numéro de réseau (NetID) et les 3 autres correspondent à l'adresse de
l'hôte (HostID).
Si le premier bit est 0, l'adresse est de classe A. On dispose de 7 bits pour identifier le réseau et
de 24 bits pour identifier l'hôte. On a donc les réseaux de 1 à 127 et 224 hôtes possibles, c'est à
dire 16 777 216 machines différentes (de 0 à 16 777 215).
Remarque : l'adresse réseau 0.0.0.0 n’existe pas et le NetID « 127 » est réservée pour les communications
en boucle locale (loopback), ce qui réduit de deux unités le nombre de machines nommables. Il reste donc
seulement 16 777 214 machines adressables dans une classe A !
Si les deux premiers bits sont 10, l'adresse est de classe B. Il reste 14 bits pour identifier le réseau
et 16 bits pour identifier la machine. Ce qui fait 214= 16 384 réseaux (128.0 à 191.255) et 65 534 (65
536 - 2) machines.
Si les trois premiers bits sont 110, l'adresse est de classe C. Il reste 21 bits pour identifier le réseau
et 8 bits pour identifier la machine. Ce qui fait 221=2 097 152 réseaux (de 192.0.0 à 223.255.255) et
254 (256 - 2) machines.
3. les adresses réservées
Il existe un certain nombre d'adresses IP réservées :
hostid = 0 désigne le réseau lui-même : l'hostid égal à 0 ne sera jamais affecté à un hôte mais il
désigne le réseau lui-même. Exemple : 192.145.56.0 est un réseau de classe C dont l'hostid est à 0 donc
cette adresse désigne le réseau lui même. • 0.0.0.0 désigne l'hôte lui même
Q5 : Quand on regarde la structure d'une adresse IP, à votre avis combien d'adresses IP potentielles peut-
on avoir en tout ? Est-ce suffisant pour le monde entier ?
Réponses attendues : 232 = 4 294 967 296. Ce nombre apparaît très petit au vu de la population mondiale
sachant qu'une personne peut avoir plusieurs équipements tous connectés à Internet
CONCLUSION
L’adresse de version 4 (IPv4) mis sur pied en Septembre 1981 est encore actuellement la plus
utilisée. Mais, vu le développement de l'Internet depuis ce temps, cet adressage c'est avéré incapable de
Compétences visées : A la fin de cette leçon, l’élève de Tle C/D doit être capable :
D’utiliser les commandes réseaux ipconfig et ping ;
De simuler un réseau informatique.
SITUATION PROBLEME :
Dans le cadre des travaux pratiques au laboratoire informatique, il vous est demandé de concevoir
un réseau local constitué de 4 postes de travail dans le but de prédire son comportement avant son
fonctionnement. Votre conception doit être représentée sur support papier et support numérique.
Consigne :
1. Enumérer les équipements matériels ainsi que les supports d’interconnexion et de transmission que
vous représenterez sur le papier ;
2. Proposer un exemple de logiciel qui vous permettra de produire le support numérique correspondant
au résultat obtenu au (1) ;
3. Préciser la commande qui permettra de tester les connexions de tous les postes de travail du réseau ;
4. Donner la commande qui affiche les paramètres réseaux d’un ordinateur.
INTRODUCTION
De nos jours, la mise en place d’un réseau informatique nécessite de faire des simulations avant le
lancement en production. Cette bonne pratique est indispensable car elle permet d’avoir une idée sur le
comportement futur du réseau et d’éviter de nombreuses erreurs. Ainsi, les tests de connexion et la
vérification des paramètres réseaux des équipements peuvent être effectués à l’aide des commandes réseaux.
Dans la suite notre leçon, nous décrirons quelques commandes réseaux et comment simuler un réseau
informatique.
Une commande réseau représente une instruction donnée au système d’exploitation pour exécuter
une action dans le domaine des réseaux informatiques. Chaque commande répond à une syntaxe et doit
être entrée dans l’invite de commande (pour les systèmes Windows) ou dans un Terminal (pour les
systèmes UNIX) pour s’exécuter. Il existe plusieurs commandes réseaux parmi lesquels nous avons les
commandes Ipconfig et Ping.
1. La Commande Ipconfig
Cette commande affiche ou rafraîchit la configuration réseau d’un ordinateur.
2. La Commande Ping
La commande Ping permet de tester la connectivité d’une machine à travers un réseau. Pour vérifier
la disponibilité d’un ordinateur, la commande Ping envoi des requêtes (4 par défaut) vers l’adresse IP de
cet ordinateur grâce au protocole ICMP (Internet Control Message Protocol).
Sa syntaxe est : Ping ″ Adresse_machine ″ ; où ″ Adresse_machine″ représente l’adresse IP ou le nom
de la machine ou bien un nom de domaine.
Exemples :
Ping www.google.fr : teste l’accessibilité de la machine locale par rapport au site web Google ;
Ping www.facebook.com : teste l’accessibilité de la machine locale par rapport au site web Facebook ;
Ping /? (suivi du symbole /?) : Affiche toutes les informations sur l’utilisation de la commande Ping.
Le résultat de la commande Ping permet ainsi de connaitre :
- L’adresse IP correspondant au nom de la machine distante ;
- La durée de vie des paquets ou TTL (Time To Live) ;
- Le temps de propagation des paquets (en millisecondes) ;
- Le nombre de paquets perdus ;
La commande Ping possède également des options qui seront vues au laboratoire informatique.
Exercice 3 (TP) : Simulation d’un réseau local : cas du logiciel Cisco Packet Tracer
Dans le but d’évaluer les compétences des élèves en réseau informatique, il vous est demandé de simuler
un réseau local dont la topologie est présentée à travers l’image suivante :
Consigne :
1. Démarrer l’application Cisco Packet Tracer
2. Apres le lancement de l’application, vérifier que vous avez une interface ayant la forme suivante :
4. Répéter l’opération effectuée à la question précédente jusqu’à obtenir 4 ordinateurs (PC0, PC1,
PC2 et PC3)
5. Ajouter le commutateur (Switch) dans l’espace de travail
6. Pour connecter les postes au switch, vous pouvez procéder de la manière suivante :
a. Cliquer sur l’icône des câbles réseaux et sur le câble droit (en noir foncé)
b. Cliquer ensuite sur « PC0 » en choisissant le port « FastEthernet »
c. Cliquer après sur le switch et choisir le port « FastEthernet 0/1 »
COMPETENCES VISEES : A la fin de cette unité d’apprentissage, l’élève sera capable de:
Définir méthode de conception
Donner le rôle d’une méthode de conception
Citer quelques méthodes de conception
SITUATION PROBLEME :
A la rentrée scolaire, on vous a nommée chef de classe. A cet effet il vous est demandé de mettre sur
place un moyen pour bien gérer la discipline dans votre salle :
Quelle démarche allez-vous adopter?
De quels outils auriez-vous besoin?
Quelles sont les méthodes adaptées à la réalisation de cette tâche?
INTRODUCTION
De nos jours l’utilisation compète des moyens, des procédures et des outils informatique permet
selon les besoins et les intentions exprimées par une entreprise un accompagnement dans l’automatisation,
et la dématérialisation des opérations incluses dans ses activités. Toutes fois, l’intérêt et la réussite d’un
S.I reposent sur l’appui d’une méthode de conception.
1- Définitions
En ingénieure, une méthode d’analyse et de conception est un procédé qui a pour objectif de formaliser
les étapes préliminaires de développement d’un système afin de rendre ce développement plus fidèle aux
besoins du client.
CONCLUSION
Il existe de nombreuses méthodes d’analyse et de conception des S.I. Chacune d’entre elles a ses
particularités, mais toutes sont construites autour d’une philosophie générale, une démarche, des outils,
un vocabulaire, des formalismes. De quoi découlent les modélisations systémiques, cartésiennes et orienté-
objet.
EXERCICES DE CONSOLIDATION
Vous êtes en stage dans une entreprise de la place, et dès votre arrivée, vous êtes affecté à la cellule
informatique de la structure où la mission première est celle d’informatiser la gestion de son personnel.
Pour mener à bien cette mission, il faut au préalable faire une étude du système actuel, et ensuite analyser
le futur système et le concevoir, et pour cela, il va falloir se baser sur une méthode de conception. Ayant
suivi en cour d’année un cours sur les systèmes d’information, on vous demande de répondre aux questions
ci-après :
1) C’est quoi une méthode de conception de système d’information ?
2) Une méthode de conception est basée sur un certain nombre de composants, citer deux
composants d’un S.I
3) Il existe plusieurs méthodes d’analyse et de conception des S.I
a) Citer deux méthodes de votre choix
b) Pour chacune des méthodes, donner son approche.
Client Facture
Code_Client
Nom_Client Num_Facture
Prenom_Client Solder Date_Fact
Tel_Client
Ville_Client
Tel_Client
6. Les cardinalités
Les cardinalité précisent les nombres minimal et maximal d’occurrences d’une entité en relation avec une
autre.
Elles permettent de connaître avec exactitude le degré de participation de chaque entité à une relation.
La cardinalité minimale représente le nombre de fois « au minimum » où une occurrence de l’association
participe aux occurrences de l’entité.
La cardinalité maximale représente le nombre de fois « au maximum » où une occurrence de l’association
participe aux occurrences de l’entité.
Les cardinalités sont mentionnées par couple du côté de l’entité à considérer. La cardinalité minimale est
représentée en premier, la maximale en second et se formalise comme suit : (𝑴𝒊𝒏 , 𝑴𝒂𝒙).
Les couples possibles sont : (0,1), (1,1); (0,n), (1,n).
7. Les contraintes d'intégrité fonctionnelles (CIF)
Une CIF ou Contrainte d'Intégrité Fonctionnelle également nommée « association hiérarchique» est un
type d'association entre deux entités. Elle se caractérise par un 1 en cardinalité supérieure (0,1 ou 1,1) sur
une des pattes de la relation.
Client Facture
(1,n) (1,1)
Code_Client Num_Facture
Régler
Nom_Client Date_Fact
Prenom_Client
(1,n)
Tel_Client
Ville_Client
Composer
Quantite
(0,n)
Produit
Ref_Pduit
Libelle
V. LES REGLES DE NORMALISATION DU MCD PU
Lorsque le MCD est terminé, on doit procéder à quelques vérifications avant la validation. Elle permet
de détecter certaines incohérences dans la construction des modèles. Dans le cadre de notre cours nous
appliquerons les règles de normalisation du MCD suivantes:
1. Normalisation des entités et des relations
Le nom d’une entité/association doit être concis et parlants et en rapport avec le domaine
de gestion étudié ;
Le nom d'une entité, d'une association ou d'un attribut être unique ;
Le nom d’une entité/association est écrit en lettres majuscules.
2. Normalisation des identifiants
Chaque entité doit posséder un identifiant ;
Un identifiant ne doit pas être composé de plusieurs propriétés pour les entités ;
3. Normaliser les attributs
CONCLUSION
Le MCD ou modèle Entité/Association est un modèle chargé de représenter sous forme
graphique les informations manipulées par le système. Ce formalisme comporte quatre concepts de base.
Deux concepts sont structuraux, l’entité et la relation; le troisième concept est descriptif, c’est la propriété;
le quatrième qualifie la liaison entre entité et relation, c'est la cardinalité. La démarche de construction du
MCD se résume en trois phases majeures : le recensement de toutes les données du système d’information,
la recherche des liens qui les unissent et représentation graphique des données du domaine d'étude.
Le MCD obtenu une fois validé par la vérification d'un certain nombre de règles, permet de passer au
modèle logique de données (MLD).
JEU BILINGUE
Français Anglais Français Anglais Français Anglais
Entité Entity Association Relationship Identifiant Identifier
Occurrence Occurrence Cardinalité Cardinality Attribut Attribute
EXERCICES D’APPLICATION
Exercice 1 : Répondre par vrai ou faux
1. Le modèle entité-association est un schéma théorique qui vise à rendre compte des relations existant
entre divers éléments d’un système.
2. La cardinalité précise le nombre de fois minimum et maximum qu’une instance de relation participe
à une association.
3. Une entité possède toujours au moins un attribut.
4. Une association est un lien sémantique ayant deux brins et deux couples de cardinalités.
5. Une association s’effectue toujours entre deux entités.
Hotel
Code_Hotel
Nom_hotel
Adresse_hotel
Catégorie_hotel
COMMANDE
CLIENT (0,n) (1,1)
Passe
Num_cmde
Id_client Date_cmde
Nom
adresse
(1,n)
Très curieux, il apprend qu’il doit traduire son MCD en MLD afin de produire la base de données
associée à la gestion de ses commandes.
Consignes
A partir de vos lectures sur la conception d’un SI, aider votre camarade en donnant
progressivement, en fonction des règles de passage du MCD au MLD que vous avez identifié dans vos
lectures, la liste des tables du MCD, en précisant l’identifiant et les attributs de chaque table ;
CONTENU DE LA LEÇON
PRODUIT COMMANDE
(0,n) Concerne (1,n)
Cod_pduit Quantité Num_cmde
Désignation Date_cmde
Prix_unit
On duplique la clé de la table basée sur l'entité à cardinalité (0,1) dans la table basée sur l'entité
à cardinalité (1,1).
2)
3)
4)
5)
COMPÉTENCES VISÉES :
Définir SGBD et donner leurs rôles
Citer quelques exemples de SGBD ;
Lister les opérations de définition des données d’une base de données (création, suppression,
modification) ;
Lister les opérations de manipulation des données d’une base de données (insertion, modification,
sélection, suppression) ;
SITUATION PROBLEME
Le censeur dispose d’un tableau sur lequel est organisé les emplois de temps de tous les enseignants
de l’établissement et trouve pénible de consulter ce tableau lorsqu’il faut avoir par exemple pour un
professeur donné la liste des classes et des heures d’enseignement au courant de la semaine. Ayant entendu
parler des SGBD, il se dit que cela pourrait être la solution et fait appel à vous.
Qu’est-ce qu’un SGBD et à quoi cela peut-il servir ?
Donner en quelques exemples que le censeur pourrait utiliser
Lister quelques fonctions d’un SGBD que le censeur devra certainement utiliser
CONTENUE DE LA LEÇON
INTRODUCTION
Dans un fichier, les informations sont stockées de manière séquentielle (les unes à la suite des autres) ;
ceci rend l’accès à une donnée particulièrement difficile lorsque la taille du fichier est considérable ; une
alternative serait d’utiliser les bases de données.
Une base de données désigne un ensemble des données stockées de manière structurée et accessible
directement par plusieurs utilisateurs. Pour créer et gérer les bases de données, on a recours à une catégorie
de logiciel appelé SGBD (Système de Gestion des Bases de Données).
I.3 Exemples
Il existe plusieurs SGBD parmi lesquels certains sont propriétaires et payants tandis que d’autres sont
gratuits. Le choix d’un SGBD dépend de l’administrateur et souvent de la qualité ou la quantité de
données. Parmi les plus utilisés on peut par exemples citer :
MySQL DB2 MongoDB
Oracle SQL Server Dbase
Ms Access PostGreSQL …
CONCLUSION
Les SGBD sont des logiciels complexes permettant de gérer efficacement les données d’une structure et
il en existe plusieurs. Ils permettent notamment la définition des données, la manipulation des données et le
contrôle d’accès aux données. Ici l’accès aux données est direct alors que dans un fichier l’accès est séquentiel.
JEU BILINGUE : Traduire les mots et expressions suivants dans la langue correspondante
FRANÇAIS ENGLISH
Base de données Database
Table Table
Champ Field ou column
Requête Query
EXERCICES
1. Que signifie le sigle SGBD
2. Définir et donner 3 rôles d’un SGBD
3. Après avoir citer quatre SGBD, énumérer deux opérations réalisables dans une base de données au moyen
des SGBD respectivement :
a) Dans la manipulation des données
b) Dans la définition des données
4. Distinguer si dessus (parmi les SGBD énuméré dans le cours), les SGBD payants des SGBD gratuits
5. Donner deux différences entre un SGBD et un fichier
I. DÉFINITION ET RÔLE
SQL (Structured Query Language) est un langage de définition, de manipulation, d’interrogation, et de
contrôle pour les bases de données relationnelles conçu en 1970 par la société IBM.
Il permet notamment de définir les structures des données, de spécifier les utilisateurs et leurs droits ou
d’interroger les bases de données existantes.
SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables dans une
base de données relationnelle, ainsi que d'en modifier ou en supprimer.
I. CRÉATION ET SUPPRESSION D’UNE BASE DE DONNÉES
a) Création d’une base de données
CREATE DATABASE Nom ;
b) Suppression d’une base de données
DROP DATABASE Nom ;
III. CRÉATION ET SUPPRESSION D’UNE TABLE
a) Création de table
La création d’une table se fait en définissant le nom de la table ainsi la liste de ses attributs et des types
de données. Les principaux types de données sont présentés dans le tableau ci-après
Type de donnée Syntaxe Description
Type alphanumérique CHAR(n) Chaîne de caractères de longueur fixe n (n<16383)
Type alphanumérique VARCHAR(n) Chaîne de caractères de n caractères maximum (n<16383)
Type numérique NUMBER(n,[d]) Nombre de n chiffres [optionnellement d après la virgule]
Type numérique SMALLINT Entier signé de 16 bits (-32768 à 32757)
Type numérique INTEGER Entier signé de 32 bits (-2E31 à 2E31-1)
Type numérique FLOAT Nombre à virgule flottante
V. EXERCISES D’APPLICATION
CONTENU DE LA LEÇON
I. REQUETES DE MANIPULATION DES DONNEES
1. Requête SQL d’insertion de données
L’insertion de données renvoie à l’ajout d’un enregistrement dans une table. La syntaxe SQL est la
suivante :
INSERT INTO nom_table [(nomCol1, nomCol 2, ...)] VALUES (val1, val2, ...) ;
NB : La liste des noms de colonne est optionnelle. Lorsqu’elle est omise, la liste des valeurs est donnée
dans l’ordre de création de la table.
Exemple : insertion du client SIMO résident Yaoundé ayant pour identifiant Clt001 : INSERT INTO Client
VALUES ("Clt001", "SIMO", "Yaoundé") ;
NB : Ces opérateurs peuvent être combinés à l’infini et mélangés. L’exemple ci-dessous filtre les résultats de la
table « nom_table » si condition1 ET condition2 OU condition3 est vrai :
SELECT nom_colonnes FROM nom_table
WHERE condition1 AND (condition2 OR condition3) ;
Attention : il faut penser à utiliser des parenthèses lorsque c’est nécessaire. Cela permet d’éviter les erreurs car et
ça améliore la lecture d’une requête par un humain.
Exemple de données
3. L’OPERATEUR IN
L’opérateur logique IN est une méthode simple pour vérifier si une colonne est égale à une valeur OU
une autre valeur OU une autre valeur et ainsi de suite, sans avoir à utiliser de multiple fois l’opérateur OR.
Syntaxe
Pour chercher toutes les lignes où la colonne « nom_colonne » est égale à ‘valeur 1′ OU ‘valeur 2′ ou
‘valeur 3′, il est possible d’utiliser la syntaxe suivante :
SELECT nom_colonne FROM table
WHERE nom_colonne IN ( valeur1, valeur2, valeur3, ... ) ;
Résultats :
id id_utilisateur addr_rue addr_code_postal addr_ville
2 43 21 Rue du Moulin Collet 75006 Paris
4 67 41 Rue Marcel de la Provoté 76430 Graimbouville
5 68 18 Avenue de Navarre 75009 Paris
JEU BILINGUE :
INSERT : insérer WHERE : où
INTO : dans SELECT : sélctionner
VALUES : valeurs FROM : de
UPDATE : mettre à jour DELETE :supprimer
SET : ensemble
EXERCICES
Soit la table Eleve (matricule, nom, prenom, age, classe, moyenne, genre, statut)suivante :
1) Insérer 10 enregistrements dans cette table, ayant respectivement pour matricule Elv001, Elv002,
Elv003, Elv004, Elv005, Elv006, Elv007, Elv008, Elv009, Elv010
2) Mettez à jour le nom de l’élève Elv002 en OUAFO
3) Modifier le nom de l’élève ayant pour matricule Elv001 en SIMO, son âge en 20 ans, et le statut
en redoublant.
4) Modifier le prénom de l’élève ayant pour matricule Elv010 en PEGUY, son âge en 17 ans, sa
classe est terminale et le statut en nouveau.
5) Afficher la liste de tous les élèves
6) Afficher la liste des élèves redoublants
INTRODUCTION GENERALE
Base de données : Une base de données, comme on la définie, est un ensemble structuré de
données enregistré sur des mémoires secondaires créé et tenu à jour pour les besoins d’un
ensemble d’utilisateurs. Les bases de données contiennent des informations nécessaires au fonctionnement
des entreprises, des sociétés et des établissements (gestion comptable, gestion commerciale, gestion de
production, gestion des stocks,…)
Quelques contraintes
Deux tables d’une même base de données ne peuvent pas avoir le même nom.
Deux champs de la même table ne peuvent pas avoir le même nom.
Un même champ peut être présent dans plusieurs tables.
Exemple de tables d’une base de données
Auteurs Livres LivreAuteurs
NumAuteur NomAuteur NumLivre TitreLivre NumLivre NumAuteur
1 Dupont 10 La monnaie 10 1
2 Durand 25 La finance 25 1
3 Martin 25 3
SGBD
Les logiciels qui permettent de gérer des bases de données sont appelés « Systèmes de Gestion de
Bases de Données ».
Acces est un SGBD relationnel.
MySQL, SQL Server, Postgres, Oracle, DB2, …
Un SGBD permet de
Créer une BD Modifier la BD
Modifier la structure des tables …
Interroger la BD
Une fois qu’on a fini de taper tous les champs composant la table,
Fermer la fenêtre de création,
Access demande alors le nom de la table,
Access va demander aussi de préciser la clé primaire. On reviendra plus tard sur cette notion,
Ça y est, notre table « Album » est créée,
Pour afficher son contenu, il suffit de cliquer deux fois dessus,
On peut ensuite saisir, supprimer, modifier des enregistrements.
Les types des champs
NuméroAuto : numéro incrémenté à chaque insertion d’un nouvel enregistrement.
Numérique: C’est à l’utilisateur de taper sa valeur. Par défaut, il s’agit d’un entier mais on peut
préciser si c’est un réel.
Texte : c’est une chaîne de caractères. On peut préciser sa taille.
Oui/Non : ça correspond aux champs qui ne peuvent prendre que l’une des deux valeurs OUI ou
EXERCICE
Soit le schéma de la base de données ‘’compétition‘’ suivante :
PAYS (CodePays, NomPays)
EQUIPE (CodeEquipe, NomEquipe, DirecteurSportif)
ETAPE (NumeroEtape, Date, VilleDep, VilleArr, NbKm)
Jeu bilingue : Traduire en français ou en anglais les mots ou expression du tableau ci-dessous :
Français Anglais
Base de données Data Base
Relation Relationship
RESUME
1. Rappels
Un algorithme est une suite ordonnée d’instructions qui indique la démarche à suivre pour
résoudre un problème précis.
La science qui étudie les algorithmes est l’algorithmique.
Les objets (ou données) qui seront manipulés dans l’exécution d’un algorithme sont entre autres des
variables et des constantes.
Une constante : représente des objets (nombre, caractères,) dont la valeur ne peut pas être modifiée
pendant l’exécution de l’algorithme.
Le corps de l’algorithme, comporte toutes les tâches possibles énumérées selon un ordre précis pour
une exécution automatique d’un problème quelconque. Ces taches sont décrites par les instructions.
En algorithmique, quelques instructions de base sont :
Les instructions de sortie ou d’affichage : utilisées pour afficher un message ou le contenu
d’une variable. Ce sont : Ecrire () et Afficher ()
Les instructions d’entrée ou de lecture : utilisées pour lire les valeurs des variables saisies au
clavier. On a comme instructions de lecture : saisir () et Lire ()
L’affectation : Elle permet d’attribuer une valeur à une variable. Elle est notée Variable
prend valeur ou Variable ← valeur.
Exemple 1 :
FinPour
Répéter
Action1 ;
Boucle Répéter Action2 ;
…….
Jusqu’à (condition) ;
Tant que (condition
vraie) Faire
Boucle Tant Action1 ;
que Action2 ;
…….
FinTantque
Exemple 2 : L’algorithme qui Calcul x à la puissance n où x est un réel non nul et n un entier positif ou
nul.
Algorithme Puissance ; Lire (n);
Var x, p : réel; p ←1
n, i : entier; Pour i allant de 1 à n Faire
Début p←p*x ;
Ecrire (" Entrez la valeur de x ") ; FinPour
Lire (x); Ecrire (x, "à la puissance ", n, " est égal à ", p);
Ecrire (" Entrez la valeur de n ") ; Fin
Une fois qu’on a défini un type structuré, on peut déclarer des variables enregistrements
exactement de la même façon que l’on déclaré des variables d’un type primitif.
Syntaxe : Nom Var : Nom_Enregistrement
La manipulation d’un enregistrement se fait à travers ses champs. Comme pour les tableaux, il
n’est pas possible de manipuler un enregistrement globalement, sauf pour affecter un enregistrement à un
autre de même type (ou le passer en paramètre). Par exemple, pour afficher un enregistrement il faut
afficher tous ses champs un par un.
Alors que les éléments d’un tableau sont par l’intermédiaire de leur indice, les champs d’un
enregistrement sont accessibles à travers leur nom, grâce à l’opérateur ’.’
Nom Var.Nom Champ représente la valeur mémorisée dans le champ de l’enregistrement Par exemple,
pour accéder à l’âge de la variable P, on utilise l’expression : P.Age
Remarque : la lecture d’une telle expression se fait de droit à gauche : l’âge de la personne P.
Attention : le nom d’un champ est TOUJOURS précédé du nom de la variable déclarée avec le type
enregistrement auquel il appartient. On ne peut pas trouver un nom de champ tout seul, sans indication
de la variable.
Les champs d’un enregistrement, tout comme les éléments d’un tableau, sont des variables à qui
on peut faire subir les mêmes opérations (affectation, saisie, affichage... ).
Exercices
1. Ecrire un algorithme qui calcule n !
2. Ecrire un algorithme qui affiche la table de multiplication d’un nombre
3. Ecrire un algorithme qui sauvegarde 50 nombres saisi par l’utilisateur dans un tableau puis les affiche.
4.
a. Créer type enregistrement qu’on peut utiliser pour sauvegarder les informations sur un élève sachant
que ce dernier possède un nom, un prénom, une date et lieu de naissance, l’âge et le sexe.
b. Ecrire un algorithme qui permet d’enregistrer deux éléments qui compare leurs âges et affiche le plus
âgé.
Exercice
Soit le tableau suivant nomme Note :
12 5 17 3 13 15 2
Ecrire un algorithme qui recherche et affiche l’indice de la note 6
Jeu bilingue
Contenu de l’UE :
INTRODUCTION
L'un des exercices classiques d'initiation à la programmation consiste à rechercher le maximum et
le minimum dans un tableau d'entiers. La recherche s'effectue en considérant le premier élément du tableau
comme étant le maximum (respectivement. minimum), et en parcourant le tableau itérativement. Si à
l'itération i la valeur se trouvant à l'indice i est supérieure (respectivement. inférieure) à la valeur considéré
maximale (respectivement. minimale) au préalable, la valeur à l'indice i devient alors le maximum
(respectivement. minimum).
1. Recherche du plus grand élément d’un tableau
a) Principe
L'exemple suivant détaille les différentes itérations de la recherche du maximum dans un tableau
d'entiers : La variable max prend initialement la valeur se trouvant à l’indice 1. Lorsque la valeur à l’indice
i est plus grande que max, max devient alors la valeur à l’indice i
i=1 6 4 10 5 12
1 2 3 4 5
max
i=2 6 4 10 5 12
1 2 3 4 5
max
i=3 6 4 10 5 12
1 2 3 4 5
max
i=4 6 4 10 5 12
1 2 3 4 5
max
i=5 6 4 10 5 12
1 2 3 4 5
b) Algorithme
min
i=1 6 5 9 4 7
1 2 3 4 5
min
i=2 6 5 9 4 7
1 2 3 4 5
min
i=3 6 5 9 4 7
1 2 3 4 5
min
i=4 6 5 9 4 7
1 2 3 4 5
min
1 2 3 4 5
b) Algorithme
Algorithme Recherche_Min /*Recherche du plus petit élément dans le
var TAB : tableau[1..n] de entier tableau TAB*/
i, min : entier min=TAB[1];
début Pour i⟵2 à n faire
/*Saisie de la taille du tableau/* débutPour
Ecrire("Donner la taille du tableau :") si (TAB[i]<min)
Lire(n) min⟵TAB[i];
/*Saisie des éléments du tableau*/ finsi
Pour i⟵1 à n faire finPour
débutPour /*Affichage du plus petit élément du
écrire("Donner l’élément N°", i) tableau TAB*/
lireTAB[i] Ecrire("Le plus petit est : ", min);
finPour fin.
Jeu bilingue
Activités d’intégration
T 6 4 10 5 12 9 13 19 15
Compétence visée
Citer quelques langages de programmation
Citer quelques IDE
Installer un IDE
Situation-problème
Une start-up de la place recrute des programmeurs pour le développement de ses applications. Vous
postulez et lors de l’entretien d’embauche les questions suivantes vous ont été posées.
1. Définir langage de programmation, IDE
2. Citer quelques exemples de langages de programmation et d’IDE
3. Décrire les étapes d’installation d’un IDE
Accepter les termes de la licencedans la nouvelle la fenêtre qui apparait en cliquant sur “J’accepte“
Choisir ensuite le dossier d’installation et cliquer sur “Installer“ et patienter quelques instants
INTRODUCTION
Le langage C est un langage dont la syntaxe est légèrement complexe. Le langage C est très sensible
à la casse c'est à dire qu'il fait la différence entre la majuscule et la minuscule. Chaque instruction en
langage C doit se terminer par un point virgule.
IV. CONSTANTES
Une constante est une valeur portant un nom. En langage C les constantes en C sont non typées, on
les définit dans l'entête de la source, juste en dessous des #include avec la syntaxe suivante:
#define Nom_de_la_variable valeur
Exemple
#define N 25 // noter l'absence du point virgule
Le préprocesseur va remplacer tous les noms N par la valeur 25.
V. LES OPERATEURS
Opérateurs de comparaison
Opérateurs symbole Opérateurs symbole
Affectation = Supérieur ou égal >=
Égalité == Supérieur >
différent de != Et logique &&
Inférieur ou égal =< Ou logique ||
Opérateurs arithmétique
Opérateurs Noms Opérateurs Noms
+ addition ^ Puissance
- Soustraction % Modulo
* Multiplication ++ Incrémentation
/ Division -- Décrémentation
résolution
#include <stdio.h> printf("entrez le premier nombre ");
int main() scanf("%d",&a);
{ printf("entrez le second nombre ");
int a,b,S; scanf("%d",&b);
Le programme C que nous avons écrit doit être compilé et exécuté en cliquant sur l'un des boutons ci-
dessous:
bouton 1: pour compiler
bouton2: pour exécuter
bouton 3: compile puis lance automatiquement l'exécution
CONCLUSION
Toute variable C est typée, de même que toute valeur de retour d’une fonction. Mais il peut arriver
qu’aucune valeur ne soit disponible. Pour exprimer l’idée de ”aucune valeur ”, on utilise le mot-clé void.
Il est commode pour faciliter la compréhension de son programme par d'autres personnes d'y insérer un
texte explicatif qui dit ce que fait le programme en un endroit bien précis et qui n'est pas pris en compte
pendant l'exécution du programme.
EXERCICES
1) Donnez la structure minimale d'un programme C
2) Donnez la syntaxe de déclaration d'une variable en C
3) Donnez la syntaxe de déclaration d'une constante en C
4) Donnez le rôle de l'importation des bibliothèques au début de tout programme C
Exemple : écrire un programme en langage C qui permet de résoudre une équation du second degré.
Solution :
#include <stdio.h> printf ("\n Il existe deux solutions dans R, x1 et x2");
#include <stdlib.h> } else
int main(int argc, char *argv[]) if (delta < 0) {
{ printf ("\n L’équation n’a pas de solution dans R");
float delta, a, b, c ; } else {
printf ("\n Entrer les valeurs de a, b et c de l’équation"); printf ("\n Il existe une solution double x1=x2=x0 ");
scanf("%f %f %f ", &a,&b,&c); }
delta =b*b – 4*a*c; return 0;
if (delta > 0) { }
CONCLUSION
Dans cette leçon nous avons remarqué que les structures de contrôle sont à la base de tous les
problèmes. Nous avons aussi vu que les boucles permettent de répéter une série d’instructions plusieurs
fois. Parmi ces boucles certains sont plus adaptées que d’autres selon le cas.
JEU BILINGUE
Mots en anglais Signification en français
if Si
else Sinon
while Tant que
Do while Faire tant que
For Pour
Print Imprimer
EXERCICES
Exercice 1 :
Ecrire un programme en langage C qui permet de donner la nature de l’eau en fonction de sa
température. Sachant que (pour t<= 0 Eau glacée ; 0< t <100 : Eau liquide ; t >100 : Eau gazeuse ;)
Exercice 2 :
Soit à traduire en langage C les algorithmes ci-dessous :
b- Déclaration en C
Pour la déclaration d’un tableau en C, nous avons deux manières : la déclaration brute (c’est-à-dire
sans initialisation) et la déclaration avec initialisation
- Déclaration brute
Pour déclarer un tableau de façon brute en C la syntaxe est la suivante : type Identificateur [taille du
tableau]
La taille du tableau est le nombre de ses éléments, elle ne peut être une variable, elle doit être une
constante définie avant ou lors d la déclaration.
Exemple : pour déclarer un tableau de 75 entiers, la syntaxe est la suivante : Int tab [75]
c- Parcourir un tableau en C
Les éléments d’un tableau sont à lire et a afficher élément par élément, pour parcourir donc un
tableau, nous avons besoin d’utiliser l’instruction for () {…} et l’instruction d’affichage printf ().
Exemple : soit le tableau manu défini ci-dessus, le programme en C permettant d’afficher ces éléments
est :
Activiter d’intégration :
1- Définir tableau
2- définir en algorithmique un tableau d'entier de 10 éléments
3- traduire cet algorithme en langage C
4- créer un tableau de d'entier regorgeant les 12 premiers nombres entiers
5- Écrire un code en C, qui permet d'afficher l'élément à l'indice 6 du tableau en C
COMPETENCES VISEES :
A la fin de cette leçon, chaque élève de la classe de Tle C/D sera capable de traduire un algorithme
de recherche séquentielle en langage C.
SITUATION PROBLEME :
Votre petit frère de la classe de 1ère D a écrit un algorithme qui crée un tableau et y stocke de manière
aléatoire des nombres, puis, demande un nombre à un utilisateur et recherche si le nombre est dans le
tableau. Cependant, il n’arrive pas à traduire cet algorithme en langage C et sollicite donc votre aide. En
vous basant sur la documentation et le cours vu sur les structures de contrôle en langage C, aidez votre
frère à traduire son algorithme de recherche en C.
INTRODUCTION
La recherche est une opération qui consiste à fouiller un élément dans un ensemble. Exemples :
fouiller un stylo noir dans une trousse, un objet dans un classeur… pour effectuer cette opération,
généralement nous l’effectuons de manière séquentielle (objet après objet jusqu’au dernier). Dans cette
leçon nous allons traduire l’algorithme de recherche séquentielle en langage C.
Traduire un algorithme de recherche en langage C
1) Algorithme de recherche
Objectif : Rechercher une information dans un tableau
Méthode : séquentielle
Soit T un tableau de N éléments et val l’élément cherché
Parcours du tableau à partir du premier élément (T[0])
Arrêt quand élément trouvé ou si fin de tableau (T[n-1])
Algorithme recherche_sequentielle
{Recherche le premier indice où se trouve la valeur val parmi les N données du tableau tab ; affiche
l’indice si la valeur est trouvée.}
Variables T [0, N-1], indice, val, n : entier
Début
indice ←0
tant que ( val != T[indice] ET indice < N-1) faire
indice ←indice + 1
ftq
si T[indice] = val alors
écrire(" L'élément se trouve en : ", indice);
sinon
écrire(" Elément non présent ");
fsi
CONCLUSION
Dans la recherche séquentielle, on parcourt tout le tableau jusqu’à la fin avant d’en décider pour une
donnée si elle y est ou non. Cette opération est lourde si on a un grand tableau. C’est pourquoi il existe
d’autres algorithmes tels que l’algorithme de recherche dichotomique (elle s’applique sur un tableau déjà
trié) dont nous vous laissons l’occasion d’en lire plus à propos sur internet.
JEU BILINGUE
EXERCICES
Exercice 1 :
Soit l’algorithme de recherche ci-dessus : traduire en langage C cet algorithme en remplaçant la boucle
tant que (While) par la boucle (Do While).
On peut donc remarquer qu'il se pose un problème sur la variable a. En fait l'adresse de la variable a (&a)
n'est pas mentionné dans la fonction scanf; Le programme après la lecture de la valeur entrée par
l'utilisateur n'a aucune référence pour stocker cette valeur ce qui explique l'arret du programme en cours
d'exécution. la ligne 10 du programme devrait être donc:
CONCLUSION
L'écriture d'un programme passe très généralement par la présence des erreurs de programmation. Leur
identification, interprétation et correction est une activité assez importante pour la validité du programme.
La caractéristique de beaucoup de ces erreurs s'est de ne pas provoquer de message d’erreur du compilateur,
rendant ainsi leur détection difficile. La différence entre le texte correct et le texte erroné est souvent
seulement d’un seul caractère. La découverte de telles erreurs se fait par un examen très attentif de la source
du programme.
jeu bilingue
bogue==>bug erreur de syntaxe ==> syntax erreor
débogage==>debug erreur à l'exécution ==> run time error
programme==>program
EXERCICE1
1) Définir les termes: bug, débogage,
2) Citez trois types d'erreurs que l'on peut rencontrer dans un programme et donner une brève
explication.
EXERCICE2
Le programme Ci-dessous veut permuter le contenu des variables a et b après lecture des valeurs au clavier.