Cour 2 Informatique2 FC

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 14

Université Abdelhamid Ibn Badis de Mostaganem

Faculté Des Sciences Economiques et commerciales et science de gestion


Département de sciences financières

Cour : N° 2________________________________________________________________

Structure de la programmation

1. Processus de résolution d’un problème :


Pour résoudre un problème, il est vivement conseillé de réfléchir d'abord à l'algorithme avant de
programmer proprement dit, c'est à dire d'écrire le programme en langage de programmation.

<
Enoncé du problème

↓ ← Analyse – Conception

Modélisation de données

Algorithme

↓ ← Codage

Programme source


← Mise au point (compilation,
↺ tests,…)

Solutions

Fig. 1 : Processus de résolution d’un problème.

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021
Université Abdelhamid Ibn Badis de Mostaganem
Faculté Des Sciences Economiques et commerciales et science de gestion
Département de sciences financières

2. La fabrication d’un programme suit les phases suivantes :


1) Analyse:
Déterminer le problème à résoudre, Comprendre la nature du problème posé et préciser les
données fournies ("entrées" ou "input" en anglais), Préciser les résultats que l'on désire obtenir
("sorties" ou "output" en anglais).
2) Description de l’algorithme :
On raisonne sur la manière de représenter les données du problème, et sur une méthode de
résolution. Cette méthode est ensuite énoncée sous forme de suite de pas à accomplir pour
aboutir aux solutions : c’est l’algorithme de résolution du problème.
3) Codage :
Il s’agit de traduire l’algorithme en langage de programmation, et sous forme de fichier texte
(c.à.d. suite de caractères sans mise en forme ni mise en page). Le résultat du codage est un
fichier appelé code source du programme.
4) Mise au point :
Comprend le plus souvent plusieurs étapes répétées jusqu’à ce que le programme semble
satisfaisant :
 Compilation : un langage de programmation de haut niveau n’est pas directement
compréhensible par la machine. Il faut donc traduire le code source du programme vers le
langage natif de la machine. Le résultat est un nouveau fichier écrit en langage machine, et
appelé code objet.
 Tests : exécution du code objet avec divers cas typiques des entrées, ou jeu de tests. C’est
le moment où la plupart des erreurs apparaissent.
 Correction des erreurs : on modifie le code de manière à corriger les erreurs au fil des
tests, et l’on recommence la compilation, exécution et tests, etc.
3. Les phases de la programmation :
La fabrication d’un programme suit les phases suivantes :
1) Analyse: Déterminer le problème à résoudre, Comprendre la nature du problème posé et
préciser les données fournies ("entrées" ou "input" en anglais), Préciser les résultats que
l'on désire obtenir ("sorties" ou "output" en anglais).
2) Description de l’algorithme : on raisonne sur la manière de représenter les données du
problème, et sur une méthode de résolution. Cette méthode est ensuite énoncée sous

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021
Université Abdelhamid Ibn Badis de Mostaganem
Faculté Des Sciences Economiques et commerciales et science de gestion
Département de sciences financières

forme de suite de pas à accomplir pour aboutir aux solutions : c’est l’algorithme de
résolution du problème.
3) Codage : il s’agit de traduire l’algorithme en langage de programmation, et sous forme de
fichier texte (c.à.d. suite de caractères sans mise en forme ni mise en page). Le résultat du
codage est un fichier appelé code source du programme.
4) Mise au point : comprend le plus souvent plusieurs étapes répétées jusqu’à ce que le
programme semble satisfaisant :
 Compilation : un langage de programmation de haut niveau n’est pas directement
compréhensible par la machine. Il faut donc traduire le code source du programme
vers le langage natif de la machine. Le résultat est un nouveau fichier écrit en langage
machine, et appelé code objet.
 Tests : exécution du code objet avec divers cas typiques des entrées, ou jeu de tests.
C’est le moment où la plupart des erreurs apparaissent.
 Correction des erreurs : on modifie le code de manière à corriger les erreurs au fil
des tests, et l’on recommence la compilation, exécution et tests, etc.
Etude du problème
 Données
 Actions
Réflexion → ↓

Algorithme

traduction → ↓ Langage de programmation

Programme

(langage évolué)

