[PDF] [PDF] Cours dInformatique Ecrire un algorithme qui demande





Previous PDF Next PDF



[PDF] Cours dInformatique

des instructions et en analysant les données matérielles fournies par le système ? Le langage informatique est l'intermédiaire entre le programmeur et la 



[PDF] Cours dInformatique

Ecrire un algorithme qui demande un nombre entier à l'utilisateur puis qui teste et affiche s'il est divisible par 3 Algorithme Divsible_par3



[PDF] Cours des réseaux Informatiques

Réseaux Hétérogènes : Les ordinateurs reliés au réseau sont de constructeurs divers : Ethernet Page 10 Définition d'un protocole Un protocole est un ensemble 



[PDF] Cours des réseaux Informatiques

d'une station droite Elle reçoit de la station gauche un jeton Quand elle a fini d'utiliser ce jeton (fin de transmission des trames)



Elément M1E2 : Informatique 1 - Faculté des Sciences de Rabat

Elément M1E2 : Informatique 1 PLANNING DES SEANCES DE COURS ET TP Semaine Période Nb Séances cours DERNIERE SEMAINE D'ENSEIGNEMENT



[PDF] Cours dInformatique I2

Une variable sert à stocker la valeur d'une donnée dans un langage de programmation étiquetées) dont le contenu peut changer au cours d'un

1

2005/2006Module I2, 1ère année SM/SMI1

Cours d'Informatique

1ère année SM/SMI

2005/2006, Semestre 2

Mouad BEN MAMOUN

Département de Mathématiques et d'Informatique,

Université Mohammed V

ben_mamoun@fsr.ac.ma

2005/2006Module I2, 1ère année SM/SMI2Objectif et plan du cours

Objectif:

•Apprendre les concepts de base de l'algorithmique et de la programmation

•Etre capable de mettre en oeuvre ces concepts pour analyser des problèmes simples et écrire les programmes correspondants

Plan:

•Généralités (matériel d'un ordinateur, systèmes d'exploitation, langages de programmation, ...)

•Algorithmique (affectation, instructions conditionnelles, instructions itératives, fonctions, procédures, ...)

•MAPLE (un outil de programmation)2005/2006

Module I2, 1ère année SM/SMI

3

Informatique?

Techniques du traitement automatiquede l'information au moyen des ordinateurs

Eléments d'un système informatique

Langages Langages

(Java,C/C++, Fortran,etc.) (Java,C/C++, Fortran,etc.) Syst Syst me dme d exploitationexploitation (DOS,Windows, Unix, etc.) (DOS,Windows, Unix, etc.)MatMat riel riel (PC, Macintosh, station SUN, etc.)(PC, Macintosh, station SUN, etc.)

Applications Applications

(Word, Excel, Jeux, (Word, Excel, Jeux,

MapleMaple

, etc.), etc.)

2005/2006

Module I2, 1ère année SM/SMI

4Matériel: Principaux éléments d'un PC

Unité centrale (le boîtier)

•Processeur ou CPU (Central Processing Unit) •Mémoire centrale •Disque dur, lecteur disquettes, lecteur CD-ROM •Cartes spécialisées (cartes vidéo, réseau, ...) •Interfaces d'entrée-sortie (Ports série/parallèle, ...)

Périphériques

