ALGORITHMIQUE & CALCUL NUMERIQUE Travaux pratiques résolus Programmation avec les logiciels Scilab et Python



Documents pareils
Cours 7 : Utilisation de modules sous python

Présentation du langage et premières fonctions

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Découverte de Python

Calcul Formel et Numérique, Partie I

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Calcul Formel et Numérique, Partie I

MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : Licence Chimie, parcours Physique. Semestre S3

= constante et cette constante est a.

20. Algorithmique & Mathématiques

Mathématiques Première L, ES, S, Concours Post-Bac Equations et inéquations du second degré FORMAV

Introduction à l informatique en BCPST

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

Introduction à MATLAB R

Python - introduction à la programmation et calcul scientifique

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Petit Guide de Survie en Scilab

Programmes des classes préparatoires aux Grandes Ecoles

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Compléments de documentation Scilab : affichage de texte et formatage de nombres

TP 1. Prise en main du langage Python

Scilab pour les vrais débutants

STAGE IREM 0- Premiers pas en Python

Entraînement au concours ACM-ICPC

Rappels sur les suites - Algorithme

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Représentation d un entier en base b

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Table des matières. I Mise à niveau 11. Préface

Calcul Scientifique avec 3

L informatique en BCPST

Résolution d équations non linéaires

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Résolution de systèmes linéaires par des méthodes directes

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Corrigé des TD 1 à 5

Recherche dans un tableau

UNIVERSITE DES ANTILLES et DE LA GUYANE Campus de Fouillole BP Pointe-à-Pitre Cedex CONTRAT LE MASTER NOM DU DOMAINE STS

Initiation à la programmation en Python

La fonction exponentielle

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):

Découverte du tableur CellSheet

EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG

Analyse et programmation 1

MATHÉMATIQUES 10 e 12 e ANNÉE

1.6- Génération de nombres aléatoires

Formation Excel, Niveau initiation, module 1 DUREE DE LA FORMATION OBJECTIFS DE LA FORMATION

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Développement de projets logiciels à l'aide de Python

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Dispositif sur budget fédéral

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Programmation C. Apprendre à développer des programmes simples dans le langage C

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

Les chaînes de caractères

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

Le Master Mathématiques et Applications

Synthèse «Le Plus Grand Produit»

MATHÉMATIQUES. Les préalables pour l algèbre MAT-P020-1 DÉFINITION DU DOMAINE D EXAMEN

Algorithmes récursifs

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Offre Education 250 /an/école (htva)

Simulation de variables aléatoires

Environnements et Outils de Développement Cours 1 Introduction

Feuille TD n 1 Exercices d algorithmique éléments de correction

Les formations de remise à niveau(!) l'entrée des licences scientifiques. Patrick Frétigné CIIU

+12 ans. Carnet de lecture. Établissement :... Prénom :... Nom :... Classe :... Escapages, le prix littéraire de l'indre 36 :

Logiciel SCRATCH FICHE 02

Cours d algorithmique pour la classe de 2nde

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Maple: premiers calculs et premières applications

Traitement du signal avec Scilab : la transformée de Fourier discrète

Algorithmique et Programmation, IMA

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.

C f tracée ci- contre est la représentation graphique d une

108y= 1 où x et y sont des entiers

Quelques tests de primalité

Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows!

Enseignement secondaire technique

Bases de programmation. Cours 5. Structurer les données

4.2 Unités d enseignement du M1

Correction du Baccalauréat S Amérique du Nord mai 2007

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Cours Informatique Master STEP

Introduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011

DUT Techniques de commercialisation Mathématiques et statistiques appliquées

Machines Virtuelles. et bazard autour. Rémi Forax

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

Les bases du langage Python

Chap III : Les tableaux

Transcription:

ALGORITHMIQUE & CALCUL NUMERIQUE Travaux pratiques résolus Programmation avec les logiciels Scilab et Python Licence Préparation aux concours José OUIN Ingénieur INSA Toulouse Professeur agrégé de Génie civil Professeur agrégé de Mathématiques

Avant-Propos Cet ouvrage propose un ensemble de travaux pratiques portant sur différents domaines des mathématiques. Les méthodes numériques utilisées sont détaillées et les formules de récurrences associées sont rappelées afin de donner tous les éléments nécessaires à la compréhension des algorithmes et des programmes correspondants. Les programmes de cet ouvrage sont écrits en langages Scilab et Python. La partie relative à la présentation de ces logiciels indique les versions utilisées, les adresses de téléchargement et les modules nécessaires au fonctionnement des programmes. J'espère que cet ouvrage aidera les enseignants dans leurs missions d'enseignement, les étudiants dans leur apprentissage des outils de calcul scientifique ainsi que tous ceux qui souhaitent découvrir l'algorithmique ou approfondir leurs connaissances dans ce domaine. Je dédie ce livre à tous les passionnés, à tous ceux qui aiment créer, innover, chercher, apprendre et entreprendre. Je dédie également cet ouvrage à tous ceux qui découvriront, grâce à l'algorithmique, le plaisir de faire des mathématiques. José OUIN. Le site Internet http://www.joseouin.fr propose les éléments suivants : - un didacticiel sur l'installation des modules pour Python ; - les codes sources Scilab et Python des programmes de cet ouvrage ; - des ressources complémentaires sur Scilab et Python. www.joseouin.fr Algorithmique & Calcul numérique. 3

L algorithmique SOMMAIRE 1- Introduction à l'algorithmique... 9 1-1. Définition de l'algorithmique... 9 1-2. Algorithmique et programmation... 9 1-2.1 Un algorithme puis un programme... 9 1-2.2 Les éléments de base d'un algorithme... 9 1-2.3 Les conventions d'écriture d'un algorithme...10 2- Les instructions... 11 2-1. Les instructions pour traiter les données... 11 2-1.1 L'affectation de données dans des variables...11 2-1.2 La lecture (ou entrée) des données...11 2-1.3 L'écriture (ou sortie) des données...12 2-2. Les instructions ou structures de contrôle... 13 2-2.1 La structure alternative...13 2-2.2 Les structures répétitives...15 2-2.3 Indentation nécessaire en langage Python...17 Le logiciel Scilab 1- Présentation du logiciel... 18 2- Téléchargement du logiciel... 18 3- L environnement Scilab... 18 3-1. La console... 18 3-2. L'éditeur SciNotes... 19 3-3. Les fenêtres graphiques... 20 3-4. Les autres éléments de l'environnement... 20 Le logiciel Python 1- Présentation du logiciel... 21 2- Téléchargement du logiciel... 21 3- Téléchargement des modules... 21 3-1. Modules Numpy et Scipy... 21 3-2. Module Matplotlib... 22 4. Algorithmique & Calcul numérique

4- L environnement Python... 22 4-1. La console et l'éditeur... 22 4-2. Les fenêtres graphiques... 23 5- Editeur de texte : Python Scripter... 24 5-1. Présentation de Python Scripter... 24 5-2. Téléchargement de Python Scripter... 24 6- Installation du logiciel Python... 25 6-1. Présentation de l'installation... 25 6-2. Les étapes de l'installation : logiciel, modules et éditeur... 25 Les travaux pratiques A Algorithmique et Arithmétique 1- Résolution d une grille de Sudoku (9x9)... 29 2- Tri par sélection et tri à bulles... 43 3- Cryptographie Le carré de Polybe... 48 4- Couples d'entiers amicaux... 55 5- Conjecture d'erdös-straus... 59 B Approximation de solutions d'équations et suites numériques 1- Ensembles de Mandelbrot et de Julia... 66 2- Méthode de dichotomie... 79 3- Méthode de Newton... 83 4- Approximation d'une racine carrée Méthode de Héron... 87 5- Détermination de la constante d'euler-mascheroni... 91 6- Point fixe et suite définie par récurrence... 94 C Résolution numérique d équations différentielles 1- Approximation de la fonction exponentielle par la méthode d'euler... 98 2- Etude d'un circuit RC... 104 3- Etude de la chute libre d'un parachutiste... 109 4- Modèle proie-prédateur Equations de Lotka-Volterra... 116 5- Résolution d'une équation différentielle d'ordre 2... 123 Algorithmique & Calcul numérique. 5

D Calcul matriciel et calcul intégral 1- Méthode d'élimination de Gauss... 131 2- Résolution d'un système UX = B... 136 3- Résolution d'un système LX = B... 140 4- Résolution d'un système par la méthode d'élimination de Gauss... 144 5- Méthode de décomposition LU Algorithme de Doolittle... 151 6- Résolution d'un système AX = B par décomposition LU... 158 7- Approximation d'une intégrale... 166 Les instructions et fonctions du langage Scilab ABS... 172 ASCII... 172 CLF... 172 DEFF... 172 DISP... 173 EVSTR... 173 EYE... 173 FPLOT3D1... 174 FUNCTION... 174 GCA & ISOVIEW... 175 INPUT... 175 INT... 175 LENGTH... 176 LINSPACE... 176 MATPLOT... 176 MODULO... 177 ONES... 177 PART... 177 PLOT... 178 PLOT2D3... 178 PRINTF... 179 RAND... 179 SCF... 180 STRCAT... 180 STRING... 180 STRSPLIT... 180 SUM... 181 TIMER... 181 X_MATRIX... 181 XSET... 182 ZEROS... 182 6. Algorithmique & Calcul numérique

Les instructions et fonctions du langage Python ABS... 184 a%b (a modulo b)... 184 CREATE_LINE... 184 EVAL... 185 EYE... 185 INPUT... 185 INT... 185 LEN... 186 LINSPACE... 186 ONES... 186 PLOT... 186 PRINT... 187 RANGE... 187 SHOW... 188 STR... 188 TIME... 189 ZEROS... 189 Algorithmique & Calcul numérique. 7