ПРИМЕР ОРГАНИЗАЦИИ ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЫ СТУДЕНТОВ В ОБРАЗОВАТЕЛЬНОЙ СРЕДЕ КАФЕДРЫ - Студенческий научный форум

VI Международная студенческая научная конференция Студенческий научный форум - 2014

ПРИМЕР ОРГАНИЗАЦИИ ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЫ СТУДЕНТОВ В ОБРАЗОВАТЕЛЬНОЙ СРЕДЕ КАФЕДРЫ

Шарнова В.А. 1
1Федеральное Государственное Бюджетное Образовательное Учреждение Высшего Профессионального Образования «Кубанский Государственный Технологический Университет»
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Математика и программирование тесно связаны - мало кто будет оспаривать данный факт. В основе программирования естественным образом заложены математические законы. Программирование - это способ реализации математики, причем главный, приоритетный способ для ЭВМ.

С помощью программирования можно перевести рутинный процесс ручной обработки чисел в быструю и понятную программу. Тем более что зачастую необходимо без особых вычислений, особенно связных с перебором промежуточных значений, получить соответствующий результат. Рассмотрим указанное на примере решения задачи дискретной математики на теорию чисел. Симбиоз программирования и математики ярко проявляется во время анализа программы определения является ли введённое число простым или составным. Часто необходимо практически сразу узнать - простое или составное число, если, конечно, это не связано с изучением самого алгоритма получения ответа на поставленный вопрос с точки зрения математики или программирования.

Принцип работы программы предельно прост.

Для начала, пользователю необходимо ввести любое целое число с целью проверки является ли оно простым или составным.

Помимо введенного числа в программе уже задано несколько переменных, а именно делитель k=1, счетчик k1=0.

Для проверки числа формируется цикл с предусловием «пока делитель k меньше либо равен введенному числу n».

В цикле проверяется условие: «если остаток от деления введенного числа n на k равен 0, то счетчик k1 увеличивается на единицу» - найден делитель, т.е. возможно, что число составное. Так же на единицу увеличивается и делитель  k.

Таким образом последовательно перебираются все числа, меньшие заданного. 

Если после выхода из цикла счетчик k1=2, значит у числа всего 2 делителя: единица и само число. Следовательно, это число является простым, соответствующее сообщение программа выведет на экран.

Если же после выхода из цикла значение счетчика окажется больше 2,  программа выведет сообщение о том, что число является составным. Для проверки правильности работы программы и для удобства пользователя при условии, что число не является простым, программа предусматривает вывод всех делителей. Выполняется это следующим образом.

Снова формируется цикл с предусловием, такой же, что и вначале программы, внутри которого еще один цикл проверки остатка от деления введенного числа на делитель k (в случае, если число составное k снова присваивается значение единицы).

Внутри вложенного цикла формируется массив, размерность которого задается количеством найденных делителей числа, и заполняется значениями этих делителей.

Массив выводится на экран вместе с сообщением о том, что число является составным.

Результат работы программы можно увидеть на скриншотах (рисунки 1 и 2).

 

Рисунок 1 - Введено составное число, определён список делителей.

 

Рисунок 2 - Введено простое число.

Код программы:

class Program

    {

        static void Main(string[] args)

        {

            Console.WriteLine("Введите число для проверки: ");

            int n = int.Parse(Console.ReadLine());

            int k = 1;

            int k1=0;

            while (k <= n)

            {

                if (n % k == 0)  k1++;

                k++;

            }

            if (k1 == 2) Console.WriteLine("Число простое");

            else

            {   

                Console.WriteLine("Число составное");

                Console.Write("Список делителей: ");

                int[] mas = new int[k1];

                k = 1;

                k1 = 0;

                while(k<=n)

                {

                    if (n%k==0)

                    {

                        mas [k1]= k;

                        k1++;

                    }

                    k++;

                   

                }

                for (int i = 0; i < k1; i++)

                    Console.Write("{0}; ", mas[i]);

               }

            Console.ReadLine();

            Console.ReadKey();

        }

    }

Данная программа может быть использована как учебное пособие по математике, а так же по программированию. Программа может быть модифицирована - необязательно проверять весь диапазон от 1 до самого числа - достаточно до целой части от половины введённого значения, можно сразу же исключить деление проверяемого числа на чётные делители и т.д. Включение программы в перечень программных средств информационной образовательной среды кафедры позволит обучающимся оценить программу, предложить своё видение модификации её. Итогом такой работы будет включение всех желающих в студенческую научную исследовательскую работу.

Просмотров работы: 1056