-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexercise.tex
75 lines (55 loc) · 2.5 KB
/
exercise.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
%% ***************************************************************
% Copyright (C) Luca Parolari 2020
%
%
% You should have received a copy of the license with this file,
% if not write to the author and request the license.
% !TeX spellcheck = it_IT
%\documentclass[addpoints,12pt]{exam}
\documentclass[addpoints,12pt,answers]{exam}
%% ***************************************************************
% PACKAGES
% ========
\input{packages.tex}
%% ***************************************************************
% RESOURCES
% =========
\input{prooftree.tex}
\input{macros.tex}
\input{config.tex}
%% ***************************************************************
% CONFIGURATIONS
% ==============
\input{exerciseconfig.tex}
% ****************************************************************
% DOCUMENT
% ========
\author{Luca Parolari\footnote{\href{mailto:[email protected]}{[email protected]}}}
\begin{document}
\title{Classe Criterio Binario}
\date{AS 2019-2020}
\maketitle
Leggere attentamente la consegna e svolgere l'esercizio.
\section{Consegna}
Progettare una classe \texttt{CriterioBinario} che viene costruita prendendo in input una stringa che rappresenta un operatore binario e un numero, ad esempio \texttt{CriterioBinario c("<", 3)}. Se l'operatore binario non è supportato, il criterio risulta sempre falso.
La classe \texttt{CriterioBinario} mette a disposizione un metodo \texttt{vale(numero)} che restituisce vero o falso se il criterio memorizzato vale sul numero dato in input.
Ad esempio:
\begin{lstlisting}[style=mycpp]
CriterioBinario criterio("==", 5);
criterio.vale(7) // restituisce false perche 7 != 5
criterio.vale(5) // restituisce true perche 5 == 5
\end{lstlisting}
Scrivere poi due funzione esterne alla classe CriterioBinario, dove
\begin{itemize}
\item la prima prende in input un criterio ed un array di numeri e verifica se il criterio vale su tutti i numeri dell'array
\item la seconda prende in input un criterio ed un array di numeri e verifica se il criterio vale su almeno un numero dell'array
\end{itemize}
Testare le funzioni realizzate nel main, ad esempio
\begin{lstlisting}[style=mycpp]
int arrayInteri[] = {1,2,3,4,5,6,7,8};
CriterioBinario minoreDi3("<", 3);
tuttiVeri(minoreDi3, arrayInteri) // restituisce false
unoVero(minoreDi3, arrayInteri) // restituisce vero
\end{lstlisting}
\end{document}