HTML Diff
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>