• Aucun résultat trouvé

[PDF] Introduction à la programmation et calcul avec le langage Python | Cours informatique

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Introduction à la programmation et calcul avec le langage Python | Cours informatique"

Copied!
18
0
0

Texte intégral

(1)

Cours

Initiation à la programmation

-PYTHON-

Filière : MP

(2)

Professeur : ARROU ABDESSELAM Page | 1

I. Notions de base : ... 2

1. Méthode de résolution d'un problème : ... 2

2. Algorithme : ... 2

3. Programme : ... 2

4. Langage de programmation : ... 2

5. Types de langages : ... 3

6. La compilation et l'interprétation : ... 4

II. Langage de programmation Python : ... 5

1. Historique : ... 5

2. Les principales caractéristiques du langage Python : ... 6

3. A quoi peut servir Python : ... 6

4. Télécharger et installer Python : ... 7

5. Les environnements de développements intégrés IDE : ... 7

III. Les bases de Python : ... 8

1. Premier Programme : ... 8

2. Les variables : ... 8

3. Les mots clés réservées de python : ... 8

4. Types de données : ... 9

5. Les opérateurs : ... 9

6. Les instructions de base : ... 10

7. La structure conditionnelle if : ... 13

8. Les structures répétitives : ... 14

(3)

Professeur : ARROU ABDESSELAM Page | 2

I.

Notions de base :

1. Méthode de résolution d'un problème :

2. Algorithme :

L'algorithme est une suite d'actions ordonnées sur un ensemble fini d'objets.il doit être défini sans ambiguïté, et son exécution doit être s'arrêter après un nombre fini d'opération élémentaires.

Un algorithme n’est pas exécutable il doit être converti dans un langage de programmation.

Exemple :

Résolution de l'équation : ax2+bx+c=0

3. Programme :

Un programme est une suite d’instructions permettant à un système informatique d’exécuter une tâche donnée écrit dans un langage de programmation compréhensible par un ordinateur (langage machine).

C’est une suite d’instructions définies dans un langage donné et qui décrit un algorithme.

4. Langage de programmation :

Un langage est un ensemble de mots clés (instructions ou fonctions) et des règles de syntaxe qui permettent d’écrire un programme exécutable par l’ordinateur.

Exemple :

(4)

Professeur : ARROU ABDESSELAM Page | 3

5. Types de langages :

On classe les langages de programmation en générations :

1ère génération : langage machine ou langage de bas-niveau (0 et 1).

2ème génération : langage assembleur

3ème génération : langages évolués ou langages de haut-niveau

1. Langage machine :

C’est une suite de bits (0 et 1) qui est interprétée par le processeur d'un ordinateur exécutant un programme informatique.

C'est le langage natif d'un processeur, c'est-à-dire le seul qu'il puisse traiter. Il est composé d'instructions et de données à traiter codées en binaire.

2. Langage assembleur :

Langage proche du langage machine qui peut être directement interprété´ par le processeur de l’ordinateur tout en restant lisible par un humain, crée pour faciliter le travail des programmeurs. Il consiste à représenter les combinaisons de bits employées en langage machine par des symboles alphanumériques.

3. Langages évolués ou de haut-niveau :

Les langages de haut niveau sont plus proches des langues naturelles, ce qui facilite et vulgarise l'écriture des programmes. Ils sont généralement indépendants de la machine : le même programme pourra être utilisé tel quel sur plusieurs types d'ordinateurs, quoique les programmes puissent également être conçus pour un système d'exploitation en particulier.

4. Langages couramment utilisés :

Langage Domaine d'application Type de langage

C Programmation système Compilé

C++ Programmation système Objet Compilé

Cobol Gestion Compilé

Fortran Calcul Compilé

Matlab Calcul mathématique Interprété

PHP Développement Web Interprété

Prolog Intelligence artificielle Interprété

Java Programmation orienté objet Compilé\interprété

(5)

Professeur : ARROU ABDESSELAM Page | 4

6. La compilation et l'interprétation :

Il est très difficile à l’utilisateur de programmer en langage machine, c’est pourquoi des langages dis évolués ont été créés (pascal, C, C++, Basic, Java, Python…). Un compilateur ou interpréteur est nécessaire pour traduire un programme écrit en un langage évolué en langage machine

Il existe deux techniques de traduction :  La compilation

 L'interprétation

A. L'interprétation :

