OpenLLM-France/wikimedia huggingface dataset:
# Programmation/PyCharm

* Historique
* Abstraction

## Concepts de base

* Commentaires
* Instructions
* Variables
* Types
* Expressions
* Comparaisons
* Instructions de contrôle
* Entrées-sorties

## Concepts spécifiques

* Manipulation de chaînes
* Procédures et fonctions
* Gestion de mémoire
* Gestion des exceptions
* Paradigmes de programmation
* Programmation séquentielle
* Programmation concurrente
* Programmation impérative
* Programmation orientée objet
* Programmation générique
* Programmation orientée aspect
* Programmation fonctionnelle
* Programmation logique
* Programmation par contrat

## Logiciels

* Eclipse
* NetBeans
* PhpStorm
* PyCharm
* SciTE
* Visual Studio Code

## Annexes

* Structure et style
* Règles de programmation
* Langages
* Historique
* Abstraction

## Concepts de base

* Commentaires
* Instructions
* Variables
* Types
* Expressions
* Comparaisons
* Instructions de contrôle
* Entrées-sorties

## Concepts spécifiques

* Manipulation de chaînes
* Procédures et fonctions
* Gestion de mémoire
* Gestion des exceptions
* Paradigmes de programmation
* Programmation séquentielle
* Programmation concurrente
* Programmation impérative
* Programmation orientée objet
* Programmation générique
* Programmation orientée aspect
* Programmation fonctionnelle
* Programmation logique
* Programmation par contrat

## Logiciels

* Eclipse
* NetBeans
* PhpStorm
* PyCharm
* SciTE
* Visual Studio Code

## Annexes

* Structure et style
* Règles de programmation
* Langages
[ Modifier le sommaire ]
PyCharm est est un environnement de développement intégré utilisé pour programmer en Python.

## Installation

Développé par l'entreprise JetBrains, PyCharm est un logiciel multi-plateforme qui fonctionne sous Windows, Mac OS X et Linux.
Il est décliné en édition professionnelle, diffusé sous licence propriétaire, et en édition communautaire diffusée sous licence Apache (donc 100 % gratuite), téléchargeable depuis le site officiel.

## Configuration

Après installation il faut choisir l'interpréteur Python, dont la version déterminera les conseils fournis par l'IDE. Ils peuvent provenir de quatre environnements :
* Virtualenv
* Conda
* System Interpreter
* Pipenv
Si le programme doit ensuite tourner sur la machine hôte (sans IDE), le mieux est de prendre "System Interpreter".

## Utilisation

PyCharm permet l'analyse de code et contient un débogueur graphique.
Il permet également la gestion des tests unitaires, l'intégration de logiciel de gestion de versions, et supporte le développement web avec Django.

## Références

* ↑ https://www.jetbrains.com/fr-fr/pycharm/download/
* Wikipédia propose un article sur : « PyCharm ».
# Programmation/Surcharge

* Historique
* Abstraction

## Concepts de base

* Commentaires
* Instructions
* Variables
* Types
* Expressions
* Comparaisons
* Instructions de contrôle
* Entrées-sorties

## Concepts spécifiques

* Manipulation de chaînes
* Procédures et fonctions
* Gestion de mémoire
* Gestion des exceptions
* Paradigmes de programmation
* Programmation séquentielle
* Programmation concurrente
* Programmation impérative
* Programmation orientée objet
* Programmation générique
* Programmation orientée aspect
* Programmation fonctionnelle
* Programmation logique
* Programmation par contrat

## Logiciels

* Eclipse
* NetBeans
* PhpStorm
* PyCharm
* SciTE
* Visual Studio Code

## Annexes

* Structure et style
* Règles de programmation
* Langages
* Historique
* Abstraction

## Concepts de base

* Commentaires
* Instructions
* Variables
* Types
* Expressions
* Comparaisons
* Instructions de contrôle
* Entrées-sorties

## Concepts spécifiques

* Manipulation de chaînes
* Procédures et fonctions
* Gestion de mémoire
* Gestion des exceptions
* Paradigmes de programmation
* Programmation séquentielle
* Programmation concurrente
* Programmation impérative
* Programmation orientée objet
* Programmation générique
* Programmation orientée aspect
* Programmation fonctionnelle
* Programmation logique
* Programmation par contrat

## Logiciels

* Eclipse
* NetBeans
* PhpStorm
* PyCharm
* SciTE
* Visual Studio Code

## Annexes

* Structure et style
* Règles de programmation
* Langages
[ Modifier le sommaire ]
La surcharge consiste à créer plusieurs fonctions portant le même nom car réalisant la même chose, mais ayant une signature différente afin que le compilateur/interpréteur du langage puisse les distinguer.
Dans ce qui suit, le terme "fonction" peut désigner indifféremment fonction ou procédure.

## La signature d'une fonction

La signature d'une fonction est ce qui permet à un compilateur ou interpréteur d'identifier une fonction pour la distinguer d'une autre.
Certains langages de programmation n'autorisent pas que deux fonctions portent le même nom, car celui-ci identifie la fonction. Pour ces langages, la signature d'une fonction correspond donc à son nom seul.
Les langages de programmation objet autorisent plusieurs fonctions a porter le même nom, à condition que la liste des types des paramètres acceptés soit différente. La signature correspond donc au nom de la fonction et à la liste des types des paramètres de cette fonction.
Exemple :
Lors de l'appel à la fonction "afficher", le compilateur ou l'interpréteur distingue laquelle il doit utiliser d'après le type des arguments.
Exemple :

## Exemples

* En C#
* En Java
* En C++

## Voir aussi

* POO
# Programmation/Programmation par contrat

* Historique
* Abstraction

## Concepts de base

* Commentaires
* Instructions
* Variables
* Types
* Expressions
* Comparaisons
* Instructions de contrôle
* Entrées-sorties

## Concepts spécifiques

* Manipulation de chaînes
* Procédures et fonctions
* Gestion de mémoire
* Gestion des exceptions
* Paradigmes de programmation
* Programmation séquentielle
* Programmation concurrente
* Programmation impérative
* Programmation orientée objet
* Programmation générique
* Programmation orientée aspect
* Programmation fonctionnelle
* Programmation logique
* Programmation par contrat

## Logiciels

* Eclipse
* NetBeans
* PhpStorm
* PyCharm
* SciTE
* Visual Studio Code

## Annexes

* Structure et style
* Règles de programmation
* Langages
* Historique
* Abstraction

## Concepts de base

* Commentaires
* Instructions
* Variables
* Types
* Expressions
* Comparaisons
* Instructions de contrôle
* Entrées-sorties

## Concepts spécifiques

* Manipulation de chaînes
* Procédures et fonctions
* Gestion de mémoire
* Gestion des exceptions
* Paradigmes de programmation
* Programmation séquentielle
* Programmation concurrente
* Programmation impérative
* Programmation orientée objet
* Programmation générique
* Programmation orientée aspect
* Programmation fonctionnelle
* Programmation logique
* Programmation par contrat

## Logiciels

* Eclipse
* NetBeans
* PhpStorm
* PyCharm
* SciTE
* Visual Studio Code

## Annexes

* Structure et style
* Règles de programmation
* Langages
[ Modifier le sommaire ]
Cette page est considérée comme une ébauche à compléter . Si vous possédez quelques connaissances sur le sujet, vous pouvez les partager en éditant dès à présent cette page (en cliquant sur le lien « »).
Ressources suggérées : Aucune (vous pouvez indiquer les ressources que vous suggérez qui pourraient aider d'autres personnes à compléter cette page dans le paramètre « ressources » du modèle engendrant ce cadre)
La programmation par contrat est un paradigme de programmation dans lequel le déroulement des traitements est garanti par des vérifications sur les données, ce qui permet d'être sûr que les traitements ne vont pas déclencher d'erreur. Il y a trois catégories de vérification :
* Précondition : L'ensemble des conditions qui doivent être vérifiées avant le lancement d'un traitement donné. Ces conditions permettent de s'assurer que le déroulement du traitement est possible sans déclencher d'erreur.
* Postcondition : L'ensemble des conditions qui doivent être vérifiées après le déroulement d'un traitement. Ces conditions permettent de s'assurer que le déroulement du traitement n'a pas déclenché d'erreur.
* Invariant : L'ensemble des conditions qui doivent être vérifiées à tout moment, y compris au sein d'un traitement.
Le seul langage de programmation qui implémente ce paradigme est le langage Eiffel, mais des modules existent pour d'autres langages, comme JContractor pour Programmation Java.
# Programmation/Programmation séquentielle

* Historique
* Abstraction

## Concepts de base

* Commentaires
* Instructions
* Variables
* Types
* Expressions
* Comparaisons
* Instructions de contrôle
* Entrées-sorties

## Concepts spécifiques

* Manipulation de chaînes
* Procédures et fonctions
* Gestion de mémoire
* Gestion des exceptions
* Paradigmes de programmation
* Programmation séquentielle
* Programmation concurrente
* Programmation impérative
* Programmation orientée objet
* Programmation générique
* Programmation orientée aspect
* Programmation fonctionnelle
* Programmation logique
* Programmation par contrat

## Logiciels

* Eclipse
* NetBeans
* PhpStorm
* PyCharm
* SciTE
* Visual Studio Code

## Annexes

* Structure et style
* Règles de programmation
* Langages
* Historique
* Abstraction

## Concepts de base

* Commentaires
* Instructions
* Variables
* Types
* Expressions
* Comparaisons
* Instructions de contrôle
* Entrées-sorties

## Concepts spécifiques

* Manipulation de chaînes
* Procédures et fonctions
* Gestion de mémoire
* Gestion des exceptions
* Paradigmes de programmation
* Programmation séquentielle
* Programmation concurrente
* Programmation impérative
* Programmation orientée objet
* Programmation générique
* Programmation orientée aspect
* Programmation fonctionnelle
* Programmation logique
* Programmation par contrat

## Logiciels

* Eclipse
* NetBeans
* PhpStorm
* PyCharm
* SciTE
* Visual Studio Code

## Annexes

* Structure et style
* Règles de programmation
* Langages
[ Modifier le sommaire ]
Cette page est considérée comme une ébauche à compléter . Si vous possédez quelques connaissances sur le sujet, vous pouvez les partager en éditant dès à présent cette page (en cliquant sur le lien « »).
Ressources suggérées : Aucune (vous pouvez indiquer les ressources que vous suggérez qui pourraient aider d'autres personnes à compléter cette page dans le paramètre « ressources » du modèle engendrant ce cadre)
La programmation séquentielle est un paradigme de programmation dans lequel le déroulement des instructions du programme est toujours le même. Les instructions exécutées peuvent varier en fonction des conditions initiales : embranchements, boucles... Par exemple, un calcul de taux d'imposition relève de la programmation séquentielle car une fois lancé, le traitement exécute toutes ses instructions dans un ordre prédéfini sans avoir à prendre en compte d'événement externe (interruption).
La programmation séquentielle s'oppose à la programmation événementielle dans laquelle la séquence d'instructions exécutée est déterminée ou modifiée en permanence par les différents événements extérieurs ayant une incidence sur le traitement durant son exécution. Par exemple, le traitement prenant en charge l'interface homme-machine (affichage sur écran) sur un micro-ordinateur relève de la programmation événementielle : le traitement prend en compte en permanence les actions de l'utilisateur qui viennent interagir avec la séquence de ses instructions.
# Programmation Octave/Calcul numérique

* Introduction
* Chap 1 : Résoudre un Système d'équations linéaires
* Chap 2 : Algèbre linéaire
* Chap 3 : Analyse réelle
* Chap 4 : Dessiner des graphiques de fonctions
* Chap 5 : Analyse Complexe
* Chap 6 : Scripts et fonctions
* Chap 7 : Calcul numérique
** résolution d'équation non-linéaire
** résolution d'équation différentielle ordinaire
** minimisation de fonctions
* Chap 8 : Traitement du son
Annexes
* Annexe 1 : Installation de GNU Octave
* Annexe 2 : L'éditeur SciTE
* Annexe 3 : Octave Forge
* Introduction
* Chap 1 : Résoudre un Système d'équations linéaires
* Chap 2 : Algèbre linéaire
* Chap 3 : Analyse réelle
* Chap 4 : Dessiner des graphiques de fonctions
* Chap 5 : Analyse Complexe
* Chap 6 : Scripts et fonctions
* Chap 7 : Calcul numérique
** résolution d'équation non-linéaire
** résolution d'équation différentielle ordinaire
** minimisation de fonctions
* Chap 8 : Traitement du son
Annexes
* Annexe 1 : Installation de GNU Octave
* Annexe 2 : L'éditeur SciTE
* Annexe 3 : Octave Forge
[ Modifier le sommaire ]

# Résoudre des équations non-linéaires

La commande "fsolve("f",x0)" permet de donner une approximation de la solution à l'équation $f(x)=0$ en partant du nombre initiale "x0". Par exemple si on veut résoudre:
    $x^{3}-x^{2}+5x-8=0\,$
Il faut d'abord définir la fonction:
Ensuite on dessine le graphique de la fonction pour voir approximativement ou se situe le zéro de la fonction:
On voit que le zéro se trouve entre 0 et 2 donc on peut choisir $x_{0}=1.5$:
Ensuite on vérifie la solution:

# Résoudre des équations différentielles du premier ordre

La commande "lsode" permet de résoudre des équations du type:
    $f'(t)=g(f(t),t)\,$
Ou f est inconnue.

# Minimiser une fonction

fmins permet de minimiser une fonction de plusieurs variables. Par exemple si on veut minimiser
    $f(x_{1},x_{2})=(x_{2}-1)^{2}+(x_{1}-3)^{2}\,$
avec le vecteur initial (1,0). il suffit de faire :
# Programmation Octave/Octave Forge

* Introduction
* Chap 1 : Résoudre un Système d'équations linéaires
* Chap 2 : Algèbre linéaire
* Chap 3 : Analyse réelle
* Chap 4 : Dessiner des graphiques de fonctions
* Chap 5 : Analyse Complexe
* Chap 6 : Scripts et fonctions
* Chap 7 : Calcul numérique
** résolution d'équation non-linéaire
** résolution d'équation différentielle ordinaire
** minimisation de fonctions
* Chap 8 : Traitement du son
Annexes
* Annexe 1 : Installation de GNU Octave
* Annexe 2 : L'éditeur SciTE
* Annexe 3 : Octave Forge
* Introduction
* Chap 1 : Résoudre un Système d'équations linéaires
* Chap 2 : Algèbre linéaire
* Chap 3 : Analyse réelle
* Chap 4 : Dessiner des graphiques de fonctions
* Chap 5 : Analyse Complexe
* Chap 6 : Scripts et fonctions
* Chap 7 : Calcul numérique
** résolution d'équation non-linéaire
** résolution d'équation différentielle ordinaire
** minimisation de fonctions
* Chap 8 : Traitement du son
Annexes
* Annexe 1 : Installation de GNU Octave
* Annexe 2 : L'éditeur SciTE
* Annexe 3 : Octave Forge
[ Modifier le sommaire ]
Si la version de base d' Octave ne contient pas toutes les fonctions qu'il vous sont nécessaire, il existe Octave Forge qui vous permet de télécharger des fonctions supplémentaires en addition d'Octave. Les fonctions sont classées en différents packages, il suffit de télécharger le package qu'il vous faut, par exemple Audio, ensuite vous lancez Octave dans le dossier qui contient le fichier tar.gz. La commande Octave pkg permet de géré les différent packages. Par exemple la commande 'pkg install audio-1.0.2.tar.gz' installera le package Audio si il se trouve dans le dossier ou est lancé Octave. Voici une liste des principales option de la commande pkg:
* list, liste les packages installés.
* install, installe le package
* uninstall, désinstalle le package.
* load, charge le package, permet à Octave de l'utiliser.
# Programmation Objectpal

Paradox est un logiciel de base de données pouvant être utilisé aussi bien sur des postes isolés que sur un réseau local. Son interface visuelle permet de gérer les tables (structures et données), de construire des fiches de manipulation des données, de faire des requêtes (éventuellement en SQL), de produire des états d'impression. Son langage de programmation (ObjectPal) en fait un outil de développement complet permettant de réaliser rapidemment des applications de gestion robustes et performantes.
# Programmation Octave/Analyse Complexe

* Introduction
* Chap 1 : Résoudre un Système d'équations linéaires
* Chap 2 : Algèbre linéaire
* Chap 3 : Analyse réelle
* Chap 4 : Dessiner des graphiques de fonctions
* Chap 5 : Analyse Complexe
* Chap 6 : Scripts et fonctions
* Chap 7 : Calcul numérique
** résolution d'équation non-linéaire
** résolution d'équation différentielle ordinaire
** minimisation de fonctions
* Chap 8 : Traitement du son
Annexes
* Annexe 1 : Installation de GNU Octave
* Annexe 2 : L'éditeur SciTE
* Annexe 3 : Octave Forge
* Introduction
* Chap 1 : Résoudre un Système d'équations linéaires
* Chap 2 : Algèbre linéaire
* Chap 3 : Analyse réelle
* Chap 4 : Dessiner des graphiques de fonctions
* Chap 5 : Analyse Complexe
* Chap 6 : Scripts et fonctions
* Chap 7 : Calcul numérique
** résolution d'équation non-linéaire
** résolution d'équation différentielle ordinaire
** minimisation de fonctions
* Chap 8 : Traitement du son
Annexes
* Annexe 1 : Installation de GNU Octave
* Annexe 2 : L'éditeur SciTE
* Annexe 3 : Octave Forge
[ Modifier le sommaire ]

## Définir des nombres complexes

Octave permet de définir des nombres complexes de façon très simple car "i" est une constante prédéfinie d'Octave:
Ou des vecteurs complexes :
La lettre "j" peut aussi être utilisée au lieu de "i".

## Fonctions de base

La commande "real" donne la partie réelle d'un nombre complexe, la commande "imag" en donne la partie imaginaire:
La commande "conj" calcul le conjugué d'un nombre complexe:
La commande "abs" permet de calculer le module d'un nombre complexe:
La commande "arg" calcul permet de calculer l'argument du nombre :
# Programmation Octave/Introduction

* Introduction
* Chap 1 : Résoudre un Système d'équations linéaires
* Chap 2 : Algèbre linéaire
* Chap 3 : Analyse réelle
* Chap 4 : Dessiner des graphiques de fonctions
* Chap 5 : Analyse Complexe
* Chap 6 : Scripts et fonctions
* Chap 7 : Calcul numérique
** résolution d'équation non-linéaire
** résolution d'équation différentielle ordinaire
** minimisation de fonctions
* Chap 8 : Traitement du son
Annexes
* Annexe 1 : Installation de GNU Octave
* Annexe 2 : L'éditeur SciTE
* Annexe 3 : Octave Forge
* Introduction
* Chap 1 : Résoudre un Système d'équations linéaires
* Chap 2 : Algèbre linéaire
* Chap 3 : Analyse réelle
* Chap 4 : Dessiner des graphiques de fonctions
* Chap 5 : Analyse Complexe
* Chap 6 : Scripts et fonctions
* Chap 7 : Calcul numérique
** résolution d'équation non-linéaire
** résolution d'équation différentielle ordinaire
** minimisation de fonctions
* Chap 8 : Traitement du son
Annexes
* Annexe 1 : Installation de GNU Octave
* Annexe 2 : L'éditeur SciTE
* Annexe 3 : Octave Forge
[ Modifier le sommaire ]
Octave est à la fois un langage interprété et un logiciel de calcul numérique distribué sous licence GPL. Le langage Octave est compatible avec Matlab pour la plupart des usages mathématiques. Ce livre devrait donc convenir comme introduction tant à Octave qu'à Matlab.

## L'environnement de travail Octave

L'interpréteur Octave se lance en ligne de commande en invoquant "octave" ou en activant le raccourci adéquat, qui est apparu lors de l'installation. Après avoir lancé le programme, celui-ci affiche une session de travail dans la fenêtre de commandes (command window en anglais), dans laquelle l'utilisateur est invité à entrer les commandes interactivement.
Une autre manière d'entrer des commandes ou des suites de commandes regroupées dans des fichiers script ou des fonctions est abordée dans la section Scripts et fonctions
Pour chaque commande, il est possible d'obtenir de l'aide en tapant "help le_nom_de_la_commande". La documentation qui apparaît alors est en anglais (en tout cas tant que nous n'aurons pas fait le travail de traduction de la documentation :-). Pour consulter la documentation, il est aussi possible, sous GNU/linux de taper "info:octave" dans la barre de navigation de Konqueror sous KDE.
Nous verrons plus loin comment les utiliser mais, avec Octave, nous pouvons assigner des valeurs à des variable par exemple :
Ensuite nous pouvons voir à chaque instant quelles variables sont utilisées avec la commande "whos":
La commande "clear" suivie du nom de la variable permet de supprimer la variable ou toutes les variables définies si elle n'est pas suivie d'argument.
La commande "history" permet de consulter l'historique de toutes les lignes tapées jusqu'à maintenant.

## Liens

* Site officiel.
# Programmation Octave

Un livre appartenant à L'étagère Informatique et Mathématiques.
Ce livre est une introduction à l'utilisation des outils de calcul numériques Octave (et Matlab), qui se veut simple et illustrative par des exemples.
    Avancé
* 5/51
* 6/68/681/681.3/681.3.0
* Une version imprimable du livre « Programmation Octave » est disponible. (voir/ modifier)
* Ce livre est un wiki et peut par conséquent être amélioré par tout le monde. N'hésitez pas à  participer !
Il n'est pas envisagé que ce cours devienne un ouvrage complet et donc complexe. Un tel livre aurait bien sûr sa place comme le livre anglophone http://en.wikibooks.org/wiki/MATLAB_Programming (que nous espérons avec votre aide traduire et adapter en français) et il devrait mettre en évidence le fait que les programmations MATLAB et Octave sont très similaires et peuvent donc pour l'essentiel être traitées dans un seul ouvrage.

## Sommaire

* Introduction
* Chap 1 : Résoudre un Système d'équations linéaires
* Chap 2 : Algèbre linéaire
* Chap 3 : Analyse réelle
* Chap 4 : Dessiner des graphiques de fonctions
* Chap 5 : Analyse Complexe
* Chap 6 : Scripts et fonctions
* Chap 7 : Calcul numérique
** résolution d'équation non-linéaire
** résolution d'équation différentielle ordinaire
** minimisation de fonctions
* Chap 8 : Traitement du son
Annexes
* Annexe 1 : Installation de GNU Octave
* Annexe 2 : L'éditeur SciTE
* Annexe 3 : Octave Forge

## Auteurs

* C Go
* Nicolas Pettiaux

## Références

* Utilisation de l'éditeur Scite
* Documentation Octave
# Programmation Octave/Dessiner des graphiques de fonctions

* Introduction
* Chap 1 : Résoudre un Système d'équations linéaires
* Chap 2 : Algèbre linéaire
* Chap 3 : Analyse réelle
* Chap 4 : Dessiner des graphiques de fonctions
* Chap 5 : Analyse Complexe
* Chap 6 : Scripts et fonctions
* Chap 7 : Calcul numérique
** résolution d'équation non-linéaire
** résolution d'équation différentielle ordinaire
** minimisation de fonctions
* Chap 8 : Traitement du son
Annexes
* Annexe 1 : Installation de GNU Octave
* Annexe 2 : L'éditeur SciTE
* Annexe 3 : Octave Forge
* Introduction
* Chap 1 : Résoudre un Système d'équations linéaires
* Chap 2 : Algèbre linéaire
* Chap 3 : Analyse réelle
* Chap 4 : Dessiner des graphiques de fonctions
* Chap 5 : Analyse Complexe
* Chap 6 : Scripts et fonctions
* Chap 7 : Calcul numérique
** résolution d'équation non-linéaire
** résolution d'équation différentielle ordinaire
** minimisation de fonctions
* Chap 8 : Traitement du son
Annexes
* Annexe 1 : Installation de GNU Octave
* Annexe 2 : L'éditeur SciTE
* Annexe 3 : Octave Forge
[ Modifier le sommaire ]

### Graphique en deux dimensions

Pour dessiner le graphique d'une fonction, il faut d'abord définir l'intervalle où la fonction va prendre ses valeurs. Ici, nous prenons $[0;2\pi ]\;$ et un pas de 0.05 entre chaque valeurs:
Ensuite, grâce à la fonction "plot", nous pouvons dessiner la fonction cosinus:
On peut aussi créer des graphiques de fonction discrète avec la fonction "stem":
Pour dessiner des fonctions il est possible d'utiliser la commande "fplot". On commence par définir la fonction que l'on veut tracer (ici $f(x)=e^{-\cos(x)}\,$):
Ensuite on utilise fplot en passant en argument le nom de la fonction et l'intervalle sur lequel on veut la tracer :

### Dessiner une courbes en trois dimensions

Nous allons prendre comme exemple le dessin d'une spirale en trois dimension (un ressort). Il faut d'abord paramétrer la courbe :
Ensuite grâce à la commande "plot3" on dessine la courbe:
On obtient le résultat suivant :

### Dessiner une surface

Nous allons dessiner la surface d'équation $z=\sin(2.{\sqrt {x^{2}+y^{2}}})$
Dans un premier temps nous définissons la surface de départ avec la fonction "meshgrid" ici nous prenons un carré de côté 5 et de 0.1 entre chaque point:
Puis nous définissons z:
Enfin nous dessinons la surface: