diff --git a/p8/data/aire.dat b/p8/data/aire.dat
new file mode 100644
index 0000000..03f920e
--- /dev/null
+++ b/p8/data/aire.dat
@@ -0,0 +1,8 @@
+80	20
+257	69
+302	79
+181	46
+140	36
+188	49
+44	11
+220	59
diff --git a/p8/data/ar.dat b/p8/data/ar.dat
new file mode 100644
index 0000000..9d9f06d
--- /dev/null
+++ b/p8/data/ar.dat
@@ -0,0 +1,12 @@
+138	44
+50	12
+106	32
+69	21
+86	25
+80	21
+41	6
+63	15
+128	39
+210	74
+156	51
+180	62
diff --git a/p8/data/co2.dat b/p8/data/co2.dat
new file mode 100644
index 0000000..6b7a22f
--- /dev/null
+++ b/p8/data/co2.dat
@@ -0,0 +1,10 @@
+48	10
+53	12
+68	15
+83	21
+109	25
+115	28
+142	35
+168	37
+182	42
+191	45
diff --git a/p8/full_laboratori/Practica num 8-Gamma.pdf b/p8/full_laboratori/Practica num 8-Gamma.pdf
new file mode 100644
index 0000000..265d210
--- /dev/null
+++ b/p8/full_laboratori/Practica num 8-Gamma.pdf
Binary files differ
diff --git a/p8/graphs/generate.bash b/p8/graphs/generate.bash
new file mode 100644
index 0000000..150600d
--- /dev/null
+++ b/p8/graphs/generate.bash
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+mkdir -p ../output
+
+for file in ../data/*; do
+  basename=$(basename $file)
+  basenamewoext="${basename%.dat}"
+  ./graph.gnu $file "../output/$basenamewoext"
+done
diff --git a/p8/graphs/graph.gnu b/p8/graphs/graph.gnu
new file mode 100755
index 0000000..8d20ff7
--- /dev/null
+++ b/p8/graphs/graph.gnu
@@ -0,0 +1,59 @@
+#!/usr/bin/env gnuplot -c
+# == DEFINICIONS ==
+outputfile = ARG2 # Nom de la imatge resultant (sense extensió)
+datafile = ARG1 # Nom del fitxer de dades que es vol usar
+error_sist_b = 2 # Error sistemàtic en
+
+# == CONFIGURACIÓ DE L'OUTPUT PEL LATEX ==
+set terminal cairolatex size 10cm, 7cm
+set output outputfile.'.tex'
+
+# == CONFIGURACIÓ DEL PLOT ==
+set xlabel "$h_1 \\, (\\si{\\milli\\meter})$"
+set ylabel "$h_2 \\, (\\si{\\milli\\meter})$"
+
+# Opcions per la llegenda:
+set key above
+set key spacing 1.5
+
+# == CONFIGURACIÓ DEL FIT ==
+set fit quiet
+
+f(x) = a*x + b # Funció a fitar
+fit f(x) datafile u 1:2 via a, b # Fem el fit de les dades
+
+# Això s'usa per obtenir el valor del coeficient de correlació "r", que estarà
+# guardat a la var. "STATS_correlation"
+stats datafile u 1:2 name "STATS" nooutput
+
+# Funció per obtenir els dígits significatius d'una expressió
+f_sd(n, i) = (int(n) == 0 ? f_sd(n*10, i+1) : (int(n) == 1 ? i+1 : i))
+significant_digits(n) = f_sd(n - 10*int(n/10), 0)
+
+significant_digits_r(n) = (n == 1 ? 0 : significant_digits(1 - n))
+
+error_a = STATS_slope_err
+sd_error_a = significant_digits(error_a)
+error_b = sqrt(STATS_slope_err + error_sist_b)
+sd_error_b = significant_digits(error_b)
+r = STATS_correlation
+sd_r = significant_digits_r(r)
+
+print("=== ".datafile." ===")
+print(sprintf('delta(a) = %.'.sd_error_a.'f, sd=%.0f', error_a, sd_error_a))
+print(sprintf('delta(b) = %.'.sd_error_b.'f, sd=%.0f', error_b, sd_error_b))
+
+# Aquesta funció escriu, a partir dels valors del paràmetres a, b i r,
+# l'equació de la regressió:
+title_f(a, b, r) = sprintf('$h_2(h_1) = %.'.sd_error_a.'f h_1 + (%.'.sd_error_b.'f)$, $r = %.'.sd_r.'f$', a, b, r);
+
+plot datafile u 1:2:(2):(2) t "Dades experimentals" w xyerr, f(x) t title_f(a, b, r)
+
+# == CONFIGURACIÓ DE L'OUTPUT PER SVG ==
+# Això ho uso per generar també una imatge de previsualització que puc carregar
+# a l'ordinador per veure més o menys com a sortit el plot sense haver
+# d'inserir-ho al LaTeX per veure-ho.
+set terminal svg dashed size 600, 600 font "Computer Modern,Tinos,Helvetica,15"
+set output outputfile.'.svg'
+
+replot
diff --git a/p8/informe/p8.pdf b/p8/informe/p8.pdf
new file mode 100644
index 0000000..0dccb01
--- /dev/null
+++ b/p8/informe/p8.pdf
Binary files differ
diff --git a/p8/informe/p8.tex b/p8/informe/p8.tex
new file mode 100644
index 0000000..cf88452
--- /dev/null
+++ b/p8/informe/p8.tex
@@ -0,0 +1,168 @@
+\documentclass[11pt,a4paper]{article}
+\usepackage[utf8x]{inputenc}
+\usepackage[catalan]{babel}
+\usepackage{fancyhdr}
+\usepackage{graphicx}
+\usepackage[labelfont=bf]{caption}
+\usepackage{siunitx}
+\usepackage{geometry}
+\geometry{top=25mm}
+\usepackage{amsmath}
+\usepackage{booktabs}
+\usepackage{chemformula}
+\usepackage{multicol}
+\usepackage{hyperref}
+
+\usepackage{pgfplotstable}
+\pgfplotsset{compat=1.16}
+\pgfplotstableset{
+empty cells with={--}, % replace empty cells with ’--’
+every head row/.style={before row=\toprule,after row=\midrule},
+every last row/.style={after row=\bottomrule}%,
+%every even row/.style={
+%before row={\rowcolor[gray]{0.9}}}, % Add this for stylish tables ;)
+%begin table=\begin{longtable},
+%end table=\end{longtable}
+}
+
+\setlength{\parskip}{1em}
+
+\pagestyle{fancy}
+\fancyhf{}
+\rhead{Adrià Vilanova Martínez}
+\lhead{Pràctica 3}
+\rfoot{\thepage}
+
+%%%% Title %%%%
+\title{\vspace{-2ex}Pràctica 8. Mesura del coeficient $\gamma$ d'un gas\vspace{-2ex}}
+\author{Adrià Vilanova Martínez (T1B)\vspace{-2ex} }
+\date{Tardor 2020}
+
+\begin{document}
+  \maketitle
+
+  \section{Objectiu de la pràctica}
+  L'objectiu de la pràctica és mesurar els coeficients $\gamma := \frac{C_p}{C_v}$ per tres gasos diferents (\ch{Ar}, aire, \ch{CO_2}) i comparar-los amb els resultat teòrics (en el cas de l'argó i l'aire) o de la literatura (en el cas del diòxid de carboni).
+
+  L'experiment a través del qual es determinen els coeficients $\gamma$ es detalla a la guia de pràctiques de Termodinàmica, i en aquest informe s'usen les dades recollides a la sèrie 2.
+
+  \section{Raó de calor específic teòric}
+  $\gamma := \frac{C_p}{C_v}$ s'anomena raó de calor específic, que és la raó entre el calor específic a pressió constant i el calor específic a volum constant.
+
+  Per un gas ideal, degut a la deducció teòrica que es fa a partir de l'experiment de Joule es té la relació $C_p = C_v + R$.\footnote{L'experiment de Joule consisteix en posar dos recipients connectats a través d'un tub inicialment bloquejat a dins d'un calorímetre. Un dels recipients està ple d'un gas i l'altre està buit. Al principi el sistema recipients-calorímetre està en equilibri termodinàmic. S'obre instantàniament la clau i el gas s'expandeix. S'observa que aquesta expansió és adiabàtica ja que el termòmetre del calorímetre no canvia de temperatura.} Aleshores: \[ \gamma = \frac{C_p}{C_v} = \frac{C_v + R}{C_v} = 1 + \frac{R}{C_v} \]
+
+  Segons (Fermi, 1937), a partir d'uns resultats teòrics de la teoria cinètica que encara no s'han explicat a classe de teoria, per un gas monoatòmic tenim $C_v = \frac{3}{2} R$, i per un gas diatòmic $C_v = \frac{5}{2} R$. Aleshores, s'arriba al següent resultat teòric, que és el valor que s'espera trobar experimentalment per l'argó i l'aire respectivament: \[ \gamma = \begin{cases}
+    \frac{5}{3} \text{ per un gas monoatòmic} \\
+    \frac{7}{5} \text{ per un gas diatòmic}
+  \end{cases} \]
+
+  \newpage
+
+  \section{Determinació dels coeficients $\gamma_{\exp}$}
+  Tal com s'explica al guió de la pràctica, si $p_0$ és la pressió atmosfèrica, $p_1$ és la pressió inicial del recipient i $p_2$ és la pressió final del recipient, tenim l'equació \[ \frac{p_1}{p_0} = \left( \frac{p_1}{p_2} \right)^\gamma \]
+
+  Les dades recollides no són les pressions, sinó les diferències d'alçades $h_1, h_2$ respectives de les columnes del manòmetre en U, i es relacionen amb $p_i$ amb el principi fundamental de la hidrostàtica: \[ p_i = p_0 + \rho g h_i \] on $g$ és l'acceleració de la gravetat i $\rho$ és la viscositat de la silicona. Aleshores, substituint aquestes relacions a l'equació inicial i definint $k := \rho g$ s'obté: \[ \frac{p_0 + k h_1}{p_0} = \left( \frac{p_0 + k h_1}{p_0 + k h_2} \right)^\gamma \implies 1 + \frac{k}{p_0} h_1 = \frac{\left( 1 + \frac{k}{p_0} h_1 \right)^\gamma}{\left( 1 + \frac{k}{p_0} h_2 \right)^\gamma} \implies \]
+  \[ \implies \left( 1 + \frac{k}{p_0} h_2 \right)^\gamma = \left( 1 + \frac{k}{p_0} h_1 \right)^{\gamma - 1} \]
+
+  Com les pressions (i consegüent les diferències d'alçada) són molt petites, es pot fer la següent aproximació de Taylor de primer ordre respecte $h_i$: \[ \left( 1 + c \, h_i \right)^\alpha = 1 + \alpha \, c \, h_i + \mathcal{O}(h_i^2) \]
+
+  Aleshores, obtenim finalment: \[ 1 + \gamma \frac{k}{p_0} h_2 = 1 + (\gamma - 1) \frac{k}{p_0} h_1 + \mathcal{O}(h_1^2) \implies \gamma h_2 = (\gamma - 1) h_1 + \mathcal{O}(h_1^2) \implies \]
+  \[ \implies h_2 = \left( 1 - \frac{1}{\gamma} \right) h_1 + \mathcal{O}(h_1^2) \]
+
+  Un cop arribats a aquest punt podem fer la regressió lineal, on tindrem que la pendent de la recta serà $m = 1 - \dfrac{1}{\gamma}$, i per tant $\gamma = \dfrac{1}{1 - m}$.
+
+  \begin{center}
+    \begin{minipage}{\textwidth}
+      \begin{multicols}{3}
+        \begin{center}
+          \pgfplotstabletypeset[
+              sort,
+              sort cmp={int <},
+              sort key=0,
+              columns/0/.style={column name=$h_1 \, (\si{\milli\meter})$},
+              columns/1/.style={column name=$h_2 \, (\si{\milli\meter})$}]
+              {../data/ar.dat}
+          \captionof{table}{Valors obtinguts amb l'argó.}
+        \end{center}
+
+        \columnbreak
+
+        \begin{center}
+          \pgfplotstabletypeset[
+              sort,
+              sort cmp={int <},
+              sort key=0,
+              columns/0/.style={column name=$h_1 \, (\si{\milli\meter})$},
+              columns/1/.style={column name=$h_2 \, (\si{\milli\meter})$}]
+              {../data/aire.dat}
+          \captionof{table}{Valors obtinguts amb l'aire.}
+        \end{center}
+
+        \columnbreak
+
+        \begin{center}
+          \pgfplotstabletypeset[
+              sort,
+              sort cmp={int <},
+              sort key=0,
+              columns/0/.style={column name=$h_1 \, (\si{\milli\meter})$},
+              columns/1/.style={column name=$h_2 \, (\si{\milli\meter})$}]
+              {../data/co2.dat}
+          \captionof{table}{Valors obtinguts amb el diòxid de carboni.}
+        \end{center}
+      \end{multicols}
+    \end{minipage}
+  \end{center}
+
+  La incertesa de totes les mesures és de $\delta(h_i) = \SI{2}{\milli\meter}$.
+
+  \begin{center}
+    \centering
+    \vspace{-2em}
+    \input{../output/ar.tex}
+    \captionof{figure}{Gràfica de les dades experimentals i regressió de l'experiment amb l'argó. $\delta(m) = \SI{0.004}{\milli\meter}$}
+  \end{center}
+
+  \begin{center}
+    \centering
+    \vspace{-2em}
+    \input{../output/aire.tex}
+    \captionof{figure}{Gràfica de les dades experimentals i regressió de l'experiment amb l'aire. $\delta(m) = \SI{0.008}{\milli\meter}$}
+  \end{center}
+
+  \begin{center}
+    \centering
+    \vspace{-2em}
+    \input{../output/co2.tex}
+    \captionof{figure}{Gràfica de les dades experimentals i regressió de l'experiment amb el diòxid de carboni. $\delta(m) = \SI{0.009}{\milli\meter}$}
+  \end{center}
+
+  Per calcular la incertesa en $\gamma$ podem aplicar la propagació d'errors: $\varepsilon(\gamma) = \varepsilon\left(\frac{1}{\gamma}\right) = \varepsilon\left(\frac{1}{1 - \gamma}\right) = \varepsilon(m) \implies \delta(\gamma) = \frac{\varepsilon(\gamma)}{|\gamma|} = \frac{\varepsilon(m)}{|\gamma|} = \frac{\delta(m)}{|m \gamma|} = \delta(m) \left| \frac{1 - m}{m} \right|$
+
+  Aleshores, obtenim els següents valors:
+
+  \begin{center}
+    \begin{tabular}{rll}
+      \hline
+      Gas & $\gamma_{exp}$ & $\delta(\gamma_{exp})$ \\
+      \hline
+      \hline
+      \ch{Ar} & $1.637$ & $0.006$ \\
+      Aire & $1.37$ & $0.02$ \\
+      \ch{CO_2} & $1.31$ & $0.03$ \\
+      \hline
+    \end{tabular}
+  \end{center}
+
+  \section{Conclusió}
+
+  En el cas de l'argó i l'aire, la $\gamma_{exp}$ està dins de 2 vegades l'interval de confiança del valor teòric deduït a la secció 2, així que ambdós valors són compatibles.
+
+  En el cas del diòxid del carboni, (Bhattacharjee) proposa el valor $1.289$ com a raó de calor específic. El valor experimental calculat és de $\gamma_{exp} = 1.31 \pm 0.03$, i com el valor de la taula cau dins de l'interval de confiança, ambdós són compatibles.
+
+  \section{Bibliografia}
+  (Fermi, 1937): Fermi, Enrico. \textit{Thermodynamics}, Prentice-Hall Company, 1937.
+
+  (Bhattacharjee): Bhattacharjee, S. \textit{The Expert System for Thermodynamics} \textless\url{www.thermofluids.net}\textgreater, San Diego State University.
+
+\end{document}
diff --git a/p8/rawdata/LLEGIU PRIMER.txt b/p8/rawdata/LLEGIU PRIMER.txt
new file mode 100644
index 0000000..7cbf420
--- /dev/null
+++ b/p8/rawdata/LLEGIU PRIMER.txt
@@ -0,0 +1,6 @@
+Cada sèrie són mesures d'h1 i h2 pels tres gasos. 
+
+Agafeu un fitxer qualsevol per a analitzar les dades i fer l'informe.
+
+OBSERVACIÓ: Els resultats d'aquesta pràctica depenen de la nostra capacitat per a tenir, dins la campana de vidre, el gas d'interès el més pur possible. Evidentment, l'aire és el que esperem que doni més bé ja que tindriem contaminació d'ell mateix. Pel CO2 i Ar, però, és fàcil que després de cada expansió adiabàtica entri una mica d'aire ambiental a la campana, el que reduiria la puresa del gas. Encara que el CO2 i l'Ar, amb masses moleculars de 44 i 40 g/mol respectivament, siguin més pesants que l'aire, amb una massa molecular d'aproximadament 29 g/mol, a efectes pràctics és difícil mantenir-los 100% purs dins la campana. L'Ar és especialment difícil, i a nivell experimental el que s'acostuma a fer és "purgar" la campana a base de circular Ar en el seu interior durant 5 min per intentar maximitzar-ne la puresa.
+
diff --git a/p8/rawdata/Serie 1.xlsx b/p8/rawdata/Serie 1.xlsx
new file mode 100644
index 0000000..13da971
--- /dev/null
+++ b/p8/rawdata/Serie 1.xlsx
Binary files differ
diff --git a/p8/rawdata/Serie 2.xlsx b/p8/rawdata/Serie 2.xlsx
new file mode 100644
index 0000000..3151236
--- /dev/null
+++ b/p8/rawdata/Serie 2.xlsx
Binary files differ
diff --git a/p8/rawdata/Serie 3.xlsx b/p8/rawdata/Serie 3.xlsx
new file mode 100644
index 0000000..bf654aa
--- /dev/null
+++ b/p8/rawdata/Serie 3.xlsx
Binary files differ