Un programme écrit dans un langage interprété (PHP, MATLAP, …) a besoin d'un programme auxiliaire (l'interpréteur) pour traduire au fur et à mesure les instructions du programme.

Schéma de l'interprétation :

B. La compilation :

Un programme écrit dans un langage (C, C++, JAVA, …) dit « compilé » va être traduit une fois pour toutes par un programme annexe, appelé compilateur, afin de générer un nouveau fichier qui sera autonome, c'est-à-dire qui n'aura plus besoin d'un programme autre que lui pour s'exécuter; on dit d'ailleurs que ce fichier est exécutable.

(6)

Professeur : ARROU ABDESSELAM Page | 5

C. Les avantages et les inconvénients de deux techniques :

 L'interprétation est idéale lorsque l'on est en phase d'apprentissage du langage. Avec cette technique, on peut tester immédiatement toute modification apportée au programme source, sans passer par une phase de compilation qui demande toujours plus de temps, plus le code source n'est pas sécurisé.

 Par contre, lorsqu'un projet comporte des fonctionnalités complexes qui doivent s'exécuter rapidement, la compilation est préférable : il est clair qu'un programme compilé fonctionnera toujours nettement plus vite que son homologue interprété, puisque dans cette technique l'ordinateur n'a plus à (re)traduire chaque instruction en code binaire avant qu'elle puisse être exécutée et permet aussi de Garantir la sécurité de code source.

 Certains langages modernes tentent de combiner les deux techniques afin de garder le meilleur de chacune.

Exemple :

JAVA, PYTHON, LISP, …

Schéma de deux techniques :

II.

Langage de programmation Python :

1. Historique :

Python est un langage de programmation, dont la première version est sortie en 1991, Crée par Guido Van Rossum, il a voyagé du Macintosh de son créateur, qui travaillait à cette époque au Centrum Voor Wiskunde en Informatica aux Pays-bas, jusqu'à se voir associer une organisation à but non lucratif particulièrement dévoué, la PYTHON SOFTWARE FOUNDATION, créée en 2001. Ce langage a été baptisé ainsi en hommage à la troupe de comiques les "MONTY PYTHON Flying Circus".

(7)

Professeur : ARROU ABDESSELAM Page | 6

2. Les principales caractéristiques du langage Python :

 Langage open source libre et gratuit

 Langage multiplateforme (Windows, Linux, MacOs)  Langage interprété.

 Langage très facile à apprendre(évolutif)  Syntaxe simple, claire et cohérente.

 Langage dynamique (pas déclaration, type peut changer)  Gestion automatique de la mémoire (Garbage collector)

 Bibliothèques très riches de modules (Math, Cmath, Scipy, Numpy…)

3. A quoi peut servir

Python

:

Python, est un langage de programmation très puissant, à la fois facile à comprendre et riche en possibilités. Dès l'instant où vous l'installez sur votre machine, vous disposez de nombreuses fonctionnalités intégrées au langage.

Il est en outre très facile d'étendre les fonctionnalités existantes. Ainsi, il existe ce qu'on appelle des bibliothèques qui aident les développeurs à travailler sur des projets particuliers.

Concrètement, voilà ce qu'on peut faire avec Python :

 De petits programmes très simples, appelés scripts, chargé d'une mission très précise sur votre ordinateur.

 Des programmes complets, comme des jeux, des suites bureautiques, des logiciels multimédias, des clients de messageries…

 Des projets très complexes, comme des progiciels (ensembles de plusieurs logiciels pouvant fonctionner ensemble, principalement dans le monde professionnel).

Voici quelques-unes des fonctionnalités offertes par Python et ses bibliothèques :

Du calcul scientifique (numpy, scipy, matplotlib)

Du traitement du son, de la synthèse vocale

Du traitement d'image(pil)

Des interface graphique GUI (Tkinter, PyQt, wxPython, PyGTK, …)

Des jeux vidéo en temps réel (Pygame)

Des applications web (Django, Karrigell, Pyjams, …)

Interfacer des SGBD (MySQLdb, Sqlite)

(8)

Professeur : ARROU ABDESSELAM Page | 7

4. Télécharger et installer

Python

:

Python est téléchargeable à l'adresse https://www.python.org ,vous trouverez dans la section Downloads des logiciels d’installation automatique pour les différentes versions de Python et pour les divers systèmes d'exploitation.

Après avoir télécharger et installer Python vous pouvez lancer l'environnement de travail spécialisé appelée "IDLE (Python 3.5 32-bit) " afin de dialoguer avec lui directement depuis le clavier, ce qui permet de découvrir très vite un grand nombre de fonctionnalités du langage.

