Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • master
1 result

Target

Select target project
No results found
Select Git revision
  • master
1 result
Show changes

Commits on Source 125

25 additional commits have been omitted to prevent performance issues.
Compare changes
  • Side-by-side
  • Inline
Loading
+27 −0
Original line number Diff line number Diff line
# INF-TC1

## Installation

* La distribution Anaconda offre cet avantage en étant multi-plateformes (Windows, Mac, Linux) et disposant de tous les outils dont vous aurez besoin en Informatique au cours du semestre (interpréteur Python, éditeur Spyder, divers modules). Vous obtiendrez la dernière version sur ce site : https://www.anaconda.com/download/

* Nous vous demandons donc de l’installer sur vos ordinateurs et de vérifier son fonctionnement (l’exécution d’un code simple devrait suffire) avant votre première séance de TD.

* Concerant l'éditeur de code Python, vous pouvez utiliser Spyder inclu dans Anaconda, mais vous pouvez aussi télécharger et installer Microsoft Code qui est une excellente alternative : https://code.visualstudio.com/download


## Aides en informatique

* Des [transparents d'aide](aide-informatique.pdf)
* Une vidéo de présentation de ces transparents https://replay.ec-lyon.fr/video/0920-aides-en-informatique/ 

## Livres

Les livres suivants sont disponibles sous forme de pdf et couvrent les points abordés en cours et en TD :

- [Think Python](books/thinkpython2.pdf), 2nd edition, par Allen B. Downey
- [Python for Everybody](books/pythonlearn.pdf), par Charles Severance
- [Problem Solving with Algorithms and Data Structures using Python](books/problemsolving.pdf), par Brad Miller et David Ranum
- [ODS Pyhon](books/ods-python.pdf), par Pat Morin ([url](https://opendatastructures.org/ods-python/))

Autres ressources :

- https://en.wikibooks.org/wiki/Algorithms/
- [computer science books](https://freecomputerbooks.com/compscAlgorithmBooks.html)
 No newline at end of file

TD01/code/01-git.py

deleted100644 → 0
+0 −13
Original line number Diff line number Diff line
#####################################
## GitLab de l'Ecole Centrale de Lyon
#
# https://gitlab.ec-lyon.fr/
#
#####################################

## Comment vous connecter ?
# Avec vos identifiants ECL.

## A quoi ça sert ?
# Nous utiliserons GitLab pendant les cours d'informatique afin de vous 
# distribuer le code et vous permettre de le sauvegarder. GitLab est très utilisé en entreprise, il vous est donc important de l'utiliser très rapidement car cela vous sera utile pour vos stages, projects, etc.
 No newline at end of file

TD01/code/01-git_exercices.py

deleted100644 → 0
+0 −8
Original line number Diff line number Diff line
# Faire un premier commit avec une fonction déjà existante

def addition(a, b):
    return a + b

# Tester que cela fonctionne

# Afficher le résultat sur le site gitlab

TD01/code/02-python.py

deleted100644 → 0
+0 −9
Original line number Diff line number Diff line
# Faire un premier test d'une fonction Python

## Vérifiez votre numéro de version
# Afficher le numéro de version avec la commande suivante 
# dans un terminal

# python ––version

# > La version doit être égale ou supérieure à 3.7
 No newline at end of file

TD01/code/02-python_exercices.py

deleted100644 → 0
+0 −9
Original line number Diff line number Diff line
# Vous devez valider ce code qui affiche le numéro de version
# Rien d'autre à faire !
import sys

if not sys.version_info.major == 3 and sys.version_info.minor >= 7:
    print("Python 3.7 ou supérieur est nécessaire !")
else:
    print("Vous utilisez {}.{}.".format(sys.version_info.major, sys.version_info.minor))
    sys.exit(1)
 No newline at end of file

TD01/code/03-commentaires.py

deleted100644 → 0
+0 −15
Original line number Diff line number Diff line
# Un commentaire court commence par un # et se limite à la fin de la ligne

"""
On peut aussi créer un commentaire long = une zone de 
commentaires  sur plusieurs lignes placées
entre une paire de triple-guillements dont le second suit :
"""

# Remarques : 
# Un ';' à la fin d'une ligne rend la ligne muette (pas d'affichage des résultats). 
# Il permet également de placer plusieurs expressions sur la même ligne.

# Si vous placez un commentaire immédiatement après la signature d'une fonction} 
# (ou une méthode, une classe, etc.) entre un couple de  """, 
# votre commentaire (appelé docstring) devient accessible avec help
 No newline at end of file

TD01/code/04-bases.py

deleted100644 → 0
+0 −38
Original line number Diff line number Diff line
# Exemple 1 : moyenne
# Calcul de la moyenne de deux entiers  

a=input('Donner la valeur de a : ')
b=input('Donner la valeur de b : ')
print('la moyenne = ', (int(a) + int(b))/2)  # int(a) : conversion de 'a' en entier

# Une seconde méthode : on convertit en lisant les valeurs en int
a=int(input('Donner la valeur de a : '))
b=int(input('Donner la valeur de b : '))
print('la moyenne = ', (a+b)/2) 

# Exemple 2 : racines carrées
import math;

a=int(input('Donner le coefficient a : '))
b=int(input('Donner le coefficient b : '))
c=int(input('Donner le coefficient c : ')) 

if (a == 0):
  if ( b != 0) :
    print("Pas quadratique : racine simple x = ",-c/b)
  else:
    print("une blague ! ")
else :
  delta=b*b-4*a*c   #ou b**2
  if(delta < 0) :
    print("pas de racines reelles")
  else :
    assert(a != 0)     # Déjà vérifié mais pour  montrer  l'intérêt de "assert".
    if(delta>0) :
      x1 = (-b+math.sqrt(delta))/(2*a)
      x2 = (-b-math.sqrt(delta))/(2*a)
      print("x1 = ",x1)
      print("x2 = ",x2)
    else :
        x1 = x2 = -b/(2*a)
        print("racine double x1 = x2 = ",x1) 
 No newline at end of file

TD01/code/04-bases_exercices.py

deleted100644 → 0
+0 −7
Original line number Diff line number Diff line
# Exercice  : pair/impair
# Lire un entier au clavier et décider (et afficher) s'il est pair ou impair.
a=int(input('Donner un entier  positif : '))
if (a%2 ==1):
    print(a, " est impair")
else :
    print(a, " est pair")

TD01/code/05-fonctions.py

deleted100644 → 0
+0 −11
Original line number Diff line number Diff line
# 5 Introduction aux fonctions

## Exemple : moyenne de deux entiers
# Calcul de la moyenne de deux entiers par une fonction (de signature entier x entier -> reel)
def moyenne(a,b):
  return (a+b)/2             

# --- Partie Principale ----
a=input('Donner la valeur de a : ')
b=input('Donner la valeur de b : ')
print('la moyenne = ', moyenne(int(a),int(b))) 
 No newline at end of file
+0 −68
Original line number Diff line number Diff line
## 5.2 Exercice : Racines d'une quadratique avec une fonction
# Reprendre l'exemple du calcul des racines d'une équation de seconde degré
# et placer les calculs dans la fonction {\tt quadratique(a, b, c)} qui
# reçoit en paramètre les coefficients  {\it a,b} et {\it c} et renvoie les
# racines de cette équation.

from math import sqrt

def quadratique(a, b, c):
  if (a == 0):
    if ( b != 0) :
      return ("Pas quadratique : racine simple x "+str(-c/b))
    else:
      return ("une blague ! ")
  else :
    delta=b*b-4*a*c     #b*b OU b**2
    if(delta < 0) :
      return ("pas de racines réelles")
    else :
      if(delta>0) :             # Le test initial sur la valeur de "a"  montre son intérêt  ici.  
          assert(a != 0)     # Pas utile mais on montre aux élèves l'intérêt de "assert".
          x1=(-b+math.sqrt(delta))/(2*a)
          x2=(-b-math.sqrt(delta))/(2*a)
          return ("x1 = "+str(x1)+ " x2 = "+ str(x2))
      else :   
          x1 = x2 = -b/(2*a)
          return ("racine double x1 = x2 = "+str(x1))  

# La partie principale
a=int(input('Donner le coefficient a : '))
b=int(input('Donner le coefficient b : '))
c=int(input('Donner le coefficient c : ')) 
print(quadratique(a,b,c))      

## 5.3 Exercice : Moyenne et écart type
# Créer une liste de 100 nombres de la distribution N(16,2). 
import random
echantillon=[random.gauss(16,2) for n in range(100)]

def moyenne_liste(liste):
    return sum(liste)/len(liste)

def variance(liste):
    moy=moyenne_liste(liste)
    return moyenne_liste([(x-moy)**2 for x in liste])

# ---------- Partie Principale ----------
# Pour tester nos calculs sans lire des entiers, on fait un tirage Normale
echantillon=[random.gauss(16,2) for n in range(100)]
 
print("Moyenne = " , moyenne_liste(echantillon))
print("Ecart type = " , variance(echantillon)**0.5)           # %*  {\color{magenta} $\sqrt{Var}$}  *)


""" TRACE : 
Moyenne =  15.92301989946788
Ecart type =  1.9934234202474366
"""

# 5.4 Variante : Exercice (suite écart type)

echantillon=[random.gauss(16,2) for n in range(100)]
varia = moyenne([x**2 for x in echantillon])-moyenne(echantillon)**2
print("De la seconde façon : ", varia**0.5)

""" Trace :
De la seconde façon :  1.8839867058987951 
"""

TD01/code/06-script.py

deleted100644 → 0
+0 −16
Original line number Diff line number Diff line
# 6 Créer un script Python indépendant

from racines import trinome;
print(trinome(2.0, -4.0, 2.0))


# --- Partie Principale ---------
print(trinome(1.0, -3.0, 2.0))
print(trinome(1.0, -2.0, 1.0))
print(trinome(1.0, 1.0, 1.0)) 

""" On obtient 
(2, 1.0, 2.0)
(1, 1.0)
(0,)   """