1 added
1 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Объявление функций и методов</a></li>
1
<ul><li><a>Объявление функций и методов</a></li>
2
<li><a>Задача № 1</a></li>
2
<li><a>Задача № 1</a></li>
3
<li><a>Задача № 2</a></li>
3
<li><a>Задача № 2</a></li>
4
<li><a>Задача № 3</a></li>
4
<li><a>Задача № 3</a></li>
5
<li><a>Задача № 4</a></li>
5
<li><a>Задача № 4</a></li>
6
</ul><p>Основная функция любой задачи - применение на практике полученных знаний. Постоянная практика важна и нужна, как и обсуждение результатов. В этой статье вы найдете решения некоторых задач на языке программирования<a>Си шарп</a>. Будут представлены задачи разной степени сложности, что позволит:</p>
6
</ul><p>Основная функция любой задачи - применение на практике полученных знаний. Постоянная практика важна и нужна, как и обсуждение результатов. В этой статье вы найдете решения некоторых задач на языке программирования<a>Си шарп</a>. Будут представлены задачи разной степени сложности, что позволит:</p>
7
<p>- повторить операторы и базовые<strong>условные конструкции</strong><a>языка программирования</a>Си шарп;</p>
7
<p>- повторить операторы и базовые<strong>условные конструкции</strong><a>языка программирования</a>Си шарп;</p>
8
<p>- вспомнить такие вещи, как целочисленная арифметика, работа с функциями, ввод и вывод данных, логические операции.</p>
8
<p>- вспомнить такие вещи, как целочисленная арифметика, работа с функциями, ввод и вывод данных, логические операции.</p>
9
<a></a><p>Помните, что каждая из задач может иметь и нестандартное решение, а научить находить такие решения - это тоже важная педагогическая функция практических заданий.</p>
9
<a></a><p>Помните, что каждая из задач может иметь и нестандартное решение, а научить находить такие решения - это тоже важная педагогическая функция практических заданий.</p>
10
<p>Но прежде чем приводить практические примеры, немного вспомним теорию и расскажем о том, как объявляются<strong>методы и функции</strong>в языке программирования Си шарп.</p>
10
<p>Но прежде чем приводить практические примеры, немного вспомним теорию и расскажем о том, как объявляются<strong>методы и функции</strong>в языке программирования Си шарп.</p>
11
<h2><strong>О</strong><strong>бъявление функций и методов</strong></h2>
11
<h2><strong>О</strong><strong>бъявление функций и методов</strong></h2>
12
<p>Методы (функции<a>в Си шарп</a>также называют методами) позволяют инкапсулировать поведение и функциональность в объекты, создаваемые в коде. Объявление осуществляется с помощью<strong>сигнатуры</strong>, состоящей из ряда составных частей:</p>
12
<p>Методы (функции<a>в Си шарп</a>также называют методами) позволяют инкапсулировать поведение и функциональность в объекты, создаваемые в коде. Объявление осуществляется с помощью<strong>сигнатуры</strong>, состоящей из ряда составных частей:</p>
13
<ul><li><strong>модификатор доступа</strong> - показывает, откуда метод можно вызвать;</li>
13
<ul><li><strong>модификатор доступа</strong> - показывает, откуда метод можно вызвать;</li>
14
<li><strong>тип возвращаемого значения.</strong>Необходим для указания соответствующего типа возвращаемого значения. Если значение не возвращается, используется тип<em>void;</em></li>
14
<li><strong>тип возвращаемого значения.</strong>Необходим для указания соответствующего типа возвращаемого значения. Если значение не возвращается, используется тип<em>void;</em></li>
15
<li><strong>идентификатор (имени) метода</strong> - идентификатор нужен, чтобы иметь возможность вызывать функцию в коде;</li>
15
<li><strong>идентификатор (имени) метода</strong> - идентификатор нужен, чтобы иметь возможность вызывать функцию в коде;</li>
16
<li><strong>список аргументов (параметров).</strong>Это список параметров, разделяемых запятыми и передаваемых в метод.</li>
16
<li><strong>список аргументов (параметров).</strong>Это список параметров, разделяемых запятыми и передаваемых в метод.</li>
17
</ul><p>Также перечислим<strong>модификаторы доступа</strong>:</p>
17
</ul><p>Также перечислим<strong>модификаторы доступа</strong>:</p>
18
<ul><li><em>private</em> - доступ возможен только из содержащего эту функцию класса либо структуры;</li>
18
<ul><li><em>private</em> - доступ возможен только из содержащего эту функцию класса либо структуры;</li>
19
<li><em>public </em>- доступ разрешен из любого фрагмента кода в приложении;</li>
19
<li><em>public </em>- доступ разрешен из любого фрагмента кода в приложении;</li>
20
<li><em>protected </em>- доступ есть как из содержащего класса, так и из производных классов;</li>
20
<li><em>protected </em>- доступ есть как из содержащего класса, так и из производных классов;</li>
21
<li><em>internal </em>- доступ разрешен из файлов в рамках одной сборки;</li>
21
<li><em>internal </em>- доступ разрешен из файлов в рамках одной сборки;</li>
22
<li><em>static </em>- обозначает, что метод - это статический член класса, а не член экземпляра конкретного объекта.</li>
22
<li><em>static </em>- обозначает, что метод - это статический член класса, а не член экземпляра конкретного объекта.</li>
23
</ul><p>Пример функции в языке программирования Си шарп:</p>
23
</ul><p>Пример функции в языке программирования Си шарп:</p>
24
<p>Что здесь что:</p>
24
<p>Что здесь что:</p>
25
-
<p>Чтобы вернуть из метода значение, используют ��ператор<em>return</em>. Если же вместо возвращаемого типа будет ключевое слово <em>void</em>, то вообще не вернется никакое значение.</p>
25
+
<p>Чтобы вернуть из метода значение, используют оператор<em>return</em>. Если же вместо возвращаемого типа будет ключевое слово <em>void</em>, то вообще не вернется никакое значение.</p>
26
<p>Вы можете определить функцию в том же самом классе, что и Main() либо же определить ее в каком-нибудь другом классе. Также следует понимать, что все<a>методы в Си шарп</a>являются статическими, а это значит, что разработчик может вызывать их, не создавая класс объекта.</p>
26
<p>Вы можете определить функцию в том же самом классе, что и Main() либо же определить ее в каком-нибудь другом классе. Также следует понимать, что все<a>методы в Си шарп</a>являются статическими, а это значит, что разработчик может вызывать их, не создавая класс объекта.</p>
27
<p>И еще один момент: чтобы функции, которые описываются в одном классе, сделать видимыми в другом классе, их надо описать посредством модификатора доступа <em>public</em>. Если же они вызываются в том же самом классе, то модификатор доступа <em>public </em>не нужен.</p>
27
<p>И еще один момент: чтобы функции, которые описываются в одном классе, сделать видимыми в другом классе, их надо описать посредством модификатора доступа <em>public</em>. Если же они вызываются в том же самом классе, то модификатор доступа <em>public </em>не нужен.</p>
28
<h2>Задача № 1</h2>
28
<h2>Задача № 1</h2>
29
<p>Необходимо написать консольную программу, где пользователь будет вводить с клавиатуры 2 числа. Числа будут сравниваться с последующим выводом в консоль результата этого сравнения (равны ли значения, а если нет, то какое число больше/меньше).</p>
29
<p>Необходимо написать консольную программу, где пользователь будет вводить с клавиатуры 2 числа. Числа будут сравниваться с последующим выводом в консоль результата этого сравнения (равны ли значения, а если нет, то какое число больше/меньше).</p>
30
<a></a><h2>Задача № 2</h2>
30
<a></a><h2>Задача № 2</h2>
31
<p>Теперь несколько усложним ситуацию в создаваемой программе. Пусть пользователь имеет возможность ввести одно число, причем:</p>
31
<p>Теперь несколько усложним ситуацию в создаваемой программе. Пусть пользователь имеет возможность ввести одно число, причем:</p>
32
<p>- когда значение больше пяти и одновременно с этим меньше десяти, выводится один текст с соответствующим сообщением;</p>
32
<p>- когда значение больше пяти и одновременно с этим меньше десяти, выводится один текст с соответствующим сообщением;</p>
33
<p>- когда значение не попадает в указанный диапазон, программа его не узнает, выводя другой текст с соответствующим сообщением. Таким образом, алгоритм решения будет несколько отличаться:</p>
33
<p>- когда значение не попадает в указанный диапазон, программа его не узнает, выводя другой текст с соответствующим сообщением. Таким образом, алгоритм решения будет несколько отличаться:</p>
34
<h2>Задача № 3</h2>
34
<h2>Задача № 3</h2>
35
<p>Далее решим задачу сложнее. Представим банк, в котором алгоритм начисления процента по вкладу зависит от суммы вклада. На вход будет подаваться число (сумма вклада). При значении меньше 100, будет начислено 5 %, если значение находится в диапазоне от ста до двухсот - 7 %, если больше - 10 %. Отработав, программа должна вывести общую сумму с начисленными процентами. Для решения этой задачи воспользуемся выражением Convert.ToDouble(Console.ReadLine()), которое нам пригодится для получения вводимого с клавиатуры числа.</p>
35
<p>Далее решим задачу сложнее. Представим банк, в котором алгоритм начисления процента по вкладу зависит от суммы вклада. На вход будет подаваться число (сумма вклада). При значении меньше 100, будет начислено 5 %, если значение находится в диапазоне от ста до двухсот - 7 %, если больше - 10 %. Отработав, программа должна вывести общую сумму с начисленными процентами. Для решения этой задачи воспользуемся выражением Convert.ToDouble(Console.ReadLine()), которое нам пригодится для получения вводимого с клавиатуры числа.</p>
36
<h2>Задача № 4</h2>
36
<h2>Задача № 4</h2>
37
<p>Напоследок еще немного усложним алгоритм, расширив условия предыдущего примера. Пусть банк регулярно начисляет по всем вкладам не только положенные по договору проценты, но еще и бонусы. И пусть, к примеру, банк решит выполнить доначисление по всем клиентским вкладам в размере 15 единиц без учета суммы. Поменяем программу, отображенную выше, чтобы к итоговой сумме были добавлены еще и бонусы.</p>
37
<p>Напоследок еще немного усложним алгоритм, расширив условия предыдущего примера. Пусть банк регулярно начисляет по всем вкладам не только положенные по договору проценты, но еще и бонусы. И пусть, к примеру, банк решит выполнить доначисление по всем клиентским вкладам в размере 15 единиц без учета суммы. Поменяем программу, отображенную выше, чтобы к итоговой сумме были добавлены еще и бонусы.</p>
38
<p>Как видите, все получилось!</p>
38
<p>Как видите, все получилось!</p>
39
<a></a><p><em>Текст написан по материалам следующих источников:</em></p>
39
<a></a><p><em>Текст написан по материалам следующих источников:</em></p>
40
<ul><li><em>https://labs-org.ru/c-sharp5/;</em></li>
40
<ul><li><em>https://labs-org.ru/c-sharp5/;</em></li>
41
<li><em>http://mycsharp.ru/post/13/2013_05_21_funkcii_v_si-sharp_operator_return.html;</em></li>
41
<li><em>http://mycsharp.ru/post/13/2013_05_21_funkcii_v_si-sharp_operator_return.html;</em></li>
42
<li><em>https://metanit.com/sharp/practice/1.1.php.</em></li>
42
<li><em>https://metanit.com/sharp/practice/1.1.php.</em></li>
43
</ul>
43
</ul>