Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
DEVELOPPEMENT DE BENI
ISTA-D/BENI
INFORMATIQUE ET LANGUAGE DE
PROGRAMMATION
Notes de cours et Exercices
Par
L’informatique est parmi nous et avec nous sous plusieurs formes, dans tous les
domaines de notre vie. A ce stade, nul ne peut l’échapper, quel que soit son âge ou son domaine.
Certains continuent encore de mystifier l’Informatique à tel point que les autres qui ne sont pas
suffisamment informés tremblent même à chaque fois qu’ils se retrouvent devant l’ordinateur.
Certes, en 45 heures, nous ne pouvons pas prétendre parcourir l’ensemble des notions
de l’informatique et de la programmation. Il est aussi difficile et voir même impossible à
quelqu’un qui n’avait jamais été auparavant en contact avec l’ordinateur de maîtriser cet outil
pendant les 45 heures qui nous sont confiées.
Cependant, nous avons opté pour la méthode participative qui jusque-là nous donne
des résultats très satisfaisants et nous permet d’atteindre les objectifs présentés ici-bas. La
discipline, l’assiduité, la régularité et la ponctualité pendant les heures de cours et des travaux
pratiques sont les quatre piliers de notre formation. C’est ainsi que la présence sera côté à 5%,
l’interrogation à 15 %, l’examen à 40 % et les travaux dirigés à 40 %. Est compté présent,
l’Etudiant qui se trouve dans l’auditoire ou dans la salle de travaux pratiques pendant que
l’appel est fait au début et à la fin du cours.
Il est recommandé aux Etudiants de s’abstenir de la tricherie sous toutes ses formes.
Aucun étudiant ne sera permis de travailler à la place de l’autre. Il peut à la limite le guider et
lui expliquer ce qu’il doit faire. L’annulation pure et simple du travail fait ou de l’examen est
la sanction réservée à toute fraude, tricherie ou tentative de tricherie.
Objectifs :
L’étudiant qui aura suivi régulièrement ce cours d’Informatique et Langage de
Programmation sera capable de :
- Définir quelques concepts en informatique,
- Comprendre le langage des ordinateurs,
- Concevoir un algorithme,
- Exécuter un programme dans un langage de programmation,
Le mot informatique est apparu dans l’académie française en 1962 et fut introduit
par Philip Dreyfus. Elle désigne la science qui s’occupe du traitement automatique de
l’information. D’ailleurs le mot informatique est une concaténation des mots information et
automatique.
Traitement :
A. Recueillir L’information
B. Stockage de l’information
C. Transformation de l’information
Cela signifie exploiter l’information de façon à obtenir de nouvelles informations à
partir des anciennes en appliquant des règles de transformation.
Exemple : on a recueilli et stocké les informations sur les âges des étudiants de G2 de
l’ISTAD Beni.
D. Diffusion de l’information
Cela signifie rendre disponible l’information à ceux qui en ont besoin au moment où
ils en ont besoin et sous la forme directement explicable.
Exemple : La section veut savoir les étudiants en ordre avec les frais académiques pour
organiser l’interrogation.
Automatique :
Elle est appelée science par ce qu’elle permet de rechercher la vérité sur un sujet
donnée.
Elle est appelée technique dans la mesure où c’est l’application de l’électronique,
Elle est appelée art par ce qu’elle permet à l’esprit humain de se révéler c’est-à-
dire le génie humain.
I.1.2. Information
Rôle de l’information : L’information joue un rôle capital au sein des organisations humaines.
C’est en fait un :
- Sa pertinence (une information est pertinente si elle répond aux questions posées),
- Sa fiabilité (exacte, précise, complète et à jour),
- Sa disponibilité (au bon moment, bon endroit, bonne forme),
I.1.3. Le Système d’Information et Système Informatique
Le système d’information est l’ensemble des informations qui circulent dans une
organisation et de tous les moyens disponibles pour la gérer.
I.2.2. Types
I.2.3. Conversion
Exemple : Convertissez :
La méthode tabulaire
Exemple : Convertissez :
60(10)= 74 (8)
Principe : Pour convertir un nombre d’une base quelconque vers une autre, on le
convertit d’abord à la base 10 ensuite à la base demandée.
a) D’abord à la base 10
1*162+0*161+8*160
=256+0+8
=264(10)
b) Puis à la base 8
I.2.4. Exercices
a) 208(10)= (2)
b) 406(8)= (16)
c) 10101(16)= (8)
d) 509,88(16)= (2)
e) 10010111(2)= (8)
Si le programme sera exécuté par un être humain, on peut ne pas détailler les
instructions ou les étapes ; mais, si c’est l’ordinateur qui va exécuter ce programme, alors, il
faut détailler très profondément ce programme. Car par exemple, l’ordinateur ne connaît pas
l’eau, le bassin, la brosse, l’armoire, l’étagère, … aussi il ne connaît pas là où ils se trouvent. Il
faut donc le lui dire avant tout.
a) Début
b) Tu vas au dépôt
c) Tu prends le bassin
d) Tu sors du dépôt
f) Tu vas à la source
h) Tu ouvres le robinet
j) Tu fermes le robinet
l) Tu quittes la source
q) …
r) Fin
Si nous pouvons détailler très profondément au point de faire comprendre à un
ordinateur, alors on dira que nous avons fait un algorithme.
En bref : D’une façon technique, un programme peut être défini comme une suite
d’instructions élémentaires qui vont être exécutées dans l’ordre par le processeur. Pour
programmer, il faut donc expliquer actions par actions ce que l’ordinateur doit faire, dans le
bon ordre, sans rien oublier.
I.2. Un algorithme
D’une façon très simple, nous pouvons dire qu’un algorithme c’est un programme bien
ordonné et bien détaillé. Les mathématiciens disent qu’un algorithme est un procédé spécial
bien ordonné et détaillé pour résoudre un problème.
Pour que l’ordinateur exécute un programme, il faut que ce programme lui soit
communiqué sous forme d’algorithme c'est-à-dire ordonné très profondément et détaillé très
profondément.
Algorithme est une notion mathématique abstraite comme l’ensemble ou le point par
exemple, qui n’a pas une définition stricte, c’est-à-dire, on ne peut pas le définir à travers les
notions plus élémentaires et plus simples. Actuellement, le mot algorithme signifie la
description exacte d’un processus.
Robert)
Mais, c’est KNUTH qui, dans « The art of computer programming » en donne les
caractéristiques complètes : un algorithme est un processus ou un ensemble de règles ayant 5
caractéristiques suivantes :
Un algorithme doit être fini et doit se terminer après un nombre fini d’opérations, en
d’autres termes, il doit avoir un début et une fin ;
Un algorithme doit être défini et précis c’est-à-dire chaque instruction ou règle doit
être définie sans ambiguïté ;
S’il y a des données d’entrée, leur champ d’application doit être précisé c’est-à-dire
leur type de données. Par exemple, des données nombres entiers, données nombres réels,
données type caractère,…
Un algorithme doit être effectif c’est-à-dire toutes les opérations doivent pouvoir être
effectuées exactement, et dans un temps fini, par un homme qui utilise les moyens manuels.
Le deuxième problème qui se pose est celui du langage. Il faut pouvoir expliquer nos
actions ou instructions dans un langage que l’ordinateur comprend.
C’est pourquoi, certains programmeurs ont déjà développé ou inventé des langages
de programmation un peu proches du langage humain. Contrairement, à un langage humain,
Parmi les langages de programmation les plus populaires, nous pouvons citer :
Je consacre quelques lignes à cette question, car cette opinion aussi fortement affirmée
que faiblement fondée sert régulièrement d’excuse : « moi, de toute façon, je suis mauvais(e)
en algorithmique, je n’ai jamais rien pigé aux maths ». Faut-il être « bon en maths » pour
expliquer correctement son chemin à quelqu’un ? Je vous laisse juge. La maîtrise de
l’algorithmique ou de la programmation requiert deux qualités, très complémentaires d’ailleurs
:
il faut avoir une certaine intuition (une certaine expérience). C’est là, si l’on y tient,
qu’intervient la forme « d’intelligence » requise pour l’algorithmique. Alors, c’est
certain, il y a des gens qui possèdent au départ davantage cette intuition que les autres.
Cependant, et j’insiste sur ce point, les réflexes, cela s’acquiert. L’intuition n’est
finalement que de l’expérience tellement répétée que le raisonnement, au départ
laborieux (fatigant), finit par devenir « spontané ». Bref, il faut une dose de patience.
il faut être méthodique et rigoureux. En effet, chaque fois qu’on écrit une série
d’instructions qu’on croit justes, il faut systématiquement se mettre mentalement à la
place de la machine qui va les exécuter, armé d'un papier et d'un crayon, afin de vérifier
si le résultat obtenu est bien celui que l’on voulait. Cette opération ne requiert pas la
moindre once (grain ou pluie) d’intelligence. Mais, elle reste néanmoins indispensable,
si l’on ne veut pas écrire à l’aveuglette.
Et petit à petit, à force de pratique, vous verrez que vous pourrez faire de plus en plus
souvent l’économie de cette dernière étape : l’expérience fera que vous « verrez » le résultat
produit par vos instructions, au fur et à mesure que vous les écrirez. Naturellement, cet
apprentissage est long, et demande des heures de travail patient. Aussi, dans un premier temps,
évitez de sauter les étapes : la vérification méthodique, pas à pas, de chacun de vos algorithmes
représente plus de la moitié du travail à accomplir... et le gage de vos progrès.
a) Préciser le besoin
C’est l’expression du problème à résoudre. Il s’agit du résumé du désir de l’utilisateur
ou du bénéficiaire du programme.
C’est la relation entre les entrées et les sorties. Ces formules peuvent provenir de la
mathématique, de la logique ou du domaine automatisé. Donc, le procédé de calcul consiste à
une expression mathématique ou logique permettant d’obtenir le résultat.
A cette étape, on verra apparaître des informations qui seront utilisées comme
résultats intermédiaires ou qui interviendront dans les conditions de calcul. Il faudra pour le
fait, prévoir dans l’ordre logique les calculs et les modalités de calcul de ces différentes
informations.
Voici un exemple :
2° L’ordinogramme :
= Connexions
=Disque magnétique
= Document imprimé
= Préparation ou sous-programme
C’est pourquoi, il existe aussi les structures des données (donc, la manière de stocker
les données) et les structures de traitements (donc, la manière d’organiser les instructions).
On ne fera pas mille choses avec une variable. Une variable sert tout simplement à
stocker ou garder temporellement une donnée ou information.
- Chaine de caractères : (abréviation : Chaine) tout objet de ce type peut prendre comme
valeur une suite de caractères. La suite peut être vide.
- Booléen : un objet de ce type prend sa valeur dans l’ensemble (vrai, faux).
N.B. : Lorsque l’objet (ou une variable) prend qu’une seule valeur dans tout l’algorithme, on
l’appelle constante. Si, au contraire, au cours du déroulement de l’algorithme l’objet peut
changer de valeur, on l’appelle variable.
Déclarer une variable c’est lui attribuer un nom et un type de données. Disons très
clairement que « déclarer une variable c’est créer une variable ».
Le nom d’une variable (donc d’un objet) doit être significatif, ne doit pas commencer
par un nombre ou un signe ou symbole mathématique, ne doit pas contenir des accents ou
l’apostrophe. Il ne pourra pas également contenir un espacement.
Sur l’ordinateur, la déclaration d’un objet ou d’une variable est matérialisée par une
réservation de l’espace mémoire.
L’initialisation d’une variable consiste à lui attribuer la toute première valeur juste
après la déclaration. Lorsqu’on attribue une autre valeur à une variable, la valeur initiale est
écrasée par la nouvelle.
Cette opération consiste à prendre une valeur à partir du clavier et l’affecter immédiatement
dans une variable.
N.B. : On peut aussi afficher un texte textuellement : dans ce cas il faut remplacer le mot «
NomVariable » par votre texte à afficher. Mais, ce texte sera entouré des « guillemets » ou les
« apostrophes ».
Ecrire « Bonjour »
Avec ordinogramme :
Exercice 1 : Faire un programme permettant d’afficher le quotient de deux nombres entiers.
Travail demandé : Ecrire l’algorithme en pseudo code, en ordinogramme, en langage Visual
Basic.
(b) En ordinogramme
Début
R = nbreA/nbreB
Ecrire R
Fin
• La valeur de l’objet à droite du signe (signe d’affectation ← ou =) n’est pas touchée par
l’affectation.
Début
Variables A, B, C, P : Entiers
A=3
B=5
C=A+B
P=C+B
A=P-2
B=B+2
Ecrire A, B, C, P
Fin
Voici la liste des opérateurs utilisés pour composer les expressions arithmétiques et
logiques :
2° Les opérateurs relationnels : l’égalité =, inférieur <, inférieur ou égal <=, supérieur >,
supérieur ou égal >=, différent de <>.
3° Les opérateurs logiques : ils relient des expressions logiques ou des identificateurs de type
booléen. On en utilise essentiellement trois, qui sont par ordre de priorité croissante :
OU, ET et NON. Une expression logique est toujours de type booléen. Il est conseillé de
revoir les tables de vérité des opérateurs logiques.
II.3.4 La séquence
Une séquence est une suite d’instructions qui s’exécutent les unes après les autres selon
leur ordre d’apparition dans l’algorithme. Lorsque les instructions sont organisées d’une façon
séquentielle, alors l’algorithme doit être exécuté de haut en bas ligne après ligne, sans rien sauté.
Nos exemples précédents (voir le point II.3.1.) sont des séquences car toutes les instructions
de l’algorithme s’exécutent en ordre selon leur apparition.
Expression
logique
En Visual Basic :
If <expression logique> Then
<liste d’instruction 1>
Else
< liste d’instruction 2>
End If
Il est possible que l’une de branche de l’alternative ne comporte aucune action. La
structure correspond alors à un conditionnement.
La syntaxe est alors :
En pseudo code :
Si <expression logique> Alors
<liste d’instructions> Fin si
En Ordinogramme :
Expression
logique
Liste d’instructions
En Visual Basic :
If <expression logique> Then
<liste d’instructions>
End If
Exercice 1 : Elaborer un algorithme qui permet d’afficher le plus grand (maximum) de deux
nombres entiers x et y saisis au clavier.
Une itération ou une boucle est un ensemble d’opérations qui doivent être répétées
toujours dans le même ordre, un nombre fini de fois. Un traitement qui se répète et ainsi
identique parait fastidieux à l’opérateur humain. C’est pourquoi, on cherche le plus possible à
confier ce travail à un automate. Dans ce cas, il suffit de décrire une seule fois le contenu de
l’itération puis d’indiquer le nombre de répétitions pour que le processeur puisse effectuer le
traitement. Ajoutons que Le nombre d’itérations correspond au nombre de fois que la boucle
est exécutée.
- La condition sur la variable compteur pour laquelle la boucle s’arrête. Cette condition doit
tester si la valeur du compteur dépasse une certaine limite.
- Enfin, une instruction qui incrémente ou qui dincrémente le compteur (le pas).
En Ordinogramme :
Liste d’instructions
En Visual Basic :
For <compteur> = <valeur début> to <valeur finale> Step <Pas>
Liste d’instructions
Next <compteur>
Exemple : Ecrire un algorithme qui demande à l’utilisateur de saisir une phrase quelconque
; puis l’ordinateur affiche cette phrase 20 fois à l’écran.
Début
Variables i : entier
Variables P : Chaine
Ecrire « Quelle phrase voulez-vous afficher ? »
Condi FAUX
tion
VRAI
Liste d’instructions
En Visual Basic :
Do While <Condition>
Liste d’instructions
En ordinogramme :
Liste d’instructions
FAUX Condi
tion
VRAI
En Visual Basic :
Do
Liste d’instructions
II.5. Exercices
Exercice 1 : Faire un programme qui affiche la côte moyenne d’un élève après délibération.
L’on attribue à l’élève deux côtes (côte de math et côte de français, chaque cours est côté sur
10). On calcule également la côte moyenne (Additionner les deux côtes et diviser par deux).
Travail demandé : Ecrire l’algorithme en pseudo code, en ordinogramme.
Exercice 3 : Faire un programme qui affiche le résultat d’une vente. On donne le prix d’achat
et le prix de vente, puis l’ordinateur affiche le résultat qui peut être un bénéfice ou une perte.
Travail demandé : Ecrire l’algorithme en pseudo code, en ordinogramme.
Faites alors un double clic sur Vs_professional.exe pour lancer l’installation de l’application.
Pour continuer, suivez les instructions en cochant là où il faut cocher après la lecture des textes
qu’on aura à vous présenter.
- les programmes fonctionnant sur PC sous DOS ou, plus fréquemment, dans une
fenêtre Dos de Windows
- les programmes fonctionnant sous Unix ou Linux et s’exécutant dans une « fenêtre
de commande ».
Avec une interface console, c’est le programmeur qui décide de l’enchaînement des
opérations : l’utilisateur est sollicité au moment voulu pour fournir les informations demandées
qui, en toutes rigueur peuvent influer sur le déroulement ultérieur du programme. Cette interface
n’offre donc pas à l’utilisateur la sensation d’initiative qu’il trouvera dans une interface
graphique.
Cliquez sur New Project de l’interface Visual Studio après l’avoir demarré ou
menu Fichier si vous etes déjà dans un autre projet,
Comme vous le constater, nous avons crée une application console. Et voici l’ecran
après avoir cliqué sur OK.
Il existe des milliers de classes: les plus utilisées sont les classes 'String' (permettant
de travailler sur des chaînes de caractères), Math (permettant d'utiliser des fonctions
mathématiques), Forms (permettant l'usage de formulaires, de fenêtres et donnant accès aux
contrôles: boutons, cases à cocher, listes..). Elles sont communes à tous les langages utilisant le
FrameWork (VB, C#, C....).
Module Module1
Dim m, f As Double
Sub main()
End Module
NB :
Quand le projet est créé voici comment l’éditeur des codes se présente :
Module Module1
Sub main()
End Sub
End Module
Le Sub main() c’est la procédure principale dans laquelle vous écrivez les
instructions à exécuter. Comme vous le constater, les variables sont préalablement déclarées à
haut de Le Sub main() juste en bas de la déclaration du module.
une donnée saisie au clavier dans une variable. Dans la figure ci-dessous vous allez voir un
message qui demande de saisir le coté et le curseur entrain de clignoter. C’est l’instruction ci-
haut qui permet d’obtenir le curseur sur la figure.
L’Instruction Console.ReadKey() permet figer l’écran. Cela est visible surtout lors de
l’exécution de l’application. Si l’instruction n’est pas inscrite, l’écran d’exécution se fermera
directement.
Voici un autre exemple d’un programme Visual Basic qui calcule le résultat d’une
vente en fournissant le nom, le prix d’achat et le prix de vente d’un produit :
Module Module1
Dim nom As String
Dim pa, pv As Double
Dim res As Double
Sub main()
Console.WriteLine("Entrez le prix d'achat ")
pa = Console.ReadLine
Console.WriteLine("Entrez le prix de vente")
pv = Console.ReadLine
res = (pv - pa)
If res > 0 Then
Console.WriteLine("Le benefice est: " & res)
ElseIf Res < 0 Then
Console.WriteLine("La perte est:" & res)
Else
End Module
Nous pouvons aussi illustrer le cas d’une boucle avec un programme qui répète 50
fois le nom de l’utilisateur après l’avoir fourni au clavier :
Module Module1
Dim nom As String
Dim compteur As Integer
Sub main()
Console.WriteLine("Votre nom ")
nom = Console.ReadLine
For compteur = 1 To 50
Console.WriteLine(nom)
Next
Console.ReadKey()
End Sub
End Module
Et voici le résultat :
III.4. Exercices
Exercice 1 : Faire un algorithme qui permet de calculer et imprimer le salaire brut, le retenu
et le salaire net d’un travailleur connaissant le nombre de jours prestés et le salaire
journalier. Le nom du travailleur, le nombre de jours prestés et le salaire journalier sont
donnés à partir du clavier. Le taux de retenu est fonction du salaire brut et est donné par le
tableau suivant :