Les trois caractères "supérieur à" ou "chevrons" constituent le signal d’invite, ou prompt principal, lequel vous indique que Python est prêt à exécuter une commande.

5. Les environnements de développements intégrés IDE :

Un environnement de développement intégré (IDE), est un logiciel regroupant un ensemble d’outils nécessaires au développement logiciel dans un (ou plusieurs) langage(s) de programmation. L'outil IDE aide les développeurs à concevoir et à documenter leurs codes comme un traitement de texte aide à produire des documents écrits.

Les outils inclus dans un IDE :

Éditeur de texte(Codage) destiné à la programmation

(coloration syntaxique, complétion automatique).

Un compilateur

Débogueur (Exécuter ligne par ligne un programme)

(9)

Professeur : ARROU ABDESSELAM Page | 8

Un générateur de documentation

Exemple :

Pyzo, Spyder Eclipse/Pydev, NetBeans, Eric...

III.

Les bases de Python :

1. Premier Programme :

2. Les variables :

Les variables sont des cases mémoires dans laquelle une valeur est enregistrée. Cette valeur peut être modifiée tout au long du programme.

Une variable est identifiée par un nom (ou identificateur). Le nom de variable est un mot composé de lettres et de chiffres et qui commence par une lettre et ne doit pas comporter ni d’accents ni de caractères spéciaux. Python est sensible à la casse (différence entre les majuscules et minuscules).

Dans Python les variables n’ont pas besoin d’être déclarées à l’avance, mais toute variable doit avoir une valeur avec le signe d'affectation =.

Exemple :

(10)

Professeur : ARROU ABDESSELAM Page | 9 En plus de ces règles, il faut encore ajouter que vous ne pouvez pas utiliser comme noms de variables les 29 « mots réservés » au langage ci-dessous :

4. Types de données :

Python est un langage typé dynamiquement c'est-à-dire le type d’une variable est déterminé par l’interpréteur au moment de l’exécution et n’a pas besoin d’être déclaré.

Le type d’une variable peut changer au cours du temps. On peut connaitre le type courant d’une variable avec la fonction type ().

Les différents types de données :

Exemple :

5. Les opérateurs :

int Représente les nombres entiers. 14, 18 1999 float Un float(réel) est noté avec un point décimal. 2.34 bool Deux valeurs possibles True ou False

str

Les chaines de caractères qui doivent être délimitée soit par des Apostrophes (simple quottes), soit par des guillemets (double quottes). 'CPGE' ou "CPGE"

(11)

Professeur : ARROU ABDESSELAM Page | 10

1. Les opérateurs arithmétiques :

2. Les opérateurs de comparaisons :

3. Les opérateurs logiques :

4. Priorités des opérations :

PEMDAS pour le mémoriser !

P pour parenthèses. Ce sont elles qui ont la plus haute priorité. Elles vous permettent donc de forcer l'évaluation d'une expression dans l'ordre que vous voulez. Ainsi 2*(3-1) = 4, et (1+1) **(5-2) = 8.

2. E pour exposants. Les exposants sont évalués avant les autres opérations. Ainsi 2**1+1 = 3 (et non 4), et 3*1**10 = 3 (et non 59049 !).

3. M et D pour multiplication et division, qui ont la même priorité. Elles sont évaluées avant l'addition A et la soustraction S, lesquelles sont donc effectuées en dernier lieu. Ainsi 2*3-1 = 5 (plutôt que 4).

Si deux opérateurs ont la même priorité, l'évaluation est effectuée de gauche à droite.

6. Les instructions de base :

1. Affectation ou assignation :

En Python comme dans de nombreux autres langages, l'opération d'affectation est représentée par le signe égal = :

Exemple :

L'addition Soustraction Multiplication Division Division entiers

Reste de

division Puissance

+

-

*

/

//

%

**

Egalité Différence Supérieur à Supérieur ou égal à Inférieur à Inférieur ou égal à

==

!=

>

>=

<

<=

Négation Et Logique Ou logique

(12)

Professeur : ARROU ABDESSELAM Page | 11

2. L'instruction d'écriture print () :

Cette fonction affiche à l'écran un message, le contenu d'une variable ou la valeur d’une expression.

Cette fonction réalise une conversion automatique préalable du contenu de la variable en chaîne de caractères, car la fonction print () prend toujours en argument une chaîne de caractères.

Exemple :

3. L'instruction de lecture input () :

La fonction input () permet de lire au clavier une valeur donnée par l’utilisateur, et la retourné sous forme d’une chaine de caractères. Il faut donc changer son type (transtyper) si nécessaire.

Exemple :

4. Le transtypage ou le casting :

Pour changer le type(transtyper) de la valeur retourné(string) par la fonction input () en autre type. On utilise les fonctions : int (), float (), str (), …

(13)

Professeur : ARROU ABDESSELAM Page | 12

5. Notion de bloc d’instructions et d’indentation :

 Les blocs d’instructions sont délimités par l'indentation, toutes les lignes d'un même bloc doivent être indentées de la même manière.

 L’indentation est le décalage d’un ou plusieurs espaces ou tabulations des instructions.

 Une indentation avec 4 espaces est le style d’indentation le plus traditionnel.

Exercice d'application :

1-Ecrire un programme qui demande trois réels et renvoie leur moyenne.

2-Écrire un programme qui, à partir de la saisie d’un rayon R et d’une

hauteur h, calcule puis affiche le volume d’un cône suivant cette formule : S= (π × R2 × h) /3.

3- L'indice de masse corporelle d'une personne peut être calculé avec la formule suivante : imc = poids / (taille2)

4-Écrire un programme qui demande à l'utilisateur les paramètres nécessaires, calcule l'indice de masse corporelle et affiche le résultat.

(14)

Professeur : ARROU ABDESSELAM Page | 13

7. La structure conditionnelle if :

Exercices : Syntaxe : Alternative Simple

if

condi1

:

Bloc Instructions1

Si la condition condi1 est vraie le bloc d’instructions1

est exécuté, sinon on ne fait rien.

Syntaxe : Alternative Compète

if

cond1

:

Bloc Instructions1

else :

Bloc Instructions2

Si la condition cond1 est vraie, le bloc d’instructions1 est exécutée sinon le bloc d’instructions2 est exécutée.

Syntaxe : Alternative Imbriquée

if

cond1

:

bloc d’instructions1

elif

cond2

:

bloc d’instructions2

else :

bloc d’instructions2

end

L’utilisation de if… elif permet de spécifier plusieurs conditions.

1-Écrire un programme qui calcul de la valeur absolue d'un nombre réel. 2-Ecrire un programme qui demande un nombre entier et d'afficher si pair ou impair.

3-Ecrire un programme qui demande deux réels et renvoie-leur ´ maximum.

4-Ecrire un programme qui lit la moyenne d'un élève et affiche le message "Réussi" si sa moyenne>=10, dans le cas contraire affiche le message "Non Réussi".

5-Ecrire un algorithme qui donne l’état de l’eau selon sa température : - Si T < =0 : c'est de la glace.

- Si T > 100 : c'est de la vapeur. - Si 0 < T < 100 : c'est du liquide.

(15)

Professeur : ARROU ABDESSELAM Page | 14

8. Les structures répétitives :

La structure répétitive permet de répéter une instruction ou une suite d'instructions tant qu’une condition est vraie.

Python propose deux structures de boucles :

 La boucle while : Permet de répéter l’exécution d’un bloc

d’instructions tant qu’une condition est vérifiée.

 La boucle for : par contre permet de répéter l’exécution d’un bloc

d’instructions un nombre déterminé de fois. La fonction range(n) permet de générer une liste d'entier de 0 à n-1.

1. La boucle while :

La boucle while permet d’exécuter un bloc d’instructions de manière répétitive tant qu’une expression booléenne est vraie.

Syntaxe : Exemple : Remarque :

while

Condition : Instruction1 Instruction2 ……… InstructionN

 La variable évaluée dans la condition doit exister au préalable (il faut qu’on lui ait déjà affecté au moins une valeur).

 Si la condition est fausse au départ, le corps de la boucle n’est jamais exécuté.  Si la condition reste toujours vraie, alors le corps de la boucle est répété

indéfiniment. Il faut donc veiller à ce que le corps de la boucle contienne au moins une instruction qui change la valeur d’une variable intervenant dans la condition évaluée par while, de manière à ce que cette condition puisse devenir fausse et la boucle se terminer.

(16)

Professeur : ARROU ABDESSELAM Page | 15

Exercice d'application :

2. La boucle for :

La boucle for permet de répéter l’exécution d’un bloc d’instructions un nombre donné de fois.

Syntaxe :

Exemple 01 :