•Moniteur (l'écran), clavier, souris •Modem, imprimante, scanner, ...

2005/2006

Module I2, 1ère année SM/SMI

5

Qu'est ce qu'un système d'exploitation?

Ensemble de programmes qui gèrent le matériel et contrôlent les applications

••Gestion des pGestion des péériphriphéériquesriques(affichage à l'écran, lecture du clavier, pilotage d'une imprimante, ...)

Gestion des utilisateurs et de leurs donnGestion des utilisateurs et de leurs donn eses(comptes, partage des ressources, gestion des fichiers et répertoires, ...)

Interface avec lInterface avec l

utilisateur (textuelle ou graphique):utilisateur (textuelle ou graphique):

Interprétation des commandes

Contrôle des programmesContrôle des programmes (découpage en taches, partage du temps processeur, ...)

2005/2006

Module I2, 1ère année SM/SMI

6Langages informatiques

Un langage informatique est un outil permettant de donner des ordres (instructions) à la machine •A chaque instruction correspond une action du processeur

Intérêt : écrire des programmes(suite consécutive d'instructions) déstinés à effectuer une tache donnée

•Exemple: un programme de gestion de comptes bancaires Contrainte: être compréhensible par la machine 2

2005/2006Module I2, 1ère année SM/SMI7

Langage machine

Langagebinaire: l'information est exprimée et manipulée sous forme d'une suite de bits Un bit(binary digit) = 0 ou 1 (2 états électriques) Une combinaison de 8 bits= 1 Octetpossibilités qui permettent de coder tous les caractères alphabétiques, numériques, et symboles tels que ?,*,&, ...

•Le codeASCII (American Standard Code for Information Interchange)donne les correspondances entre les caractères alphanumériques et leurs représentation binaire, Ex. A= 01000001, ?=00111111

Les opérations logiques et arithmétiques de base (addition, multiplication, ... ) sont effectuées en binaire

2562
8

2005/2006Module I2, 1ère année SM/SMI8

L'assembleur

Problème:le langage machine est difficile à comprendre par l'humain

Idée:trouver un langage compréhensible par l'homme qui sera ensuite converti en langage machine

••AssembleurAssembleur(1er langage): exprimer les instructions élémentaires de façon symbolique

•+: déjà plus accessible que le langage machine •-: dépend du type de la machine (n'est pas portableportable) •-: pas assez efficace pour développer des applications complexes

Apparition des langages évolués

ADD A, 4

LOAD B

MOV A, OUT

traducteurlangage machine

2005/2006Module I2, 1ère année SM/SMI9

Langages haut niveau

Intérêts multiples pour le haut niveau:

•proche du langage humain "anglais» (compréhensible) •permet une plus grande portabilité (indépendant du matériel) •Manipulation de données et d'expressions complexes (réels, objets, a*b/c, ...) Nécessité d'un traducteur (compilateur/interpréteur), exécution plus ou moins lente selon le traducteur

Code sourceCode source

en langage en langage éévoluvoluééCompilateur ouCompilateur ou

Langage machineLangage machine

interpr interprééteurteur

2005/2006Module I2, 1ère année SM/SMI10

Compilateur/interpréteur

Compilateur:traduire le programme entier une fois pour toutes •+ plus rapide à l'exécution •+ sécurité du code source •- il faut recompiler à chaque modification

Interpréteur:traduire au fur et à mesure les instructions du programme à chaque exécution

•+ exécution instantanée appréciable pour les débutants •- exécution lente par rapport à la compilation exemple.c

Compilateur Compilateur

fichier source fichier source exemple fichier exfichier exéécutablecutable exexéécutioncution exemple.bas fichier sourcefichier sourceInterpr

2005/2006Module I2, 1ère année SM/SMI11

Langages de programmation:

Deux types de langages:

•Langages procéduraux •Langages orientés objets

Exemples de langages:

••Fortran, Cobol, Pascal, C, Fortran, Cobol, Pascal, C, ...... ••C++, Java, C++, Java, ......

Choix d'un langage?

2005/2006Module I2, 1ère année SM/SMI12

Etapes de réalisation d'un programme

SpSpéécificationcification

Analyse

Analyse

Traduction en langage

Traduction en langage

Compilation

Compilation

Tests et modifications

Tests et modifications

EnoncEnoncéédu probldu problèème me

Cahier des charges

Cahier des charges

Algorithme

Algorithme

Programme source

Programme source

Programme ex

Programme exéécutablecutable

Version finale et rVersion finale et réésultatssultats La réalisation de programmes passe par l'écriture d'algorithmes

D'où l'intérêt de l'Algorithmique

3

2005/2006Module I2, 1ère année SM/SMI13

Algorithmique

Le terme algorithmealgorithmevient du nom du mathématicien arabe Al

Al--KhawarizmiKhawarizmi(820 après J.C.)

Un algorithme est une description complète et détaillée des actions à effectuer et de leur séquencement pour arriver à un résultat donné •Intérêt: séparation analyse/codage (pas de préoccupation de syntaxe) •Qualités: exact(fournit le résultat souhaité), efficace(temps d'exécution, mémoire occupée), clair (compréhensible), général (traite le plus grand nombre de cas possibles), ... LL''algorithmiquealgorithmiquedésigne aussi la discipline qui étudie les algorithmes et leurs applications en Informatique Une bonne connaissance de l'algorithmique permet d'écrire des algorithmes exacts et efficaces

2005/2006Module I2, 1ère année SM/SMI14

Représentation d'un algorithme

Historiquement, deux façons pour représenter un algorithme: ••LL''OrganigrammeOrganigramme: : représentation graphique avec des symboles (carrés, losanges, etc.) •offre une vue d'ensemble de l'algorithme •représentation quasiment abandonnée aujourd'hui ••Le Le pseudopseudo--codecode: : représentation textuelle avec une série de conventions ressemblant à un langage de programmation (sans les problèmes de syntaxe) •plus pratique pour écrire un algorithme •représentation largement utilisée

2005/2006 Module I2, 1ère année SM/SMI 15

Algorithmique

Notions et instructions de baseNotions et instructions de base

2005/2006Module I2, 1ère année SM/SMI16

Notion de variable

Dans les langages de programmation une variable variable sert à stocker la valeur d'une donnée Une variable désigne en fait un emplacement mémoire dont le contenu peut changer au cours d'un programme (d'où le nom variable) Règle :Les variables doivent être ddééclarclarééesesavant d'être utilisées, elle doivent être caractérisées par : •un nom (IdentificateurIdentificateur) •un typetype(entier, réel, caractère, chaîne de caractères, ...)

2005/2006Module I2, 1ère année SM/SMI17

Choix des identificateurs (1)

Le choix des noms de variables est soumis à quelques règles qui varient selon le langage, mais en général: Un nom doit commencer par une lettre alphabétique exemple valide: A1exemple valide: A1exemple invalide: 1Aexemple invalide: 1A doit être constitué uniquement de lettres, de chiffres et du soulignement _ (Eviter les caractères de ponctuation et les espaces) valides: SMI2005, SMI_2005

valides: SMI2005, SMI_2005invalides: SMI 2005, SMIinvalides: SMI 2005, SMI--2005, SMI;20052005, SMI;2005

doit être différent des mots réservés du langage (par exemple en Java Java:

intint, , floatfloat, , elseelse, , switchswitch, case, , case, defaultdefault, for, main, return, for, main, return, ...)

La longueur du nom doit être inférieure à la taille maximale spécifiée par le langage utilisé

2005/2006Module I2, 1ère année SM/SMI18

Choix des identificateurs (2)

Conseil:pour la lisibilité du code choisir des noms significatifs qui décrivent les données manipulées exemples: TotalVentes2004, Prix_TTC, Prix_HT Remarque:en pseudo-code algorithmique, on va respecter les règles citées, même si on est libre dans la syntaxe 4

2005/2006Module I2, 1ère année SM/SMI19

Types des variables

Le type d'une variable détermine l'ensemble des valeurs qu'elle peut prendre, les types offerts par la plus part des langages sont: Type numType numéérique (entier ou rrique (entier ou rééel)el) ••ByteByte(codé sur 1octet): de 0 à 255 ••Entier courtEntier court(codé sur 2 octets) : -32 768 à 32 767 ••Entier long Entier long (codé sur 4 ou 8 octets) ••RRééel simple prel simple préécisioncision(codé sur 4 octets) ••RRééel double prel double préécisioncision(codé sur 8 octets) Type logique ou boolType logique ou boolééenen::deux valeurs VRAI ou FAUX Type caractType caractèère:re:lettres majuscules, minuscules, chiffres, symboles, ... exemples: exemples: ''AA'', , ''aa'', , ''11'', , ''??'', , ...... Type chaType chaîîne de ne de caractère:toute suite de caractères,

exemples: " Nom, Prexemples: " Nom, Préénom", "code postale: 1000", nom", "code postale: 1000", ......

2005/2006Module I2, 1ère année SM/SMI20

Déclaration des variables

Rappel: toute variable utilisée dans un programme doit avoir fait l'objet d'une déclaration préalable En pseudo-code, on va adopter la forme suivante pour la déclaration de variables Variables liste d'identificateurs : typeVariables liste d'identificateurs : type

Exemple:

Variables i, j,k : entier

x, y : réel

OK: booléen

ch1, ch2 : chaîne de caractères Remarque: pour le type numérique on va se limiter aux entiers et réels sans considérer les sous types

2005/2006Module I2, 1ère année SM/SMI21

L'instruction d'affectation

l'affectation consiste à attribuer une valeur à une variable (ça consiste en fait à remplir où à modifier le contenu d'une zone mémoire) En pseudo-code, l'affectation se note avec le signe ĸ Var

Varĸĸe: attribue la valeur de e e: attribue la valeur de e ààla variable Var la variable Var

-e peut être une valeur, une autre variable ou une expression -Var et e doivent être de même type ou de types compatibles -l'affectation ne modifie que ce qui est à gauche de la flèche

Ex valides: i ĸ1j ĸi k ĸi+j

x x ĸĸ10.3 10.3 OK OK ĸĸFAUX FAUX ch1 ch1 ĸĸ"SMI""SMI" ch2 ch2 ĸĸch1 ch1 x x ĸĸ44x x ĸĸjj (voir la déclaration des variables dans le transparent précédent) non valides: i i ĸĸ10.3 10.3 OK OK ĸĸ"SMI""SMI"j j ĸĸxx

2005/2006Module I2, 1ère année SM/SMI22

Quelques remarques

Beaucoup de langages de programmation (C/C++, Java, ...) utilisent le signe égal = pour l'affectation ĸ. Attention aux confusions: •l'affectation n'est pas commutative : A=B est différente de B=A •l'affectation est différente d'une équation mathématique : •A=A+1 a un sens en langages de programmation •A+1=2 n'est pas possible en langages de programmation et n'est pas équivalente à 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 variablesdéclarées

2005/2006Module I2, 1ère année SM/SMI23

Exercices simples sur l'affectation (1)

Donnez les valeurs des variables A, B et C après exécution des instructions suivantes ?

VariablesA, B, C:Entier

Début

A ĸ3

B ĸ7

A ĸB

B ĸA+5

C ĸA + B

C ĸB - A

Fin

2005/2006Module I2, 1ère année SM/SMI24

Exercices simples sur l'affectation (2)

Donnez les valeurs des variables A et B après exécution des instructions suivantes ?

VariablesA, B :Entier

Début

A ĸ1

B ĸ2

A ĸB

B ĸA

Fin Les deux dernières instructions permettent-elles d'échanger les valeurs de A et B ? 5

2005/2006Module I2, 1ère année SM/SMI25

Exercices simples sur l'affectation (3)

Ecrire un algorithme permettant d'échanger les

valeurs de deux variables A et B

2005/2006Module I2, 1ère année SM/SMI26

Expressions et opérateurs

Une expression peut être une valeur, une variable ou une opération constituée de variables reliées par des opérateurs exemples: 1, b, a*2, a+ 3* exemples: 1, b, a*2, a+ 3*bb--cc, , ...... L'évaluation de l'expression fournit une valeur unique qui est le résultat de l'opération Les opérateurs dépendent du type de l'opération, ils peuvent être : •des opérateurs arithmétiques:+, -, *, /, % (modulo), ^ (puissance) •des opérateurs logiques:NON, OU, ET •des opérateurs relationnels:=, , <, >, <=, >= •des opérateurs sur les chaînes:&(concaténation) Une expression est évaluée de gauche à droite mais en tenant compte de priorités

2005/2006Module I2, 1ère année SM/SMI27

Priorité des opérateurs

Pour les opérateurs arithmétiques donnés ci-dessus, l'ordre de priorité est le suivant (du plus prioritaire au moins prioritaire): •^ : (élévation à la puissance) •* , / (multiplication, division) •% (modulo) •+ , - (addition, soustraction) exemple: exemple: 2 + 3 * 7 vaut2323 En cas de besoin (ou de doute), on utilise les parenthèses pour indiquer les opérations à effectuer en priorité exemple: exemple: ((2 + 3) * 7 vaut335

2005/2006Module I2, 1ère année SM/SMI28

Les instructions d'entrées-sorties:

lecture et écriture (1) Les instructions de lecture et d'écriture permettent à la machine de communiquer avec l'utilisateur La lecturepermet d'entrer des donnésà partir du clavier •En pseudo-code, on note: lire (var)lire (var) l la machine met la valeur entrée au clavier dans la zone mémoire nommée var •Remarque:Le programme s'arrête lorsqu'il rencontre une instruction Lire et ne se poursuit qu'après la frappe d'une valeur au clavier et de la touche Entrée

2005/2006Module I2, 1ère année SM/SMI29

Les instructions d'entrées-sorties:

lecture et écriture (2) L'écriturepermet d'afficher des résultatsà l'écran (ou de les écrire dans un fichier) •En pseudo-code, on note: éécrire (var)crire (var) la machine affiche le contenu de la zone mémoire var •Conseil:Avant de lire une variable, il est fortement conseillé d'écrire des messages à l'écran, afin de prévenir l'utilisateur de ce qu'il doit frapper

2005/2006Module I2, 1ère année SM/SMI30

Exemple (lecture et écriture)

Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui calcule et affiche le double de ce nombre

Algorithme Calcul_double

variablesA, B : entierquotesdbs_dbs22.pdfusesText_28
[PDF] Quelques conseils pour bien démarrer l 'année - Anglais dans l

[PDF] Fascicule de la langue française

[PDF] PROGRAMMES DE FRANÇAIS Enseignement secondaire

[PDF] Correction de la composition sur la PGM et la SGM

[PDF] LA VOIE PRO - Onisep

[PDF] Les musulmans déclarés en France : affirmation religieuse - Cevipof

[PDF] la 1ère République et les guerres révolutionnaires vues d - Epernay

[PDF] Bac S Scientifique - Onisep

[PDF] Projet de Programme de mathématiques pour la classe de première S

[PDF] La classe de Première ST2S - Anacours

[PDF] conversions de durees - Maths974

[PDF] m3 dm3 cm3 mm3 hL daL L dL cL mL m3 dm3 cm3 mm3 hL daL L

[PDF] ana maria benedek - ResearchGate

[PDF] L 'entrée ? l 'école maternelle - Vos questions de parents

[PDF] horaires dtouverture au public - Préfecture de la Gironde