mirror of
https://github.com/kuhyx/praca_magisterska.git
synced 2026-07-04 13:23:05 +02:00
74 lines
1.6 KiB
TeX
74 lines
1.6 KiB
TeX
\clearpage % Rozdziały zaczynamy od nowej strony.
|
|
\section{Code listings}
|
|
|
|
\lipsum[10]
|
|
|
|
% Fragment kodu źródłowego programu
|
|
% \addmargin pozwala na wcięcie kodu od lewej (tu: 8mm).
|
|
% Wcięcie służy do tego, aby numery linii nie wystawały poza lewy margines.
|
|
% Druga liczba oznacza wcięcie od prawej.
|
|
\begin{addmargin}[8mm]{0mm}
|
|
\begin{lstlisting}[
|
|
language=HTML,
|
|
numbers=left,
|
|
firstnumber=1,
|
|
caption={\emph{Hello world} w HTML},
|
|
aboveskip=10pt
|
|
]
|
|
<html>
|
|
<head>
|
|
<title>Hello world!</title>
|
|
</head>
|
|
<body>
|
|
Hello world!
|
|
</body>
|
|
</html>
|
|
\end{lstlisting}
|
|
\end{addmargin}
|
|
|
|
\lipsum[11]
|
|
|
|
% Dla dłuższych numerów linii potrzebne jest większe wcięcie.
|
|
\begin{addmargin}[12mm]{0mm}
|
|
\begin{lstlisting}[
|
|
language=C++,
|
|
numbers=left,
|
|
firstnumber=147,
|
|
caption={Generowanie sekwencji Collatza w języku C++},
|
|
aboveskip=10pt
|
|
]
|
|
class Collatz {
|
|
private:
|
|
unsigned current_val_;
|
|
void update_val() {
|
|
if( current_val_ % 2 == 0 )
|
|
current_val_ /= 2;
|
|
else
|
|
current_val_ = current_val_ * 3 + 1;
|
|
}
|
|
|
|
public:
|
|
explicit Collatz(unsigned initial_value) :
|
|
current_val_(initial_value) {}
|
|
void print_sequence() {
|
|
unsigned i = 1;
|
|
while( current_val_ > 1 ) {
|
|
std::cout
|
|
<< "val " << i << " = " << current_val_
|
|
<< std::endl;
|
|
update_val(); ++i;
|
|
}
|
|
}
|
|
};
|
|
|
|
int main() {
|
|
// prints Collatz seqence, starting from 194375
|
|
Collatz seq(194375);
|
|
seq.print_sequence();
|
|
return 0;
|
|
}
|
|
\end{lstlisting}
|
|
\end{addmargin}
|
|
|
|
\lipsum[12]
|