Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
teaching:progappchim:presentation_principes [2017/02/15 13:10] – villersd | teaching:progappchim:presentation_principes [2023/02/21 14:56] (Version actuelle) – villersd | ||
---|---|---|---|
Ligne 32: | Ligne 32: | ||
<WRAP group> | <WRAP group> | ||
<WRAP half column> | <WRAP half column> | ||
- | <diagram> | + | <flowchartjs default> |
- | | AAA | |AAA{border-color:black; | + | |
- | | |!@4| | AB |AB{border-color: | + | |
- | | BBB | | | | | | | | | | |BBB{border-color:black; | + | |
- | | |!@4| | BC |BC{border-color: | + | |
- | | CCC | | | | | | | | | | |CCC{border-color:black; | + | |
- | </diagram> | + | |
+ | box1-> | ||
+ | </flowchartjs> | ||
</ | </ | ||
<WRAP half column> | <WRAP half column> | ||
Ligne 50: | Ligne 52: | ||
<WRAP group> | <WRAP group> | ||
<WRAP half column> | <WRAP half column> | ||
- | <diagram> | + | <flowchartjs default> |
- | | AAA | |AAA{border-color:black; | + | |
- | | |!@4| | AB |AB{border-color: | + | |
- | | BBB | | | | | | | | | | |BBB{border-color:black; | + | |
- | </diagram> | + | |
+ | box1->box2 | ||
+ | </flowchartjs> | ||
</ | </ | ||
<WRAP half column> | <WRAP half column> | ||
Ligne 69: | Ligne 73: | ||
<WRAP group> | <WRAP group> | ||
<WRAP half column> | <WRAP half column> | ||
- | <diagram> | + | <flowchartjs default> |
- | | AAA | |AAA{border-color:black; | + | |
- | | |!@4| | AB |AB{border-color: | + | |
- | | BBB | | | | | | | | | | |BBB{border-color:black; | + | |
- | | |!@4| | BC |BC{border-color: | + | |
- | | CCC | | | | | | | | | | |CCC{border-color:black; | + | |
- | </diagram> | + | |
+ | box1-> | ||
+ | </flowchartjs> | ||
</ | </ | ||
<WRAP half column> | <WRAP half column> | ||
Ligne 156: | Ligne 162: | ||
>>> | >>> | ||
</ | </ | ||
- | * Commandes : copyrigth, credits, license(), quit, help, help(),... | + | * Commandes : copyright, credits, license(), quit, help, help(),... |
==== Notion de variable ==== | ==== Notion de variable ==== | ||
Ligne 165: | Ligne 171: | ||
>>> | >>> | ||
>>> | >>> | ||
- | >>> | + | >>> |
>>> | >>> | ||
>>> | >>> | ||
Ligne 253: | Ligne 259: | ||
>>> | >>> | ||
>>> | >>> | ||
- | >>> | + | >>> |
True False | True False | ||
>>> | >>> | ||
Ligne 273: | Ligne 279: | ||
==== Opérations sur les chaînes ==== | ==== Opérations sur les chaînes ==== | ||
< | < | ||
- | >>> | + | >>> |
>>> | >>> | ||
- | ’ 15 septembre 2009’ | + | ' |
- | >>> | + | >>> |
6 | 6 | ||
>>> | >>> | ||
- | [’Mons,’, ’le’, ’15’, ’septembre’, ’2009’] | + | ['Mons,', 'le', '15', 'septembre', '2009'] |
>>> | >>> | ||
- | ’MONS, LE 15 SEPTEMBRE 2009’ | + | 'MONS, LE 15 SEPTEMBRE 2009' |
>>> | >>> | ||
- | ’Mons, | + | 'Mons, |
>>> | >>> | ||
</ | </ | ||
Ligne 444: | Ligne 450: | ||
<code python> | <code python> | ||
- | print(’Structure while !’) | + | print('Structure while !') |
c=0 | c=0 | ||
while c< 4: | while c< 4: | ||
print(c) | print(c) | ||
c=c+1 | c=c+1 | ||
- | print(’valeur finale = ’,c) | + | print('valeur finale = ',c) |
- | print(’Structure for’) | + | print('Structure for') |
a=range(11) | a=range(11) | ||
print(a) | print(a) | ||
Ligne 468: | Ligne 474: | ||
==== Exemples d’indentation ==== | ==== Exemples d’indentation ==== | ||
<code python> | <code python> | ||
- | print(’Table de multiplication’) | + | print('Table de multiplication') |
a=range(11) | a=range(11) | ||
for i in a: | for i in a: | ||
for j in a: | for j in a: | ||
- | print(i*j, | + | print(i*j, |
- | print(’ sont multiples de ’,i) | + | print(' |
</ | </ | ||
Ligne 553: | Ligne 559: | ||
* des procédures de tests | * des procédures de tests | ||
* la génération de documentation sous différentes formes | * la génération de documentation sous différentes formes | ||
+ | * la possibilité d' | ||
* ... | * ... | ||
Ligne 638: | Ligne 645: | ||
==== Tkinter : animation ==== | ==== Tkinter : animation ==== | ||
- | <code python> | + | <code python |
#! / | #! / | ||
# -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||
Ligne 698: | Ligne 705: | ||
</ | </ | ||
+ | ==== tkinter : tkDemo, demonstration of Tk widgets ==== | ||
+ | |||
+ | FIXME : ? tkdemo était proposé pour la branche 2 de Python. Rechercher pour la version python 3 ? | ||
+ | |||
+ | Voir par exemple [[https:// | ||
+ | |||
+ | |||
+ | ==== Graphiques simples avec matplotlib ==== | ||
+ | <code python> | ||
+ | # cosinusoïde amortie | ||
+ | from pylab import * | ||
+ | |||
+ | def my_func(t): | ||
+ | s1 = cos(2*pi*t) | ||
+ | e1 = exp(-t) | ||
+ | return s1*e1 | ||
+ | |||
+ | tvals = arange(0., 5., 0.05) | ||
+ | # | ||
+ | #show() | ||
+ | |||
+ | plot(tvals, my_func(tvals), | ||
+ | show() | ||
+ | </ | ||
+ | |||
+ | ==== Calculs numériques (FFT) et graphiques plus élaborés ==== | ||
+ | |||
+ | [[teaching: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==== Graphiques et illustrations plus complexes ==== | ||
+ | |||
+ | [[teaching: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== pH d’un acide en fonction d’un ajout de base et d’une dilution ==== | ||
+ | [[teaching: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== Calculs sur des molécules ==== | ||
+ | < | ||
+ | mol wt = 32.04186 - Numb atoms = 6 - Numb bonds = | ||
+ | 12.0107 6 C x= 0.956 y= -0.086 z= -0.056 | ||
+ | 15.9994 8 O x= 0.488 y= -1.374 z= 0.299 | ||
+ | 1.00794 1 H x= 0.587 y= 0.64 z= 0.672 | ||
+ | 1.00794 1 H x= 0.584 y= 0.177 z= -1.05 | ||
+ | 1.00794 1 H x= 2.049 y= -0.08 z= -0.052 | ||
+ | 1.00794 1 H x= 0.831 y= -1.996 z= -0.365 | ||
+ | partial charges = (0.28, -0.68, 0.0, 0.0, 0.0, 0.4) | ||
+ | total charge = 0 | ||
+ | </ | ||
+ | |||
+ | Ces données ont été générées à partir de la chaîne smile ’CO’ du méthanol en utilisant des librairies Python existantes et les programmes de chimie OpenBabel | ||
+ | |||
+ | ===== Objectifs du cours ===== | ||
+ | ==== Développer des capacités à programmer ==== | ||
+ | L’apprentissage des rudiments de la programmation vous permettra : | ||
+ | * d’utiliser des petits programmes existants en les modifiant légèrement (niveau élémentaire) | ||
+ | * d’écrire un programme pour solutionner un problème scientifique, | ||
+ | * d’élaborer un programme original pour solutionner un problème scientifique (niveau supérieur) | ||
+ | * Utiliser des techniques de programmation avancées pour solutionner un problème original (niveau excellent) | ||
+ | |||
+ | Quelque soit le niveau de la programmation, | ||
+ | |||
+ | ==== Apprendre par la pratique ==== | ||
+ | La pratique est la clé de l’apprentissage de tout langage ! Pour atteindre les objectifs, vous procéderez par étape : | ||
+ | * Reproduire quelques programmes très simples pour se familiariser avec le cycle édition-exécution | ||
+ | * Apprendre les bases en suivant le canevas proposé, un manuel/ | ||
+ | * Manipuler les outils d’aide, documenter et commenter Apprendre à rechercher et corriger les erreurs | ||
+ | * Rechercher des exemples simples d’applications (scientifiques, | ||
+ | * Programmer des problèmes inédits, simples | ||
+ | * Utiliser des sources de codes et documentations diverses : livres, forums, sites web | ||
+ | * Se donner un projet à réaliser, d’envergure adaptée à ses capacités, et le réaliser | ||
+ | |||
+ | ==== Aide en ligne, sites, manuels, fichiers, forums,... ==== | ||
+ | * Aide sur en ligne à partir de Idle, sous windows (touche F1) | ||
+ | * sur python.org | ||
+ | * sur les sites officiels de librairies utilisées | ||
+ | * ... | ||
+ | |||
+ | ==== Références ==== | ||
+ | * Des documents du cours, des exemples et des applications, | ||
+ | * Des références générales sur Python sont regroupées à la page : [[floss :python]] | ||