La fonction range permet de créer une liste d’entiers successifs compris dans une certaine borne dépendant du nombre de paramètres de l’instruction (début, fin pas) :

1-Ecrire un programme qui demande à l’utilisateur d’entrer un mot de passe. Si le mot de passe égal à « admin » il affiche « connexion réussie » sinon il affiche « connexion échouée » et demande de l'utilisateur de ressaisir à nouveau son mot de passe.

2-Ecrire un programme qui calcul la somme suivante :

for

i in range (iMin, imax, pas) Condition :

Instruction1 Instruction2 ……… InstructionN

(17)

Professeur : ARROU ABDESSELAM Page | 16

Exemple 02 :

3. Les instruction break, continue et pass :

Ces deux instructions permettent à l’utilisateur d’avoir un plus grand contrôle de la boucle.

A. L'instruction break :

L'instruction break provoque une sortie brutale de la boucle, mais le programme continue son exécution après la boucle.

Exemple :

B. L'instruction continue :

L'instruction continue permet de passer directement à l'itération suivante en sautant les instructions qui la suivent(continue).

(18)

Professeur : ARROU ABDESSELAM Page | 17

C. L'instruction pass :

L'instruction pass ne fait rien du tout mais, comme on ne peut avoir une expression qui n’est suivie de rien, pass peut être utilisé pour combler ce vide.

Exemple :

Exercices :

IV.

Introduction :

Après avoir double-cliqué sur l’icône de Scilab pour lancer le logiciel, l'environnement de Scilab présente les fenêtres suivantes :

 Console Scilab :

Espace d’exécution immédiate des commandes sous Scilab.  L’éditeur pour écrire des programmes :

Permet d'écrire des programmes dans un fichier avec l'extension ". sce ".  Navigateurs de fichiers :

Précise le répertoire courant (celui dans lequel on travaille), et permet de naviguer dans le système de fichiers.

 Navigateurs de variables :

1-écrire un programme pour afficher les dizaines entre 0 et 100 par ordre décroissant. Le résultat affiché sera : 100 90 80 70 60 50 40 30 20 10 0

2-Ecrire un programme qui demande un nombre de départ, et qui ensuite affiche les dix nombres suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme affichera les nombres de 18 à 27...

3-Écrivez un programme qui affiche une table de conversion de sommes d'argent exprimées en euros, en dollars canadiens. Comme dans l'exemple

Ci-dessous :  1 euro(s) = 1.65 dollar(s) 2 euro(s) = 3.30 dollar(s) 4 euro(s) = 6.60 dollar(s) 8 euro(s) = 13.20 dollar(s) etc. (S'arrêter à 300 euros)

4-Écrire un programme qui calcul le pgcd de deux nombres entiers.

5-Ecrire un programme qui demande successivement 6 nombres à l’utilisateur, et qui lui dise ensuite quel était le plus grand parmi ces 6 nombres :

Entrez le nombre numéro 1 : 12

Entrez le nombre numéro 2 : 14

Entrez le nombre numéro 6 : 5 Le plus grand de ces nombres est : 14

Modifiez ensuite le programme pour quelle affiche de surcroît en quelle position avait été saisie ce nombre :

Références

Documents relatifs

politiques sont le RND (Rassemblement National Démocratique), Hamas (Mouvement de la Société Islamique), le RCD (Rassemblement pour la Culture et la Démocratie), le MDS (Mouvement

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Il est vrai que, pour cela, ils vont devoir, à certaines étapes de leur démarche modélisante, s’appuyer, par exemple, sur le fait que si les prix montent la quantité demandée

Cette communication propose de décrire la conception, le déroulé et l’évaluation de quatre modules de formation à la dynamique de groupe instaurés dans le

Il s’agissait de former rapidement des ouvriers pour les industries d’armement, de faire face à l’explosion du chômage des jeunes et, à partir du régime de Vichy (10 juillet

je me suis largement inspiré d’un excellent article d’Yves Christe, « Les chapiteaux apocalyptiques de la galerie sud du cloître de Moissac », dans Hauts lieux romans dans le sud

Dans  la  droite  lignée  de  son  œuvre  chorégraphique,  le  cinéma  de  Rainer  cultive  un   refus  du  spectaculaire  et  du  voyeurisme  spectatoriel,

Il nous faudra revenir à la clinique, mais dans un premier temps, nous sou- haitons préciser en quoi consiste l’abstraction technique, que nous avons déjà définie comme analyse