Traduction
→ ↓
(compilation ou
interprétation)
Programme

(langage machine)

Fig. 2 Processus de résolution d’un problème.

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021
Université Abdelhamid Ibn Badis de Mostaganem
Faculté Des Sciences Economiques et commerciales et science de gestion
Département de sciences financières

4. Qu’elle que définition :


a. Algorithme :
 Suite finie séquentielle de règles que l’on applique à un nombre fini de données, permettant de
résoudre des classes de problèmes semblables.
 Calcul, enchainement des actions nécessaires à l’accomplissement d’une tâche.
 Transformation d’un problème en une suite ordonnée d’opérations comportant un nombre fini
d’étapes permettant de résoudre le problème.
b. Programme :
 Suite d’instructions données à l’ordinateur et codées dans un langage de programmation
compréhensible (après traduction) par l’ordinateur.
c. Instruction :
On distingue deux types d’instructions :
 des instructions de traitement de l’information.
 des instructions destinées à commander le déroulement du programme.

5. Entrée/Sortie et Variables :
a) Structure générale d’un algorithme :

En algorithme En langage C/C++

Algo nomalgo main ()

déclarations {

Début déclarations

instructions instructions

Fin }

- Debut en langage C/ C++ : par accolade ouvrante ‘ { ‘ ;


- Fin du programme en C/ C++ : par accolade fermente ‘}‘

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021
Université Abdelhamid Ibn Badis de Mostaganem
Faculté Des Sciences Economiques et commerciales et science de gestion
Département de sciences financières

b) Variable – constante :
 Donnée :
Toute donnée est soit une variable, soit une constante.
 Variable - constante :
Une variable est, une donnée dont, la valeur va évoluer lors de l’exécution du programme. A
l’opposé, une constante va conserver la même valeur tout au long du traitement. Chaque
donnée (variable ou constante) est définie par :
 un identificateur : c’est le nom que l’on lui donne.
 un type.
 une valeur.
 Type :
La valeur d’une variable est codé en binaire. A une nature (numérique. caractère...) de
l’information mémorisée correspond généralement une manière de coder cette information. Le
type d’une variable permet d’associer entre eux, la nature des informations, le codage mais
aussi les limites et opérations associés.
 Opérateur :
Un opérateur est un symbole indiquant une opération à effectuer. Les opérateurs sont bien
souvent, binaires « reliant deux opérandes », mais peuvent aussi être unaires ou ternaires. Un
opérateur est bien souvent associé un type de données. On peut classer la plupart des opérateurs
dans trois grandes familles :
1. opérateurs arithmétiques : donnent un résultat, numérique à partir d’opérandes
numériques (addition, soustraction,...).
2. opérateurs relationnels : donnent un résultat logique â partir d’opérandes numériques
(plus grand que, égal, ...).
3. opérateurs logiques : donnent un résultat logique à partir d’opérandes logiques (ET,
OU, …).
Exemple 1
3 + 3 : +, opérateur binaire d’addition.
a ET b : ET, opérateur binaire.
-c : - négation unaire.
NON (a ou b) : NON, opérateur unaire.

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021
Université Abdelhamid Ibn Badis de Mostaganem
Faculté Des Sciences Economiques et commerciales et science de gestion
Département de sciences financières

En algorithmique, nous utiliserons les types suivants :


1. Booléen :
Valeurs : vrai OU faux.
Opérateurs : ET. OU et NON.
2. Entier ou réel :
Valeurs : n’importe quelle valeur entière ou réelle.
Exemple : 18, -3,5.
Opérateurs : addition +, soustraction -, multiplication *, division /, modulo (reste de
division entière) %, comparaison >, ≥, <, ≤, =, ≠
3. Caractère ou chaîne de caractère :
Valeurs : lettres, chiffres.
Exemple : “bonjour”, ‘a’.
Opérateur : concaténation +.
c) Instruction :
 Déclaration :
L’utilisation d’une variable ou d’une constante sera TOUJOURS précédée d’une déclaration.
Cette déclaration permet :
 d’associer formellement un identificateur à un type.
 d’éviter l’utilisation multiple d’un nom pour deux données différentes (double déclaration).
En algorithme En C/C++ Commentaire

Algo decl main() A et B sont des variables de


type entier, C est un
var A,B :entier ; {
constante de type réel.
const C = 0.5 ; int A, B;

Début const c = 0.5;

Fin }

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021
Université Abdelhamid Ibn Badis de Mostaganem
Faculté Des Sciences Economiques et commerciales et science de gestion
Département de sciences financières

 Affectations :
a. Affectation :
Une affectation 𝐱 ← 𝐞𝐱𝐩𝐫 est une instruction qui permet de spécifier qu’au moment de son
exécution, la variable 𝐱 recevra comme nouvelle valeur la valeur de l’expression 𝐞𝐱𝐩𝐫
spécifiée en partie droite de l’instruction.

b. Expression :

Une expression permet de désigner le calcul d’une « nouvelle » valeur à partir d’autres
valeurs et d’opérations. Les valeurs utilisées dans l’expression peuvent être des constantes,
des valeurs de variables. Des données littérales.

En algorithme En C/C++
𝐢𝐝𝐞𝐧𝐭𝐢𝐟 ← 𝐞𝐱𝐩𝐫; 𝐢𝐝𝐞𝐧𝐭𝐢𝐟 = 𝐞𝐱𝐩𝐫;

 Entrées/Sorties :
Un programme a généralement besoin de communiquer avec l’extérieur
 affichage de résultats sur un écran.
 demande à l’utilisateur de fournir une donnée.
Dans la réalité les instructions d’écriture et de lecture se font sur des périphériques. Une lecture
spécifie qu’une nouvelle valeur d’un variable doit être lue sur un périphérique (typiquement à
l’aide du clavier). Une lecture a comme avantage sur une affectation le fait de rendre le
programme indépendant des données. I.e. le même programme peut s’exécuter sur des données
différentes. Une écriture permet d’écrire sur un périphérique (typiquement l’écran) la valeur
d’une variable, d’une constante ou d’une expression.
En algorithme En langage C/C++ Commentaire

Lire (variable) ; scanf (variable) ;

Ecrire (variable) ; printf (variable) ;

Ecrire ("message") ; printf ("message") ;

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021
Université Abdelhamid Ibn Badis de Mostaganem
Faculté Des Sciences Economiques et commerciales et science de gestion
Département de sciences financières

6. Structures de contrôle :
En algorithmique l'ordre des instructions est primordial. Le processeur exécute les instructions dans
l'ordre dans lequel elles apparaissent dans le programme. On dit que l'exécution est séquentielle. Une
fois que le programme a fini une instruction, il passe à la suivante. Tant qu'une instruction n'est pas
terminée, il attend avant de continuer. Par exemple, une instruction de saisie va attendre que
l'utilisateur rentre une valeur au clavier avant de continuer. On doit pouvoir faire des choix (structure
conditionnelle). Par ailleurs, si un traitement identique (ou presque identique) se répète plusieurs fois,
on doit pouvoir faire en sorte de ne l'écrire qu'une fois (structure itérative ou répétitive).
Il existe deux grands types de structures de contrôle :
 les structures conditionnelles vont permettre de n'exécuter certaines instructions que sous
certaines conditions ;
 les structures répétitives, encore appelées boucles, vont permettre de répéter des instructions
un certain nombre de fois, sous certaines conditions.

 Les structures conditionnelles :

Les structures conditionnelles permettent d'exécuter des instructions différentes en fonction de


certaines conditions. Une condition (encore appelée expression conditionnelle ou logique) est
évaluée, c'est à dire qu'elle est jugée vrai ou fausse. Si elle est vraie, un traitement (une ou
plusieurs instructions) est réalisé; si la condition est fausse, une autre instruction va être
exécutée, et ensuite le programme va continuer normalement.
Il existe 2 types principaux de structures conditionnelles :
 les structures alternatives (Si…Alors…Sinon).
 les structures conditionnelles au sens strict.

 Les structures alternatives (Si…Alors…Sinon) :


Dans le déroulement d'un algorithme, on doit souvent choisir entre deux actions, suivant une
condition concernant la valeur de certaines données. La structure alternative va permettre
d'effectuer des choix.
 Si la condition est vérifiée seul le premier traitement est effectué (action 1).
 Si la condition n’est pas vérifiée seul est effectué le second traitement (action 2).

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021
Université Abdelhamid Ibn Badis de Mostaganem
Faculté Des Sciences Economiques et commerciales et science de gestion
Département de sciences financières

