1SRI S2 S22 Cours Algo Partie1

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

S2: Développement et Applications Informatiques

S22: Langage de programmation structurée


Niveau : 1ere année BTS
Filière: Systèmes et Réseaux Informatiques

Année universitaire 2023/2024 V 3.0


Objectifs du cours

❑ Apprendre des concepts de base de l’algorithmique et de la


programmation

❑ Savoir transcrire les différentes étapes de résolution d’un


problème sous forme d’algorithme, de façon structurée et
indépendante de toute contrainte matérielle ou logicielle
❖ Introduction

❖ Instructions de base

❖ Structures de contrôle de base

❖ Instructions itératives.
INTRODUCTION

Un programme informatique est un ensemble d'opérations destinées à


être exécutées par un ordinateur. Il consiste en partant d'une idée, à
effectuer un travail de réflexion qui aboutit à la rédaction
d'algorithmes dans un langage de programmation. Ces langages ont
été créés afin de faciliter le travail du programmeur.
L’ordinateur est rempli de programmes:
🠶 Calculatrice.
🠶 Applications de traitement de texte.
🠶 Application de réveil.
🠶 Jeux vidéo.
INTRODUCTION
Avant de commencer à écrire un programme destiné à résoudre un problème, le
programmeur doit déterminer les caractéristiques du problème à résoudre ou définir
le cahier des charges. Ceci se fait en plusieurs étapes indépendantes du langage de
programmation utilisé. La technique courante est celle d'un cycle de développement,
qui comporte des étapes de définition, de conception, d'écriture, de test,
d'installation et de maintenance :
Une fois le programme Le programme est
Examiner le problème en écrit, il subit à une suite régulièrement reconstruit,
détail afin de pouvoir de tests. Les résultats en fonction des besoins
trouver des solutions, puis produits sont comparés des utilisateurs qui
les écrire sous forme de avec ceux obtenus varient continuellement.
diagrammes en vue de manuellement. De De nouvelles fonctions y
clarifier le fonctionnement nombreux tests sont sont ajoutées et des
du programme et faciliter nécessaires en prenant erreurs qui n'avaient pas
son écriture. tous les cas possibles pris été décelées auparavant
en entrée. sont corrigées.
INTRODUCTION
Comment
parler à Avec quel
l’ordinateur langage

les informaticiens ont inventé On ne peut s'adresser à


des langages qui seraient l’ordinateur qu'en lui
ensuite traduit en binaire envoyant des 0
pour l'ordinateur. Puis ils et des 1. il se peut que
Programmer l’opération 2+5 soit traduite
ont réaliser le programme
qui fait la « traduction ». par :
C’est ce qu’on appelle le 0010110110010011010011110.
compilateur. Et l’opération c'est le langage informatique
s’appelle compilation de l’ordinateur, appelé
langage binaire
INTRODUCTION

Le code source en langage


haut niveau :
Traduction en
C; langage langage bas niveau ou
C++ ; machine langage machine ou
Java ; « Compilation » langage binaire
Visual Basic ; en utilisant le
python ; compilateur
etc. adéquat

il existe de différents
compilateurs pour chaque
langage de haut niveau
INTRODUCTION
A Retenir
🠶 Pour réaliser des programmes informatiques, on doit écrire l’algorithme
correspondant, avant d’écrire le programme dans un langage que
l'ordinateur comprend.
🠶 Il existe de nombreux langages informatiques que l'on peut classer par
niveau.
Les langages dits de « haut niveau » sont parfois plus faciles à maîtriser.
🠶 Le code source est une série d'instructions écrites dans un langage
informatique.
🠶 Le compilateur est un programme qui transforme votre code source en
code binaire, qui peut alors être exécuté par votre processeur. Les .exe que
l'on connaît sont des programmes binaires, il n'y a plus de code source à
l'intérieur.
🠶 Il est nécessaire d'avoir un bon sens de la logique et d'être méthodique
pour atteindre les objectifs du cahier des charges.
ALGORITHMIQUE & PROGRAMMATION

