Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2013, 23:43   #1
22hope22
Пользователь
 
Регистрация: 31.03.2013
Сообщений: 52
По умолчанию пояснение программы

Можете пояснить программу, а то я в инете нашла, а как её защищать не знаю!

Код:
Console.WriteLine("Введите число:");
          int x = Convert.ToInt32(Console.ReadLine());
          bool flag = true;
          if (x == 0)
          {
            Console.WriteLine("x = 0");
            flag = false;
          }
          for (int i = 2; i <= Math.Sqrt(x); i++)
          {
            if (x % i == 0)
            {
             Console.WriteLine("False");
             flag = false;
             break;
            }
          }
          if (flag) Console.WriteLine("True");



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 02.04.2013 в 00:34.
22hope22 вне форума Ответить с цитированием
Старый 02.04.2013, 00:33   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

это программа, которая печатает True, если введённое число простое и False - если число не простое.

только она не совсем корректная.
во-первых, не учитывается, что может быть введено отрицательное числов.
во-вторых, если я правильно понимаю, то единицу данная программа посчитает простым числом. Это неверно. Первое простое число - это 2 (двойка).

p.s. а ещё мне не понятно, зачем искать такую простую программу в интернете и как Вы её собираетесь защищать, если Вы не понимаете, что эта программа делает?!

p.p.s. вопрос риторический.. ответа, к сожалению, не требуется..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.04.2013, 21:14   #3
22hope22
Пользователь
 
Регистрация: 31.03.2013
Сообщений: 52
По умолчанию

если всё так плохо может поможете? Просто язык совсем не знаю, делаю только вторую лабу! и вот чё то пока никак
22hope22 вне форума Ответить с цитированием
Старый 03.04.2013, 09:13   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
если всё так плохо может поможете?
я на 100% уверен, что даже человек, который НИ разу не видел язык программирования C# может сделать предположения о том, что, например,
делает строка кода:
Цитата:
Код:
Console.WriteLine("Введите число:");
вот, у Вас есть какие-то предположения на этот счёт?!

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

я в рамках дружеской взаимопомощи прокомментирую несколько строчек из данной "программы"..
Код:
          Console.WriteLine("Введите число:");
          int x = Convert.ToInt32(Console.ReadLine());  // объявляем переменную целого типа x и присваиваем ей введённое с клавиатуры значение,
                                                                         // сконвертировав введённую строку текста в целое 32-х битное число

          bool flag = true;  // объявляем логическую переменную с именем flag и присваиваем ей значение логической Истины          
          if (x == 0)  //если введённое число X равно нулю          
         {
            Console.WriteLine("x = 0");
            flag = false;
          }
          for (int i = 2; i <= Math.Sqrt(x); i++) // начать цикл по целой переменной i от 2 до корня квадратного из x (включительно), 
                                                              //       переменную цикла наращивать каждую итерацию на единицу
          {
            if (x % i == 0) // если остаток целочисленного деления переменной x на i равно нулю 
                                                               //  (т.е. другими словами - переменная x кратна i
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.04.2013, 19:15   #5
22hope22
Пользователь
 
Регистрация: 31.03.2013
Сообщений: 52
По умолчанию

мне не понятно последнее условие if (flag). Почему в условии только переменная а не равенство
22hope22 вне форума Ответить с цитированием
Старый 03.04.2013, 19:42   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

if (логическое выражение) ...
flag - булева переменная, которая уже является логическим выражением, имеющим значение true или false.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пояснение кода aspen Общие вопросы C/C++ 0 22.10.2012 13:24
Пояснение к программе. user100 Фриланс 3 18.05.2011 22:52
пояснение строк Katte Общие вопросы C/C++ 3 02.06.2010 20:18
Ошибка в ходе программы, требуется пояснение... kotzzz Мультимедиа в Delphi 2 14.04.2010 14:31
пояснение программы sllh_111 Помощь студентам 0 19.02.2010 19:44