Notation :
𝐒𝐈 condition 𝐀𝐋𝐎𝐑𝐒

Action 1
𝐒𝐈𝐍𝐎𝐍
Action 2
𝐅𝐈𝐍𝐒𝐈

Interprétation :
L’exécution d’une telle instruction consiste à évaluer la condition, qui doit être nécessairement une
expression booléenne, c’est à dire lui associer la valeur vrai ou faux, ensuite, si l’évaluation fournit
vrai exécuter action 1, et sinon exécuter action 2.
Exemple :
Ecrire l’algorithme qui demande en entrée deux valeurs entières et retourne le maximum entre eux.
(On suppose que les deux valeurs sont distinctes).

𝐀𝐋𝐆𝐎 maximumAB
𝐕𝐀𝐑 a, b, max : entier ;
𝐃𝐄𝐁𝐔𝐓
Ecrire ("donne deux valeurs") ;

Lire (a, b) ;
𝐒𝐈 (a > 𝑏) 𝐀𝐋𝐎𝐑𝐒
max ← a ;
𝐒𝐈𝐍𝐎𝐍
max ← b ;
𝐅𝐈𝐍𝐒𝐈
Ecrire ("le maximum est : ", max) ;
𝐅𝐈𝐍

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021
Université Abdelhamid Ibn Badis de Mostaganem
Faculté Des Sciences Economiques et commerciales et science de gestion
Département de sciences financières

Syntaxe en langage C :

La structure conditionnelle (Si…Alors) :


Cette structure est utilisée si on veut exécuter une instruction seulement si une condition est vraie et ne
rien faire si la condition est fausse. Elle évite d’écrire Sinon rien.

Notation :

𝐒𝐈 condition 𝐀𝐋𝐎𝐑𝐒
Action 1
𝐅𝐈𝐍𝐒𝐈
Exemple :
Dans un programme de calcul d'une facture, on veut effectuer une remise de 10% si le montant de la
facture dépasse 50 000 DA.
Supposons que la variable qui contient le montant de la facture s'appelle mont. On veut écrire
l'algorithme qui affiche le montant à payer.

10

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021
Université Abdelhamid Ibn Badis de Mostaganem
Faculté Des Sciences Economiques et commerciales et science de gestion
Département de sciences financières

𝐀𝐋𝐆𝐎 montant_facture
𝐕𝐀𝐑 mont : réel ;
𝐃𝐄𝐁𝐔𝐓
Ecrire ("donne le montant de la facture") ;

Lire (mont) ;
𝐒𝐈 (mont > 50000) 𝐀𝐋𝐎𝐑𝐒
mont ← mont ∗ 0.9 ;
𝐅𝐈𝐍𝐒𝐈
Ecrire ("le montant de la facture est : ", mont) ;
𝐅𝐈𝐍

Syntaxe en langage C :

Le choix multiples (selon……cas) :


La structure Selon permet de choisir le traitement à effectuer en fonction de la valeur d’une expression.
Cette structure permet de remplacer avantageusement une succession de structures Si…Alors.
Notation :
𝐒𝐄𝐋𝐎𝐍 expression
𝐂𝐀𝐒 constante_1 : traitement 1 ;
𝐂𝐀𝐒 constante_2 : traitement 1 ;
𝐂𝐀𝐒 constante_3 : traitement 1 ;

𝐃𝐄𝐅𝐀𝐔𝐓 traitement par défaut
𝐅𝐈𝐍𝐒𝐄𝐋𝐎𝐍

11

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021
Université Abdelhamid Ibn Badis de Mostaganem
Faculté Des Sciences Economiques et commerciales et science de gestion
Département de sciences financières

Exemple :
Voilà l'algorithme qui affiche le mois en toute lettre selon son numéro.
Le numéro du mois est mémorisé dans la variable mois.
𝐀𝐋𝐆𝐎 choix_mois
𝐕𝐀𝐑 mois : entier ;
𝐃𝐄𝐁𝐔𝐓
Ecrire ("donne un numéro entre 1 et 12") ;
Lire (mois ) ;