En quoi a-t-on
besoin d’un langage
spécial, distinct des
langages de
Pourquoi programmation
apprendre compréhensibles par
l’algorithmique les ordinateurs ?
pour apprendre à
programmer ?
Tâche réalisée par le programmeur

Problème Algorithme Programme

Résultat
Données

Tâche réalisée par l’utilisateur du programme


REPRÉSENTATION D’UNALGORITHME

Historiquement, plusieurs types de notations ont représenté les


algorithmes, les plus utilisés sont:

• Les organigrammes ( Logigrammes), représentation graphique


avec des carrés, des losanges, etc… Mais présente une limite quand à
la taille de l’algorithme.

• Le pseudo-code, qui ressemble à un langage de programmation


authentique, purement conventionnel; aucune machine n’est censée
le reconnaître.
Exercice
Représenter l’organigramme qui répond à ce cahier des charges :

Un capteur de température mesure la température d’un four entre (0°C à 100°C) :

▪Si la température est supérieure à 80°C, allumer une LED rouge, afficher le
message :
•« Le four est chaud ».

▪Si la température est inférieure à 20°C, allumer une LED bleu, afficher le
message :
•« Le four est froid ».

▪Si la température est compris entre 20°C et 80°C, , allumer une LED verte,
afficher le message : « La température du four est moyenne».
INSTRUCTIONS DE BASE

l’algorithmique exprime les instructions résolvant un problème


donné indépendamment des particularités de tel ou tel langage.Il
représente le plan, une fois mis de côté, il reste juste la rédaction et
l’orthographe selon le langage de programmation choisis.

Apprendre l’algorithmique, c’est apprendre à manier la structure


logique d’un programme informatique. Cette dimension est présente
quelle que soit le langage de programmation; mais lorsqu’on
programme dans un langage (en C, en Visual Basic, etc.), on doit en
plus se colleter les problèmes de syntaxe, ou de types d’instructions,
propres à ce langage. Apprendre l’algorithmique de manière séparée,
c’est donc sérier les difficultés pour mieux les vaincre.
RÉDACTION D’UN ALGORITHME (CALCUL DE SALAIRE )
Algorithme calcul_salaires;
En-tête de l’algorithme

Données d’entrée (de base):


▪ Salaire Mois Précédent : SP
▪ Primes Mois Courant : PC Bloc de déclaration des
données
Données de sortie (résultats):
▪ Salaire Mois Courant : SC
Début
Le traitement à effectuer :

1. Demander la valeur de SP
2. Demander la valeur de PC
Bloc de traitement
3. Calculer : SC = SP + PC
(instructions)
4. Afficher la valeur de SC
Fin
Instructions de base
Structure Générale d’un Algorithme
10
Un algorithme est une suite ordonnée d'actions qui manipulent des
données. On trouve dans un algorithme une partie déclaration des
données et une partie instructions.
Algorithme Non_algorithme;
Variables
Déclaration et réservation de l’espace mémoire
Nom_Variable : Type_Variable;
Debut /*Début de
l’algorithme*/
Instruction 1; Préparer (acquérir), Calculer
Instruction 2; (traiter), Présenter (commander)
……..
Fin /*Fin de l’algorithme*/
Instructions de base
Les données

▪ Constante (const) : c'est le nommage symbolique


d'une donnée dont la valeur ne peut pas changer
dans le traitement.
Exemple : Constante Pi=3,14;
▪ Variable (var) : c'est une donnée dont la valeur
change suivant les traitements. Toutes les
données sont nommées et typées.
Exemple : Variables A, B : Entiers;
Instructions de base
Les types des données

Numérique

Type Numérique Plage


Byte (octet) 0 à 255
Entier simple (2 octets) -32 768 à 32 767
Entier long (4 octets) -2 147 483 648 à 2 147 483 647

Réel simple -3,40x1038 à -1,40x1045 pour les valeurs négatives


1,40x10-45 à 3,40x1038 pour les valeurs positives

Réel double 1,79x10308 à -4,94x10-324 pour les valeurs négatives


4,94x10-324 à 1,79x10308 pour les valeurs positives
Instructions de base
Les types des données

Caractère

C'est un type de données qui permet de définir tous les caractères. Pour
une variable de ce type, on stocke des caractères, qu’il s’agisse de lettres,
des signes de ponctuation, d’espaces, ou même des chiffres. Le nombre
maximal de caractères pouvant être stockés dans une seule variable
string dépend du langage utilisé. Un groupe de caractères (y compris un
groupe de un, ou de zéro caractères), qu’il soit ou non stocké dans une
variable, d’ailleurs, est donc souvent appelé chaîne de caractères.
Caractère : 'A'
Chaîne de caractères : "BTS SRI"
Instructions de base
Les types des données

Booléen

Booléen : un booléen est une donnée qui peut prendre soit la


valeur VRAI, soit la valeur FAUX. Les opérateurs associées à
ce type de données sont les opérateurs logiques NON, ET, OU.
Ce type booléen est très économique en termes de place
mémoire occupée, puisque pour stocker une telle information
binaire, un seul bit suffit.
Instructions de base
L’instruction d’affectation

L’instruction d’affectation d’une variable permet de lui attribuer une valeur. C’est comme
si on rempli une boite mémoire. Par exemple :
Number1 ← 24 (Number1 reçoit la valeur 24), permet d’attribue la valeur 24 à la
variable Number1. On peut en revanche sans aucun problème attribuer à une variable la
valeur d’une autre variable, telle quelle ou modifiée, par exemple :
Number2 ← Number1+15. Une instruction d’affectation ne modifie que ce qui est situé
à gauche de la flèche.
Number1 ← 24;
Number2 ← Number1 + 5;
Instructions de base
L’instruction d’affectation

Le rôle des guillemets dans les chaînes de caractères, permet d’affecter


le nom de la variable, comme dans le cas de l’exemple 1 ou le contenu de
la variable comme dans le cas de l’exemple 2:

Exemple n°1 Exemple n°2

Début Début
Val1 ← "Capteur1" Val1 ← Capteur1
Val2 ← "Capteur2" Val2 ← Capteur2
Fin Fin
Instructions de base
L’instruction d’affectation

l’ordre d’exécution des instructions dépend de l’ordre de leurs écriture,


ce qui joue un rôle essentiel dans le résultat final.

Exemple 1 Exemple 2

Variables Variables
A :entier; A :entier;
Début Début
A ← 34; A ← 12;
A ← 12; A ← 34;
Fin Fin
Instructions de base
Les Expressions et les Opérateurs

Une expression est un ensemble de valeurs, reliées par des


opérateurs, et équivalent à une seule valeur :

A ← 7;
B ← 5+4;
C ← (123*45)/844;
D ←(A-12)+(5-C);
Instructions de base
Les Expressions et les Opérateurs

Les opérateurs Numériques

L’opérateur L’opération Exemple


+ Addition X +Y
- Soustraction X –Y
* Multiplication X *Y
/ Division X /Y
% Reste de la division X %Y
^ La puissance X^Y
Instructions de base
Les Expressions et les Opérateurs

L’opérateur Alphanumérique

L’opérateur alphanumérique & permet de concaténer les chaînes de caractères


Exemple

Variables
A, B, C : Caractere;
Début La valeur de C à
A ← "BTS-"; la fin de
B ← "SRI"; l’algorithme est
C ← A & B; "BTS-SRI"
Fin
Instructions de base
Les Expressions et les Opérateurs

Les opérateurs Booléens

Exemple

