12.Подпрограммы
Предмет исследований
Правила объявления подпрограмм.
Связь формальных и фактических параметров.
Способы передачи фактических параметров в подпрограмму.
Обращение к функциям.
Контрольные вопросы
Что такое подпрограмма? Ее назначение.
Правила объявления функций в программе.
Правила обращения к функции в программе.
Формальные и фактические параметры.
Задание. Создать программу, использующую 2 подпрограммы-функции:
Первая функция должна возвращать наибольший общий делитель NOD двух целых чисел.
Вторая функция должна возвращать наименьшее общее делимое NOK двух целых чисел.
Обе функции в главной программе доложны использоваться с тремя разными целыми числами. Проект – консольное приложение.
Варианты задания
Число 1 – первая с конца пара цифр в номере зачетной книжки.
Число 2 – вторая с конца пара цифр в номере зачетной книжки.
Число 3 – третья с конца пара цифр в номере зачетной книжки.
Пример. Создать программу, использующую 2 подпрограммы-функции:
Первая функция должна возвращать наибольший общий делитель NOD двух целых чисел.
Вторая функция должна возвращать наименьшее общее делимое NOK двух целых чисел.
Обе функции в главной программе доложны использоваться с тремя разными целыми числами, вводимыми с клавиатуры. Проект – консольное приложение.
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class PodProgram
{
// Функция NOD определения наибольшего общего делителя
static int NOD(int x, int y) // Функция NOD
{
if (x != 0)
return NOD((y % x), x); // Рекурсивный вызов
else return y;
}
// Функция NOK определения наименьшего общего делимого
static int NOK(int x, int y) // Функция NOK
{
return (x / NOD(x, y)) * y;
}
// Главная программа
static void Main()
{
int a, b, c;
Console.WriteLine("Введите через Enter 3 целых числа a b c:");
a = Int32.Parse(Console.ReadLine());
b = Int32.Parse(Console.ReadLine());
c = Int32.Parse(Console.ReadLine());
Console.WriteLine();
Console.WriteLine("Наименьшие общие делимые NOK двух целых чисел");
Console.WriteLine("NOK {0}, {1} = {2}", a, b, NOK(a, b));
Console.WriteLine("NOK {0}, {1} = {2}", a, c, NOK(a, c));
Console.WriteLine("NOK {0}, {1} = {2}", b, c, NOK(b, c));
Console.WriteLine();
Console.WriteLine("Наибольшие общие делители NOD двух целых чисел");
Console.WriteLine("NOD {0}, {1} = {2}", a, b, NOD(a, b));
Console.WriteLine("NOD {0}, {1} = {2}", a, c, NOD(a, c));
Console.WriteLine("NOD {0}, {1} = {2}", b, c, NOD(b, c));
Console.WriteLine("Нажмите любую клавишу");
Console.ReadKey();
}
}
Консоль перед закрытием программы:
- 1.Иср Visual c#. Первые программы
- 1.1.Основы иср
- 2.Численные типы в языке c#
- 3.Строковые и символьные типы в языке c#
- 3.1.Взаимные преобразования
- 3.2.Стандартное форматирование
- 3.3.Нестандартное форматирование
- 4.Тип DateTime в языке c#
- 4.1.Консольное приложение
- 4.2.Windows Forms приложение
- 5.Линейные структуры
- 6.Ветвления
- 6.1.Ветвление if; else
- 6.2.Выбор switch; case
- 7.Циклы с неизвестным числом повторений
- 7.1.Цикл while
- 7.2.Цикл do…while
- 8.Циклы с заданным числом повторений
- 8.1.Команда Goto и метки
- 8.2.Цикл for
- 8.3.Вложенные циклы for
- 8.4.Команда break
- 8.5.Команда continue
- 9.Логические операции
- 10.Массивы
- 10.1.Одномерный массив
- 10.2.Матрица
- 11.Файлы
- 12.Подпрограммы
- 13.Операции со строками
- 13.1.Сравнение строк
- 13.2.Объединение строк
- 13.3.Разбиение строк
- 14.Исключения
- 14.1.Операции с вещественными числами
- 14.2.Операции с целыми числами
- 15.Работы с классами и объектами
- 16.Использование командной строки при запуске программ
- 17.Отладка и тестирование в с#
- 18.Многопоточные приложения
- 19.Работа с папками
- 20.Многооконные приложения
- 21.Компонент ProgressBar
- 22.Списки
- 23.Таблицы
- 24.Графика. Рисуем функции
- 24.1.Текст и график функции в форме
- 24.2.Компонент Chart
- 25.Графика, рисование фигур
- 26.Графика, растровые изображения
- 27.Графика, анимация
- 28.Приложения
- 28.1.Класс System.Math
- 28.2.Класс System.Console
- 28.3.Класс System.String