SELON mois
Cas 1 : Ecrire Janvier ;
Cas 2 : Ecrire ("Février") ;
Cas 3 : Ecrire ("Mars") ;

Cas 10 : Ecrire ("Octobre") ;
Cas 11 : Ecrire ("Novembre") ;
Cas 12 : Ecrire ("Décembre") ;
Défaut : Ecrire ("erreur ∶ numéro entre 1 et 12") ;

FINSELON
𝐅𝐈𝐍
Syntaxe en langage C :

12

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021
Université Abdelhamid Ibn Badis de Mostaganem
Faculté Des Sciences Economiques et commerciales et science de gestion
Département de sciences financières

Les expressions conditionnelles :


Une expression conditionnelle (ou expression logique, ou expression booléenne) est une expression
dont la valeur est soit VRAI soit FAUX. Il existe plusieurs types d’expressions conditionnelles.

Les comparaisons simples :


Les conditions de type (a < 0) ou (c ="s") ou (x=y) sont des conditions simples. Une condition simple
est une comparaison de deux expressions de même type. (a<0 type entier ou réel, c = "s" type
caractère) Les symboles de comparaison utilisable en algorithmique sont : >, ≥, <, ≤, =, <>
Attention, une condition simple ne veut pas dire une condition courte.
Une condition simple peut être la comparaison de deux expressions comme : (𝑎 + 𝑏 − 3) ∗ 𝑐 >
(5 ∗ 𝑦 – 2) / 3
Application :
Supposons que nous voulions afficher la valeur absolue de la différence entre deux nombres entiers.
Ces nombres entiers seront notés x et y.
Nous voulons donc afficher x – y si x est plus grand que y et y – x sinon.

Si x > y alors

Ecrire (x – y) ;

Sinon

Ecrire (y – x) ;

Finsi

Les conditions complexes :


Les conditions (ou expressions conditionnelles) peuvent aussi être complexes, c'est-à-dire formées de
plusieurs conditions simples ou variables booléennes reliées entre elles par les opérateurs logiques et,
ou, non.
Si a < 0 et b < 0 alors …
Si (a + 3 = b et c < 0) ou (a = c * 2 et b <> c) alors …

13

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021
Université Abdelhamid Ibn Badis de Mostaganem
Faculté Des Sciences Economiques et commerciales et science de gestion
Département de sciences financières

L'imbrication des Structures Si :


Les structures conditionnelles peuvent être imbriquées (c'est-à-dire incluses les unes dans les autres).
Exemple :
Voilà un programme qui indique le taux de remise selon le montant d’un achat :
𝐀𝐋𝐆𝐎 remise
𝐕𝐀𝐑 montant, taux : entier ;
𝐃𝐄𝐁𝐔𝐓
Ecrire ("donne le montant") ;

Lire (montant) ;
𝐒𝐈 (montant < 1000) 𝐀𝐋𝐎𝐑𝐒
taux ← 1 ;
𝐒𝐈𝐍𝐎𝐍
𝐒𝐈 (montant < 3000) 𝐀𝐋𝐎𝐑𝐒
taux ← 2 ;
𝐒𝐈𝐍𝐎𝐍
𝐒𝐈 (montant < 10000) 𝐀𝐋𝐎𝐑𝐒
taux ← 3 ;
𝐒𝐈𝐍𝐎𝐍
taux ← 4 ;
𝐅𝐈𝐍𝐒𝐈
𝐅𝐈𝐍𝐒𝐈
𝐅𝐈𝐍𝐒𝐈
montant ← montant − montant ∗ taux/100 ;
Ecrire ("le montant est : ", montant) ;

𝐅𝐈𝐍

Les structures imbriquées sont emboîtées. Il est impossible qu'elles se chevauchent. Cela est valable
pour les structures conditionnelles et pour toutes les autres structures.
Dans ce cas, le premier FinSi rencontré dans l'algorithme indique toujours la fin de la structure la plus
imbriquée.
______________________________________________________________________ Cour N°2

14

Madame : MOGHTET LEILA Cour N° 2 : Informatique


2éme année Finance et Comptabilité Novembre 2021

Vous aimerez peut-être aussi