Variables
A, B, S1, S2, S3 : booleen;
Début
S1 ← NON(A);
S2 ← (A ET B);
S3 ← (A OU B);
Fin
Instructions de base
La saisie et l’affichage

Il existe des instructions pour permettre à la machine de dialoguer avec


l’utilisateur. En demandant à l’utilisateur de rentrer des valeurs au clavier
pour qu’elles soient utilisées par le programme. Cette opération est la
lecture ou dans le sens technique acquérir une valeur. Dans l’autre sens,
il existe des instructions qui permettent au programme de communiquer
des valeurs à l’utilisateur en les affichant à l’écran. Cette opération est
l’écriture ou dans le sens technique commander.
Instructions de base
La saisie et l’affichage

Remarques :
▪L’Opération Lecture : une machine lit la valeur écrite ou donnée par l’utilisateur.
▪L’Opération Ecriture: une machine écrit, sur un écran par exemple, la valeur que
l’utilisateur puisse lire.

Lire et Ecrire sont des instructions algorithmiques qui ne présentent pas de difficultés
particulières, une fois qu’on a bien assimilé le problème du sens du dialogue
(homme → machine, ou machine ← homme).
Instructions de base
La saisie et l’affichage

Pour que l’utilisateur entre une nouvelle valeur Number1, on mettra


« Lire (Number1) ». Dès que le programme rencontre une instruction Lire,
l’exécution s’interrompt, attendant la frappe d’une valeur au clavier. L'interruption
peut durer plusieurs heures et la poursuite d’exécution de la suite des instructions se
fait après l’appui sur la touche Entrée (Enter). Tout ce qui a été frappé avant la touche
Entrée (une suite de lettres, de chiffres, ou un mélange des deux) est rentré dans la
variable qui suit l'instruction Lire (Number1). Et ensuite, immédiatement, la machine
exécute l'instruction suivante.

Lire est donc une autre manière d'affecter une valeur à une variable. Avec
l'instruction d'affectation, c'est le programmeur qui choisit à l'avance quelle doit être
cette valeur. Avec l'instruction Lire, il laisse ce choix à l'utilisateur.
Instructions de base
La saisie et l’affichage

Remarques :
Pour assurer une bonne communication avec l’utilisateur, avant de Lire une
variable, il est très fortement conseillé d’écrire des libellés à l’écran, afin de
prévenir l’utilisateur de ce qu’il doit frapper.

Exemple

Ecrire ('Donner la première valeur:');


Lire (Number1);
Ecrire ('La première valeur est : ', Number1);
Instructions de base
Quelques remarques

Beaucoup de langages de programmation (C / C++ / JAVA ..) utilisent le signe = pour


l’affectation , attention aux confusions :

L’affectation n’est pas commutative:


A=B est différent de B=A

L’affectation est différente de équation mathématique:


A=A+1 a un sens en langage de programmation
A+1=2 n’est pas possible en langage de programmation et n’est pas
équivalent à A=1

Certains langages donnent des valeurs par défaut aux variables déclarées. Pour éviter
tout problème, il est préférable d’initialiser les variables déclarées.
Exercices: Instructions de base
Exercice 1
Donner un algorithme qui permet d’inviter l’utilisateur à entrer deux nombres, puis de :
▪Calculer la somme, la moyenne, la soustraction, le produit et la division des deux nombre.
▪Les résultats doivent être affichés et munis d’un message présentatif.
Exercice 2
Donner un algorithme qui calcule la distance entre deux points d'un plan :

▪Saisir les coordonnées de deux points : A (x1, y1) et B (x2, y2).


▪Calculer la distance « D » entre les deux points A et B
▪Afficher le résultat.
Exercice 3
Quelles seront les valeurs des variables après exécution des instructions suivantes ?

Variable
A, B, C : Entier
Début
A←5;
C←6;
B ← A + C * 2 / 0,5 ;
C←C/2+4-B+A^2;
A←A+C;
B←A–4;

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy