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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2021, 09:52   #1
bITA666
Форумчанин
 
Аватар для bITA666
 
Регистрация: 22.03.2019
Сообщений: 115
По умолчанию Использование параметров

Код:
using System;
class ChkNum {
// Возвратить значение true, если значение
// параметра х окажется простым числом.
    public bool IsPrime(int x) {
        if (x <= 1) return false;.
        for (int i=2; i <= x/i; i++)
            if((x %i) == 0) return false;
        return true;
    }
}
class ParmDemo {
    static void Main() {
        ChkNum ob = new ChkNum();
        for (int i=2; i < 10; i++)
            if(ob.IsPrime(i)) Console.WriteLine(i + " простое число.");
            else Console.WriteLine(i + " непростое число.");
     }
}
Всем здравствуйте.
У меня к вам вопрос, а именно об условии if (x <= 1) return false; for (int i=2; i <= x/i; i++).
Подскажите пожалуйста если переменная х является переменной и не имеет значение как она может сравниваться?
bITA666 вне форума Ответить с цитированием
Старый 10.06.2021, 11:23   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Цитата:
Сообщение от bITA666 Посмотреть сообщение
если переменная х является переменной и не имеет значение как она может сравниваться?
Если бы я не был слегка интеллегентным человеком, то сказал бы: "Что за БСК?!"
Любая переменная всегда имеет значение. Иногда её действительно используют без предварительного присваивания ей значения (типичная ошибка новичков), но тем не менее значение в ней есть - случайное число. В данном случае x - входной параметр функции, он определён в выражении, вызывающем эту функцию.
IsPrime(0) выдаст False, IsPrime(3) выдаст True .
---------------------------
Попутно появился вопрос:
Код:
       for (int i=2; i <= x/i; i++)
Разве внутри цикла в Си допускается изменение условия выхода из цикла (конечного значения) ? Я Си'ем давно не занимался...

Последний раз редактировалось digitalis; 10.06.2021 в 12:04.
digitalis вне форума Ответить с цитированием
Старый 10.06.2021, 12:18   #3
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Разве внутри цикла в Си допускается изменение условия выхода из цикла (конечного значения) ?
Почему нет? Это ж просто условие, которое проверяется...
ForenLi вне форума Ответить с цитированием
Старый 10.06.2021, 14:36   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

В Дельфи не работает. Там условие выхода д.быть определено до входа в тело цикла. Кажется так. Проверил в Лазарусе, в Дельфи чуть позже.
digitalis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование переданных параметров в слоте второй формы b0006 Qt и кроссплатформенное программирование С/С++ 5 25.03.2017 13:10
Использование полученных параметров. Jony-Jonson PHP 5 20.02.2013 10:27
Использование параметров ячейки во вновь созданной ссылки на данную ячейку offza Microsoft Office Excel 2 20.07.2011 13:07
Использование массивов в качестве параметров в подпрограммах в паскале...проверьте zizu Помощь студентам 1 27.04.2010 22:30
использование функций в качестве параметров других функций mono Помощь студентам 0 20.04.2009 18:25