Commit f2518138 authored by david's avatar david
Browse files

README.md placé dans un script et sujet écrit dans README.md

parent b9f85403
...@@ -30,7 +30,7 @@ public class Analyzer { ...@@ -30,7 +30,7 @@ public class Analyzer {
BigDecimal x_big = new BigDecimal(x); BigDecimal x_big = new BigDecimal(x);
cost.add(x); cost.add(x);
cumulative_cost.add( (!cumulative_cost.isEmpty()) ? cumulative_cost.get(cumulative_cost.size()-1).add(x_big) : x_big); cumulative_cost.add( (!cumulative_cost.isEmpty()) ? cumulative_cost.get(cumulative_cost.size()-1).add(x_big) : x_big);
BigDecimal x_square = x_big.multiply(x_big); BigDecimal x_square = x_big.multiply(x_big);
cumulative_square = cumulative_square.add(x_square); cumulative_square = cumulative_square.add(x_square);
} }
......
...@@ -28,8 +28,8 @@ public class Main { ...@@ -28,8 +28,8 @@ public class Main {
// Enregistrement du nombre de copies efféctuées par l'opération. // Enregistrement du nombre de copies efféctuées par l'opération.
// S'il y a eu réallocation de mémoire, il a fallu recopier tout le tableau. // S'il y a eu réallocation de mémoire, il a fallu recopier tout le tableau.
copy_analysis.append( (memory_allocation == true)? i: 1); copy_analysis.append( (memory_allocation == true)? i: 1);
// Enregistrement de l'espace mémoire non-utilisé. // Enregistrement de l'espace mémoire non-utilisé.
memory_analysis.append( a.capacity() - a.size() ); memory_analysis.append( a.capacity() - a.size() );
} }
// Affichage de quelques statistiques sur l'expérience. // Affichage de quelques statistiques sur l'expérience.
...@@ -41,6 +41,6 @@ public class Main { ...@@ -41,6 +41,6 @@ public class Main {
// Sauvegarde les données de l'expérience: temps et nombre de copies effectuées par opération. // Sauvegarde les données de l'expérience: temps et nombre de copies effectuées par opération.
time_analysis.save_values("../plots/dynamic_array_time_java.plot"); time_analysis.save_values("../plots/dynamic_array_time_java.plot");
copy_analysis.save_values("../plots/dynamic_array_copy_java.plot"); copy_analysis.save_values("../plots/dynamic_array_copy_java.plot");
memory_analysis.save_values("../plots/dynamic_array_memory_java.plot"); memory_analysis.save_values("../plots/dynamic_array_memory_java.plot");
} }
} }
# Compilation et exécution en C: # Sujet de TP 1
cd C/ Vous travaillerez cette année en binôme. Il ne sera pas possible de changer
de binôme en cours de semestre.
make ## Exercice 1: git
### Clonez le projet sda sur votre compte étudiant
./arraylist_analysis Dans votre terminal, placez vous dans le répertoire où vous souhaitez créer le dossier
`git clone git@depot.lipn.univ-paris13.fr:david/sda.git`
make clean `cd sda`
cd .. ### Vérifiez que vous êtes dans la branche tp1
# Compilation et exécution en C++: `git branch`
cd CPP/ Si n'êtes pas dans la branche tp1, tapez
make `git checkout tp1`
./arraylist_analysis ### Créez votre propre branche
make clean Le nom de votre branche est constitué de vos numéros d'étudiants séparés par un `_`
cd .. `git checkout -b NUMERO1_NUMERO2`
# Compilation et exécution en Java: ### Ajoutez un fichier AUTHORS.md à votre branche
cd Java A la racine du projet, créez un fichier `AUTHORS.md` contenant 2 lignes avec vos noms, prénoms et numéros d'étudiants.
javac * Ajoutez ensuite ce fichier au projet
java Main
cd ..
# Exécution en Python
cd Python
python main.py
cd ..
# Observation des résultats
### Dans le répertoire plots, lisez le contenu du fichier plot_result
cd plots
more plot_result
### puis lancez ce script avec gnuplot
gnuplot plot_result
### Regardez à présent les courbes obtenus dans le répertoire eps/
gv eps/dynamic_array_amortized_time_alpha_2.eps
`git add AUTHORS.md`
`git commit -am "Ajout du fichier AUTHORS.md"`
`git push`
RED='\033[0;31m'
NC='\033[0m' # No Color
# Compilation et exécution en C:
echo "${RED} Compilation du code source en C ${NC}"
cd C/
make
echo "${RED} Exécution des benchmarks en C ${NC}"
./arraylist_analysis
echo "${RED} Nettoyage ${NC}"
make clean
cd ..
# Compilation et exécution en C++:
echo "${RED} Compilation du code source en C++ ${NC}"
cd CPP/
make
echo "${RED} Exécution des benchmarks en C++ ${NC}"
./arraylist_analysis
echo "${RED} Nettoyage ${NC}"
make clean
cd ..
# Compilation et exécution en Java:
echo "${RED} Compilation du code source en Java ${NC}"
cd Java
javac *
echo "${RED} Exécution des benchmarks en Java ${NC}"
java Main
echo "${RED} Nettoyage ${NC}"
rm *.class
cd ..
# Exécution en Python
echo "${RED} Compilation du code source en Python ${NC}"
cd Python
echo "${RED} Exécution des benchmarks en Python ${NC}"
python main.py
cd ..
# Observation des résultats
### Dans le répertoire plots, lisez le contenu du fichier plot_result
cd plots
more plot_result
### puis lancez ce script avec gnuplot
gnuplot plot_result
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment