From d3fbbcaf0e8c9519638318a94bab0abb5655c2f1 Mon Sep 17 00:00:00 2001 From: ivan-igorevich Date: Fri, 20 Aug 2021 18:26:33 +0300 Subject: [PATCH] minor hyperref fix --- formatting.tex | 8 +++++++- main.tex | 4 +--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/formatting.tex b/formatting.tex index 3262d1b..37e6280 100644 --- a/formatting.tex +++ b/formatting.tex @@ -44,9 +44,15 @@ \usepackage{layout} \usepackage{titlesec} \newcommand{\sectionbreak}{\clearpage} +\usepackage{hyperref} +\hypersetup{ + colorlinks=false, %set true if you want colored links + linktoc=all %set to all if you want both sections and subsections linked +} + \addto{\captionsrussian}{\renewcommand{\figurename}{}} -\usepackage{minted} +\usepackage[cache=false]{minted} \usepackage[lmargin=1.5cm,rmargin=2.5cm,tmargin=2.5cm,bmargin=2.5cm,paperheight=240mm,paperwidth=170mm]{geometry} %\setlength{\marginparwidth}{0pt} diff --git a/main.tex b/main.tex index 1eb9d7d..6f2128d 100644 --- a/main.tex +++ b/main.tex @@ -1044,7 +1044,7 @@ $ На основе этого кода можно описывать любые виды меню, описать поведение программ, которые должны опираться на получаемые извне команды или описывать конечные автоматы. \section{Функции} Функция - это такая обособленная часть кода, которую можно выполнять любое количество раз. У функций обязательно в таком порядке должны быть описаны: тип возвращаемого значения, название, аргументы и так называемое тело, то есть собственно исполняемый код. Рассмотрим более детально функцию \code{int main (int argc, char *argv[])}: \code{int} - это \textit{тип возвращаемого значения}, то есть на том месте, откуда будет вызвана эта функция, в результате её работы по выполнении оператора \code{return;}, появится некое целое число. Возвращаемые значения могут быть любых типов. В случае же когда функция не должна возвращать результат своей работы, или никакого возвращаемого результата не предполагается, указывается ключевое слово \code{void} (англ. - пустота). То есть на месте вызова функции в результате её выполнения ничего не появится. Оператор \code{return;} обязателен для не-void функций, а в \code{void} функциях может присутствовать или нет, но никогда не содержит возвращаемого значения. \code{main} - это \textit{название функции}. Функция именно с таким названием, написанным с маленькой буквы, всегда является точкой входа в программу (\hyperref[text:main]{\ref{text:main}}). Операционная система ищет именно эту функцию, когда получает команду на выполнение программы. -\frm{Названия функций в рамках одной программы не должны повторяться и не должны начинаться с цифр или спецсимволов, также, как и названия переменных (\hyperref[text:main]{\ref{text:naming}}) никаких других ограничений на название функций не накладывается.} +\frm{Названия функций в рамках одной программы не должны повторяться и не должны начинаться с цифр или спецсимволов, также, как и названия переменных (\hyperref[text:naming]{\ref{text:naming}}) никаких других ограничений на название функций не накладывается.} Конструкция в круглых скобках \code{(int argc, char *argv[])} - это \textit{аргументы функции}. Аргументы функции - это такие переменные, которые создаются при вызове функции и существуют только внутри неё. С их помощью можно передать в функцию какие-то параметры и исходные данные для работы. Аргументы пишутся в круглых скобках сразу после названия функции. В случае если функция не принимает аргументов необходимо поставить после названия пустые круглые скобки. Весь код, содержащийся в фигурных скобках после аргументов функции называется \textit{телом функции}. Это те операторы и команды, которые будут последовательно выполнены при вызове функции. В теле функции мы можем \textbf{вызывать} другие функции, но никогда не можем создавать в теле функции другие функции. Никаких других ограничений на написание тела функции язык не накладывает. \begin{verbatim} ТипВозвращаемогоЗначения Имя (СписокАргументов) @@ -1068,7 +1068,6 @@ int main (int argc, const char* argv[]) { \end{minted} - Функции принято разделять на проверяющие, считающие и выводящие, и каждая из вышеописанных функций не должна нести дополнительной нагрузки. То есть, функция не должна знать откуда в программе появились её аргументы, и где будет использован результат её работы. Для примера опишем функцию суммирующую два числа. в качестве аргументов она будет принимать целые числа и возвращать целочисленный результат. Обратите внимание что функция не знает откуда взялись эти числа, мы можем их считать с консоли, можем задать в виде констант или получить в результате работы какой то другой функции. Внутри функции main мы вызываем нашу функцию sum суммирующую два числа и передаем в качестве аргументов эти числа. @@ -1078,7 +1077,6 @@ int main (int argc, const char* argv[]) { - int sum(int x, int y) { int result = x + y; return result;