Modello LaTeX per esercizi per casa (consegna di esercizi svolti)
Un modello LaTeX gratuito per esercizi per casa con intestazione per nome e corso e ambienti già pronti per problemi e soluzioni, così chi corregge legge tutto con facilità.

Apri l'editor Torna ai modelli
Codice LaTeX
% ============================================================================
% Compito: problemi e soluzioni svolte
%
% Avvio rapido
% 1. Inserisci il tuo nome, numero di matricola, corso, docente, numero del compito e data nel blocco «Dati del compito» qui sotto.
% 2. Scrivi ogni problema e la sua soluzione così:
% \begin{problem}[10 punti]
% Testo del problema.
% \begin{enumerate}
% \item Primo punto.
% \item Secondo punto.
% \end{enumerate}
% \end{problem}
% \begin{solution}
% La tua risposta.
% \end{solution}
% 3. Sostituisci i problemi di esempio con i tuoi e compila. Usa align* per i passaggi di calcolo e \qedhere per mettere il quadratino finale sull'ultima riga.
% ============================================================================
\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[italian]{babel}
\usepackage[a4paper,margin=2.5cm,headheight=15pt]{geometry}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{enumitem}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{listings}
\usepackage{tikz}
% ---------------------------------------------------------------------------
% Dati del compito
% ---------------------------------------------------------------------------
\newcommand{\studentname}{Giulia Bianchi}
\newcommand{\studentid}{20240123}
\newcommand{\coursename}{Algebra e Matematica Discreta}
\newcommand{\instructor}{Prof.\ Marco Ferrari}
\newcommand{\assignmentnumber}{4}
\newcommand{\duedate}{\today}
% ---------------------------------------------------------------------------
% Testi (traducili se scrivi in un'altra lingua)
% ---------------------------------------------------------------------------
\newcommand{\assignmentword}{Compito}
\newcommand{\namelabel}{Nome}
\newcommand{\idlabel}{Matricola}
\newcommand{\courselabel}{Corso}
\newcommand{\instructorlabel}{Docente}
\newcommand{\duelabel}{Data di consegna}
\newcommand{\problemname}{Problema}
\newcommand{\solutionname}{Soluzione}
\newcommand{\areaname}{Area}
\newcommand{\collaborationtext}{Dichiarazione di collaborazione: ho svolto questo compito da solo/a o insieme a:}
\newcommand{\footertext}{Pagina \thepage\ di \pageref{LastPage}}
% ---------------------------------------------------------------------------
% Problemi e soluzioni
% ---------------------------------------------------------------------------
\theoremstyle{definition}
\newtheorem{problem}{\problemname}
% Una soluzione è un ambiente proof con un proprio titolo e il quadratino finale
\newenvironment{solution}{\begin{proof}[\solutionname]}{\end{proof}}
\setlength{\emergencystretch}{2em}
\setlist[enumerate,1]{label=(\alph*), leftmargin=2em, itemsep=2pt, topsep=4pt}
% Scorciatoie per gli insiemi numerici
\newcommand{\N}{\mathbb{N}}
\newcommand{\R}{\mathbb{R}}
% Listati di codice
\lstset{basicstyle=\ttfamily\small, frame=single, numbers=left,
numberstyle=\tiny\color{gray}, xleftmargin=2em, language=Python}
% ---------------------------------------------------------------------------
% Intestazione e piè di pagina
% ---------------------------------------------------------------------------
\pagestyle{fancy}
\fancyhf{}
\lhead{\studentname\ (\studentid)}
\rhead{\coursename\ --- \assignmentword~\assignmentnumber}
\cfoot{\footertext}
\renewcommand{\headrulewidth}{0.4pt}
% ---------------------------------------------------------------------------
% Documento
% ---------------------------------------------------------------------------
\begin{document}
\begin{center}
{\Large\bfseries\coursename}\\[4pt]
{\large\assignmentword~\assignmentnumber}
\end{center}
\noindent
\begin{tabularx}{\textwidth}{@{}l>{\raggedright\arraybackslash}X@{\hspace{1.5em}}l>{\raggedright\arraybackslash}X@{}}
\textbf{\namelabel:} & \studentname & \textbf{\courselabel:} & \coursename \\
\textbf{\idlabel:} & \studentid & \textbf{\instructorlabel:} & \instructor \\
\textbf{\duelabel:} & \duedate & &
\end{tabularx}
\medskip\noindent
\textit{\collaborationtext}\par\smallskip\noindent\rule{0.6\textwidth}{0.4pt}
% ---------------------------------------------------------------------------
\begin{problem}[10 punti]
Sia $A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$.
\begin{enumerate}
\item Trova gli autovalori e gli autovettori di $A$.
\item Diagonalizza $A$ e calcola $A^{5}$.
\end{enumerate}
\end{problem}
\begin{solution}
\begin{enumerate}
\item Il polinomio caratteristico è
$\det(A-\lambda I) = (2-\lambda)^{2}-1 = (\lambda-1)(\lambda-3)$, quindi gli autovalori sono
$\lambda_{1}=3$ e $\lambda_{2}=1$. Risolvendo $(A-\lambda I)v=0$ si ottengono gli autovettori
$v_{1}=\begin{pmatrix}1\\1\end{pmatrix}$ e
$v_{2}=\begin{pmatrix}1\\-1\end{pmatrix}$.
\item Con $P=\begin{pmatrix}1&1\\1&-1\end{pmatrix}$ e
$D=\operatorname{diag}(3,1)$ vale $A=PDP^{-1}$, dove
$P^{-1}=\tfrac12\begin{pmatrix}1&1\\1&-1\end{pmatrix}$. Quindi
\begin{align*}
A^{5} &= P D^{5} P^{-1}
= \frac12\begin{pmatrix}1&1\\1&-1\end{pmatrix}
\begin{pmatrix}243&0\\0&1\end{pmatrix}
\begin{pmatrix}1&1\\1&-1\end{pmatrix} \\
&= \frac12\begin{pmatrix}244&242\\242&244\end{pmatrix}
= \begin{pmatrix}122&121\\121&122\end{pmatrix}.
\end{align*}
\end{enumerate}
\end{solution}
% ---------------------------------------------------------------------------
\begin{problem}[8 punti]
Sia $S_{n}=\sum_{k=1}^{n} k\cdot k!$.
\begin{enumerate}
\item Calcola $S_{n}$ per $n=1,\dots,5$ e congettura una formula chiusa.
\item Dimostra la tua formula per induzione su $n$.
\end{enumerate}
\end{problem}
\begin{solution}
\begin{enumerate}
\item I primi valori sono riportati nella tabella e suggeriscono $S_{n}=(n+1)!-1$.
\begin{center}
\begin{tabular}{@{}cccccc@{}}
\toprule
$n$ & 1 & 2 & 3 & 4 & 5 \\
\midrule
$S_{n}$ & 1 & 5 & 23 & 119 & 719 \\
$(n+1)!-1$ & 1 & 5 & 23 & 119 & 719 \\
\bottomrule
\end{tabular}
\end{center}
\item \emph{Passo base.} Per $n=1$: $S_{1}=1\cdot 1!=1=2!-1$.
\emph{Passo induttivo.} Supponiamo che $S_{n}=(n+1)!-1$. Allora
\begin{align*}
S_{n+1} &= S_{n} + (n+1)\,(n+1)! \\
&= (n+1)! - 1 + (n+1)\,(n+1)! \\
&= (n+1)!\,\bigl(1 + (n+1)\bigr) - 1 \\
&= (n+2)! - 1. \qedhere
\end{align*}
\end{enumerate}
\end{solution}
% ---------------------------------------------------------------------------
\begin{problem}[8 punti]
Sia $R$ la regione compresa tra le curve $y=x$ e $y=x^{2}$ per $0\le x\le 1$.
\begin{enumerate}
\item Disegna $R$ e calcolane l'area.
\item Calcola il volume del solido che si ottiene facendo ruotare $R$ attorno all'asse $x$.
\end{enumerate}
\end{problem}
\begin{solution}
\begin{enumerate}
\item La regione è rappresentata qui sotto. In $[0,1]$ vale $x\ge x^{2}$, quindi
\[
\text{\areaname} = \int_{0}^{1}\bigl(x-x^{2}\bigr)\,dx
= \Bigl[\frac{x^{2}}{2}-\frac{x^{3}}{3}\Bigr]_{0}^{1}
= \frac12-\frac13 = \frac16 .
\]
\begin{center}
\begin{tikzpicture}[scale=3.4]
\fill[blue!15] (0,0) -- plot[domain=0:1,samples=30] (\x,{\x})
-- plot[domain=1:0,samples=30] (\x,{\x*\x}) -- cycle;
\draw[->] (-0.1,0) -- (1.2,0) node[right] {$x$};
\draw[->] (0,-0.1) -- (0,1.2) node[above] {$y$};
\draw[thick,blue!70!black] (0,0) -- (1,1);
\node[blue!70!black,above left] at (0.62,0.62) {$y=x$};
\draw[thick,red!70!black,domain=0:1.1,samples=40] plot (\x,{\x*\x})
node[right] {$y=x^{2}$};
\node at (0.7,0.58) {$R$};
\draw (1,0.03) -- (1,-0.03) node[below] {$1$};
\end{tikzpicture}
\end{center}
\item Con il metodo delle corone circolari,
\[
V = \pi\int_{0}^{1}\bigl(x^{2}-x^{4}\bigr)\,dx
= \pi\Bigl(\frac13-\frac15\Bigr) = \frac{2\pi}{15}. \qedhere
\]
\end{enumerate}
\end{solution}
% ---------------------------------------------------------------------------
\begin{problem}[6 punti]
L'algoritmo di Euclide calcola il massimo comune divisore di due interi.
\begin{enumerate}
\item Applica l'algoritmo ad $a=1071$ e $b=462$ e annota ogni passaggio.
\item Implementalo e indicane il costo computazionale in tempo.
\end{enumerate}
\end{problem}
\begin{solution}
\begin{enumerate}
\item Ogni passaggio sostituisce $(a,b)$ con $(b,\ a \bmod b)$:
\begin{align*}
1071 &= 2\cdot 462 + 147, \\
462 &= 3\cdot 147 + 21, \\
147 &= 7\cdot 21 + 0 .
\end{align*}
L'ultimo resto non nullo è $21$, quindi $\gcd(1071,462)=21$.
\item Un'implementazione diretta:
\begin{lstlisting}
def gcd(a, b):
while b != 0:
a, b = b, a % b # (a, b) -> (b, a mod b)
return a
\end{lstlisting}
Ogni due iterazioni il maggiore dei due argomenti si riduce almeno della metà, quindi il costo è $O(\log\min(a,b))$.
\end{enumerate}
\end{solution}
\end{document}