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 41

66 files
+ 344374
126
Compare changes
  • Side-by-side
  • Inline

Files

+17 −9
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).
* 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.

* Vous obtiendrez la dernière version d’Anaconda sur ce site : https://www.anaconda.com/download/

* Veillez à bien télécharger celle reposant sur Python 3.7 et adaptée à votre environnement (Windows/Mac/Linux, 32/64 bits)
Ce n’est pas un problème si vous avez déjà une version de Python installée, Anaconda viendra en complément et ajoutera d’autres fonctionnalités.

* Télécharger et installer Microsoft Code : https://code.visualstudio.com/download
* 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
+1362 −0

File added.

Preview size limit exceeded, changes collapsed.

TD02/code/Pile.py

deleted100644 → 0
+0 −20
Original line number Diff line number Diff line
class Pile():
    def __init__(self, values = []):
        self.__values = []
        for v in values:
            self.ajoute(v)

    def ajoute(self, v):
        self.__values.append(v)
        return v

    def supprime(self):
        v = self.__values.pop()
        return v

    def affiche(self):
        for v in self.__values:
            print(v)

    def taille(self): 
        return len(self.__values)
 No newline at end of file

TD02/code/load.py

deleted100644 → 0
+0 −12
Original line number Diff line number Diff line
data = []

with open("etudiants.txt") as f:
    keys = None
    for line in f:
        l = [w.strip() for w in line.split(';')]
        if keys is None:
            keys = l
        else:
            data.append({k:v for k, v in zip(keys, l)})

print(data)
 No newline at end of file

TD02/code/selection.py

deleted100644 → 0
+0 −20
Original line number Diff line number Diff line
def selectionSort(l: list = []) -> list:
    """Tri par selection en ligne"""
    for i in range(0, len(l)):
        min = i
        for j in range(i+1, len(l)):
            if(l[j] < l[min]):
                min = j
        tmp = l[i]
        l[i] = l[min]
        l[min] = tmp
    
    return l  

if __name__=="__main__": 
    liste = [54,26,93,17,77,31,44,55,20]
    
    assert(sorted(liste) == selectionSort(liste.copy()))
    assert([] == selectionSort([]))
    assert([1] == selectionSort([1]))
    assert([1, 1] == selectionSort([1, 1]))
 No newline at end of file

TD02/code/test_analyse_simple.py

deleted100644 → 0
+0 −37
Original line number Diff line number Diff line
import time
import random
import matplotlib.pyplot as plt

nvalues = [100, 500, 1500, 2000, 2500, 3000]

timesSorted = []
timesSort = []

for i in nvalues:

    random.seed()
    p = 12**2
    liste = []
    
    for x in range(i): liste.append(random.randint(0, p))

    c = liste.copy()
    a=time.perf_counter()
    triSorted = sorted(c)
    b=time.perf_counter()
    timesSorted.append(b-a)

    c = liste.copy()
    a=time.perf_counter()
    triSort = c
    triSort.sort()
    b=time.perf_counter()
    timesSort.append(b-a)

plt.plot(nvalues, timesSorted, "g-", label="Tri 1")
plt.plot(nvalues, timesSort, "b-", label="Tri 2")
plt.xlabel("Taille du jeu de données")
plt.ylabel("Temps")
plt.legend(loc="upper left")
plt.title("Comparaison des performances des algorithmes de tri")
plt.show()
 No newline at end of file

TD02/code/test_heap.py

deleted100644 → 0
+0 −9
Original line number Diff line number Diff line
import heapq
tas = []

for i in range(5): heapq.heappush(tas, i)

while not len(tas) == 0: 
  print(heapq.heappop(tas), end=" ")

# 0 1 2 3 4
 No newline at end of file

TD02/code/test_lifoqueue.py

deleted100644 → 0
+0 −9
Original line number Diff line number Diff line
import queue
pile = queue.LifoQueue()

for i in range(5): pile.put(i)

while not pile.empty(): 
  print(pile.get(), end=" ")

# 4 3 2 1 0
 No newline at end of file

TD02/code/test_pile.py

deleted100644 → 0
+0 −9
Original line number Diff line number Diff line
from pile import *

p = Pile()

for d in data:
  p.ajoute(d) 
  e = p.supprime()
    
print(e['nom'] + " " + e['prenom']) # Arthaud Nathalie
 No newline at end of file
Original line number Diff line number Diff line
nom;prenom;filiere;note;absences
Dupond;Pierre;MP;19;7
Dupond;Jeanne;MP;19;5
Dupont;Jeanne;MP;19;5
Clavier;Christian;PSI;14;1
Gilles;Eric;PC;16;3
Arthaud;Nathalie;MP;15;0
 No newline at end of file
+896 −0

File added.

Preview size limit exceeded, changes collapsed.

+1025 −0

File added.

Preview size limit exceeded, changes collapsed.