Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Страница 1 из 212»
Модератор форума: Peter, DEMBEL 
Форум NeoBook » Всё о программе NeoBook » Сценарии и скриптовые языки в Neobook » IF (Условие) на NeoBook
IF (Условие) на NeoBook
СергейДата: Ср, 05 Мая 2010, 14:23 | Сообщение # 1
Необукер
IF это условный оператор.
Определение: "конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения."
Что же он делает?!
"Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие." По простому Разветвляет программу на два направления
Рассмотрим пример:
Создаем новый проект, кидаем на СТРАНИЦУ(рабочий стол программы) два объекта TextEntry. Первому объекту назначаем переменную [ima], для второго-[vozrast]. И кидаем на форму кнопку.

Этот пример будет проверять на ввод имени и возраста пользователя, и выполнения дальнейшего от результата ввода выполнение программы.
Теперь открываем вкладку "Команды" в объекте PushButton (Кнопка) и пишем первое условие
перед этим хочу процитировать из хелпа очень важные строки:
Справочник Команд -> Управление -> If Условия
-----------------------------------------
Синтаксис:
If "[параметр1]" "[оператор]" "[параметр2]"
где:
[параметр1]
Первый элемент, участвующий в операции сравнения. Может содержать текст, числа, математическое выражение, переменные, и т.д.
[оператор]
Оператор сравнения может быть одним из ниже перечисленных:
= Первый элемент, участвующий в сравнении, равен второму.
< Первый элемент, участвующий в сравнении, меньше второго.
> Первый элемент, участвующий в сравнении, больше второго.
<> Первый элемент, участвующий в сравнении, не равен второму.
<= Первый элемент, участвующий в сравнении, меньше или равен второму.
>= Первый элемент, участвующий в сравнении, больше или равен второму.

[параметр2]
Второй элемент, участвующий в операции сравнения. Может содержать текст, числа, математические выражения, переменные и т.д.
-----------------------------------------
Первое что нам надо узнать, ввел ли пользователь свое имя, т.е. надо проверить переменную на пустоту
Создаем простое условие(почему простое узнаете позже):
Code
.Проверяем переменную [ima] на пустоту
If "[ima]" "=" ""
.Если переменная [ima] пустая, то выводим сообщение о необходимости ввести имя
              AlertBox "[PubTitle]" "Введите ваше имя"
Else
.если перемененная содержит имя, то выводим приветствие
              AlertBox "[PubTitle]" "Здравствуйте [ima]!"
EndIf

Ну вот имя мы узнали, теперь тоже самое проделаем с возрастом
Code
.Проверяем переменную [vozrast] на пустоту
If "[vozrast]" "=" ""
.Если переменная [vozrast] пустая, то выводим сообщение о необходимости ввести возраст
              AlertBox "[PubTitle]" "Введите ваш возраст"
Else
.если перемененная содержит возраст, то выводим сообщение
              AlertBox "[PubTitle]" "Здравствуйте [ima]!| ваш возраст [vozrast]лет"
EndIf

И так мы тестируем проект:
Запускаем и сразу нажимаем кнопку "ОК", Нам программа ответит сообщением "Введите ваше имя" потом появится и второе "Введите ваш возраст"

Нда, согласитесь, не очень удобно :(
Теперь давайте заполним все поля и нажмем кнопку "ОК"
Программа выведет сообщение "Здравствуйте Вася!"

после закрытия приветствия, выскакивает второе...
хмм, что же делать?!..
Вот тут на помощь приходит команда для сложных сравнений IfEx из хелпа:
Справочник Команд -> Управление -> IfEx Условия
-----------------------------------------
Синтаксис:
IfEx "[выражение]"
где:
[выражение]
Исследуемое выражение. В общем случае выражение состоит из двух сравниваемых элементов, разделенных оператором сравнения. Например:
"[операторы]"
Сравниваемые элементы могут содержать текст, числа, математические выражения, переменные и т.д. Оператор сравнения может быть одним из ниже перечисленных:
= Первый элемент, участвующий в сравнении, равен второму.
< Первый элемент, участвующий в сравнении, меньше второго.
> Первый элемент, участвующий в сравнении, больше второго.
<> Первый элемент, участвующий в сравнении, не равен второму.
<= Первый элемент, участвующий в сравнении, меньше или равен второму.
>= Первый элемент, участвующий в сравнении, больше или равен второму.

-----------------------------------------
Очень удобная команда, в ней можно сделать несколько проверок, вот ей мы и воспользуемся, добавлю еще один момент. Если в условии есть несколько вырожений то они разделяются логическими операторами "AND" и "OR" (И и ИЛИ)
итак изменим наш код
Code
.проверяем обе переменные на пустоту
IfEx "[ima]=[#34][#34] OR [vozrast]=[#34][#34]"
.если хоть одна переменная пустая выводим сообщение
              AlertBox "[PubTitle]" "Заполните поля"
Else
.если все поля заполнены выводим приветствие
              AlertBox "[PubTitle]" "Здравствуйте [ima]!| ваш возраст [vozrast]лет"
EndIf
тестируем проект...
Ну теперь все нормально, выводится одно сообщение, если поле не заполнено. И одно сообщение если поля заполнены.
Если развивать проект дальше, то с помощью IfEx можно сделать например проверку на возрастную категорию и отправку пользователя на соответствующую страницу. Разобьем пользователей на три возрастных категорий A) до 18 лет, B) 18-30 лет, C) от 30 лет
Подправим предыдущий код:
Code
.проверяем обе переменные на пустоту
IfEx "[ima]=[#34][#34] OR [vozrast]=[#34][#34]"
.если хоть одна переменная пустая выводим сообщение
              AlertBox "[PubTitle]" "Заполните поля"
Else
.если все поля заполнены определяем возрастную категорию
              IfEx "[vozrast]<18"
.Категория A
                AlertBox "[PubTitle]" "Здравствуйте [ima]!| ваш возраст [vozrast]лет|Категория [b]A[/b]"
                GotoPage "kategoria_A"
              EndIf
              IfEx "[vozrast]>18 AND [vozrast]<31"
.Категория B
                AlertBox "[PubTitle]" "Здравствуйте [ima]!| ваш возраст [vozrast]лет|Категория [b]B[/b]"
                GotoPage "kategoria_B"
              EndIf
              IfEx "[vozrast]>30"
.Категория C
                AlertBox "[PubTitle]" "Здравствуйте [ima]!| ваш возраст [vozrast]лет|Категория [b]C[/b]"
                GotoPage "kategoria_C"
              EndIf
EndIf
обратите внимание в примере одно условие лежит внутри другого
таким образом строятся программы по заданному кодером сценарию.
Ветвей у программ может быть множество, и развитие программы будет идти строго от результата сравнения заданным кодером.
На этом все, но урок будет дополнятся и исправляться, ищем ошибки и неточности, мы будем исправлять или дополнять
Следующий урок будет Циклы
Прикрепления: 6520718.jpg(20Kb) · 2636362.jpg(25Kb) · 7237048.jpg(28Kb) · if.zip(3Kb)


Сообщение отредактировано
Сергей - Вт, 23 Августа 2011, 20:02
 
СообщениеIF это условный оператор.
Определение: "конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения."
Что же он делает?!
"Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие." По простому Разветвляет программу на два направления
Рассмотрим пример:
Создаем новый проект, кидаем на СТРАНИЦУ(рабочий стол программы) два объекта TextEntry. Первому объекту назначаем переменную [ima], для второго-[vozrast]. И кидаем на форму кнопку.

Этот пример будет проверять на ввод имени и возраста пользователя, и выполнения дальнейшего от результата ввода выполнение программы.
Теперь открываем вкладку "Команды" в объекте PushButton (Кнопка) и пишем первое условие
перед этим хочу процитировать из хелпа очень важные строки:
Справочник Команд -> Управление -> If Условия
-----------------------------------------
Синтаксис:
If "[параметр1]" "[оператор]" "[параметр2]"
где:
[параметр1]
Первый элемент, участвующий в операции сравнения. Может содержать текст, числа, математическое выражение, переменные, и т.д.
[оператор]
Оператор сравнения может быть одним из ниже перечисленных:
= Первый элемент, участвующий в сравнении, равен второму.
< Первый элемент, участвующий в сравнении, меньше второго.
> Первый элемент, участвующий в сравнении, больше второго.
<> Первый элемент, участвующий в сравнении, не равен второму.
<= Первый элемент, участвующий в сравнении, меньше или равен второму.
>= Первый элемент, участвующий в сравнении, больше или равен второму.

[параметр2]
Второй элемент, участвующий в операции сравнения. Может содержать текст, числа, математические выражения, переменные и т.д.
-----------------------------------------
Первое что нам надо узнать, ввел ли пользователь свое имя, т.е. надо проверить переменную на пустоту
Создаем простое условие(почему простое узнаете позже):
Code
.Проверяем переменную [ima] на пустоту
If "[ima]" "=" ""
.Если переменная [ima] пустая, то выводим сообщение о необходимости ввести имя
              AlertBox "[PubTitle]" "Введите ваше имя"
Else
.если перемененная содержит имя, то выводим приветствие
              AlertBox "[PubTitle]" "Здравствуйте [ima]!"
EndIf

Ну вот имя мы узнали, теперь тоже самое проделаем с возрастом
Code
.Проверяем переменную [vozrast] на пустоту
If "[vozrast]" "=" ""
.Если переменная [vozrast] пустая, то выводим сообщение о необходимости ввести возраст
              AlertBox "[PubTitle]" "Введите ваш возраст"
Else
.если перемененная содержит возраст, то выводим сообщение
              AlertBox "[PubTitle]" "Здравствуйте [ima]!| ваш возраст [vozrast]лет"
EndIf

И так мы тестируем проект:
Запускаем и сразу нажимаем кнопку "ОК", Нам программа ответит сообщением "Введите ваше имя" потом появится и второе "Введите ваш возраст"

Нда, согласитесь, не очень удобно :(
Теперь давайте заполним все поля и нажмем кнопку "ОК"
Программа выведет сообщение "Здравствуйте Вася!"

после закрытия приветствия, выскакивает второе...
хмм, что же делать?!..
Вот тут на помощь приходит команда для сложных сравнений IfEx из хелпа:
Справочник Команд -> Управление -> IfEx Условия
-----------------------------------------
Синтаксис:
IfEx "[выражение]"
где:
[выражение]
Исследуемое выражение. В общем случае выражение состоит из двух сравниваемых элементов, разделенных оператором сравнения. Например:
"[операторы]"
Сравниваемые элементы могут содержать текст, числа, математические выражения, переменные и т.д. Оператор сравнения может быть одним из ниже перечисленных:
= Первый элемент, участвующий в сравнении, равен второму.
< Первый элемент, участвующий в сравнении, меньше второго.
> Первый элемент, участвующий в сравнении, больше второго.
<> Первый элемент, участвующий в сравнении, не равен второму.
<= Первый элемент, участвующий в сравнении, меньше или равен второму.
>= Первый элемент, участвующий в сравнении, больше или равен второму.

-----------------------------------------
Очень удобная команда, в ней можно сделать несколько проверок, вот ей мы и воспользуемся, добавлю еще один момент. Если в условии есть несколько вырожений то они разделяются логическими операторами "AND" и "OR" (И и ИЛИ)
итак изменим наш код
Code
.проверяем обе переменные на пустоту
IfEx "[ima]=[#34][#34] OR [vozrast]=[#34][#34]"
.если хоть одна переменная пустая выводим сообщение
              AlertBox "[PubTitle]" "Заполните поля"
Else
.если все поля заполнены выводим приветствие
              AlertBox "[PubTitle]" "Здравствуйте [ima]!| ваш возраст [vozrast]лет"
EndIf
тестируем проект...
Ну теперь все нормально, выводится одно сообщение, если поле не заполнено. И одно сообщение если поля заполнены.
Если развивать проект дальше, то с помощью IfEx можно сделать например проверку на возрастную категорию и отправку пользователя на соответствующую страницу. Разобьем пользователей на три возрастных категорий A) до 18 лет, B) 18-30 лет, C) от 30 лет
Подправим предыдущий код:
Code
.проверяем обе переменные на пустоту
IfEx "[ima]=[#34][#34] OR [vozrast]=[#34][#34]"
.если хоть одна переменная пустая выводим сообщение
              AlertBox "[PubTitle]" "Заполните поля"
Else
.если все поля заполнены определяем возрастную категорию
              IfEx "[vozrast]<18"
.Категория A
                AlertBox "[PubTitle]" "Здравствуйте [ima]!| ваш возраст [vozrast]лет|Категория [b]A[/b]"
                GotoPage "kategoria_A"
              EndIf
              IfEx "[vozrast]>18 AND [vozrast]<31"
.Категория B
                AlertBox "[PubTitle]" "Здравствуйте [ima]!| ваш возраст [vozrast]лет|Категория [b]B[/b]"
                GotoPage "kategoria_B"
              EndIf
              IfEx "[vozrast]>30"
.Категория C
                AlertBox "[PubTitle]" "Здравствуйте [ima]!| ваш возраст [vozrast]лет|Категория [b]C[/b]"
                GotoPage "kategoria_C"
              EndIf
EndIf
обратите внимание в примере одно условие лежит внутри другого
таким образом строятся программы по заданному кодером сценарию.
Ветвей у программ может быть множество, и развитие программы будет идти строго от результата сравнения заданным кодером.
На этом все, но урок будет дополнятся и исправляться, ищем ошибки и неточности, мы будем исправлять или дополнять
Следующий урок будет Циклы

Автор - Сергей
Дата добавления - 05 Мая 2010 в 14:23
vugerДата: Вс, 07 Августа 2011, 10:09 | Сообщение # 2
Любопытный
Круто! Больше ниче не могу сказать, вот так и надо учить новичков, все доступно! Благодарности автору!
 
СообщениеКруто! Больше ниче не могу сказать, вот так и надо учить новичков, все доступно! Благодарности автору!

Автор - vuger
Дата добавления - 07 Августа 2011 в 10:09
ВадимДата: Вс, 07 Августа 2011, 16:54 | Сообщение # 3
Генератор идей
vuger, посмотрите еще статью "Как читать и писать код" у меня в подписи. Делал специально для тех, кто начинает изучение NeoBook.

С уважением, Вадим
Win7x32, NB5.8.7, NeoBookDBPro1.6a, FF48, IE11
Мои материалы для начинающих необукеров
 
Сообщениеvuger, посмотрите еще статью "Как читать и писать код" у меня в подписи. Делал специально для тех, кто начинает изучение NeoBook.

Автор - Вадим
Дата добавления - 07 Августа 2011 в 16:54
AlienДата: Вс, 07 Августа 2011, 17:08 | Сообщение # 4
Quote (Вадим)
vuger, посмотрите еще статью "Как читать и писать код" у меня в подписи. Делал специально для тех, кто начинает изучение NeoBook.

Кстати поддерживаю, очень толково все написано. thumbs_up
 
Сообщение
Quote (Вадим)
vuger, посмотрите еще статью "Как читать и писать код" у меня в подписи. Делал специально для тех, кто начинает изучение NeoBook.

Кстати поддерживаю, очень толково все написано. thumbs_up

Автор - Alien
Дата добавления - 07 Августа 2011 в 17:08
mishemДата: Пн, 08 Августа 2011, 02:58 | Сообщение # 5
Эксперт форума
Quote (Сергей)
Определение: "конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения."

Всю жизнь меня эти определения напрягали. Еще более непонятно становится. :D
То ли
Quote (Сергей)
Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие.

:)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Сергей)
Определение: "конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения."

Всю жизнь меня эти определения напрягали. Еще более непонятно становится. :D
То ли
Quote (Сергей)
Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие.

:)

Автор - mishem
Дата добавления - 08 Августа 2011 в 02:58
СергейДата: Пн, 08 Августа 2011, 08:56 | Сообщение # 6
Необукер
 
Сообщение

Автор - Сергей
Дата добавления - 08 Августа 2011 в 08:56
vugerДата: Чт, 11 Августа 2011, 16:24 | Сообщение # 7
Любопытный
 
Сообщение

Автор - vuger
Дата добавления - 11 Августа 2011 в 16:24
bodunovaДата: Пт, 27 Января 2012, 17:14 | Сообщение # 8
Новичок
Сергей,
Сергей,

Все понятно..:) Все здорово..:) вот только не могу понять.. что ж лично меня так раздражает этот.. AlertBox..
Ну совсем какой-то навязчиво-не эстетичный../ как "гав"/.. объект..:) лично моему визуальному восприятию - он мешает..:) сорри..
:)
 
СообщениеСергей,
Сергей,

Все понятно..:) Все здорово..:) вот только не могу понять.. что ж лично меня так раздражает этот.. AlertBox..
Ну совсем какой-то навязчиво-не эстетичный../ как "гав"/.. объект..:) лично моему визуальному восприятию - он мешает..:) сорри..
:)

Автор - bodunova
Дата добавления - 27 Января 2012 в 17:14
PeterДата: Пт, 27 Января 2012, 17:40 | Сообщение # 9
Админ NeoBook
Quote (bodunova)
меня так раздражает этот.. AlertBox..
Ну совсем какой-то навязчиво-не эстетичный.

Гражданка bodunova, "чувство прекрасного" у всех людей разное, и, например, меня необушный AlertBox не раздражает вовсе, а рздражают (просто доводят до тошноты) другие вещи, например, интерфейс Win7.
Необушный же AlertBox стандартный, виндовский.
Когда освоите NB получше, то научитесь создавать свои AlertBox-ы (это несложно), и раздражение уйдет.
В данном же случае, это всего-лишь пример-пояснение, и не следует так сильно переживать по этому поводу.
:)

Кстати, Сергей, более не объявится на этом ресурсе, и не сможет вам ответить.
;)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (bodunova)
меня так раздражает этот.. AlertBox..
Ну совсем какой-то навязчиво-не эстетичный.

Гражданка bodunova, "чувство прекрасного" у всех людей разное, и, например, меня необушный AlertBox не раздражает вовсе, а рздражают (просто доводят до тошноты) другие вещи, например, интерфейс Win7.
Необушный же AlertBox стандартный, виндовский.
Когда освоите NB получше, то научитесь создавать свои AlertBox-ы (это несложно), и раздражение уйдет.
В данном же случае, это всего-лишь пример-пояснение, и не следует так сильно переживать по этому поводу.
:)

Кстати, Сергей, более не объявится на этом ресурсе, и не сможет вам ответить.
;)

Автор - Peter
Дата добавления - 27 Января 2012 в 17:40
mishemДата: Пт, 22 Февраля 2013, 03:21 | Сообщение # 10
Эксперт форума
Гражданин администратор, можно почистить тему?


По теме. Не могу не поделится своими соображениями, и может быть кто то опровергнет мои выводы.

Практически везде встречаю примерно такой код
Код
If "[Vars]" "<>" ""
  If "[File]" "<>" ""
       Могут следовать еще какие нибудь если, а после выполняется код.
  EndIf
EndIf

Ладно если код в пару строк, а если 50-100? Ведь НБ ж обрабатывает эти строки и в том случае если услови верно.

Не лучше ли определится в последовательности выполнения и писать примерно так.

Код

If "[Vars]" "=" ""
   Return
EndIf
If "[File]" "=" ""
    Return
EndIf
А после выполняется код.


Если какая то переменная окажется пустой, то НБ дальше читать код не будет.

Если же дальше может присутствовать какой либо код который нужно выполнить независимо от значений заданных переменных, то можно воспользоваться командой GotoLine.

Код

If "[Vars]" "=" ""
   GotoLine"Строка или метка с которой нужно продолжить чтение кода"
EndIf
If "[File]" "=" ""
   GotoLine"Строка или метка с которой нужно продолжить чтение кода"
EndIf
Код
Код
Код
.....
:Строка или метка  
А после выполняется код.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеГражданин администратор, можно почистить тему?


По теме. Не могу не поделится своими соображениями, и может быть кто то опровергнет мои выводы.

Практически везде встречаю примерно такой код
Код
If "[Vars]" "<>" ""
  If "[File]" "<>" ""
       Могут следовать еще какие нибудь если, а после выполняется код.
  EndIf
EndIf

Ладно если код в пару строк, а если 50-100? Ведь НБ ж обрабатывает эти строки и в том случае если услови верно.

Не лучше ли определится в последовательности выполнения и писать примерно так.

Код

If "[Vars]" "=" ""
   Return
EndIf
If "[File]" "=" ""
    Return
EndIf
А после выполняется код.


Если какая то переменная окажется пустой, то НБ дальше читать код не будет.

Если же дальше может присутствовать какой либо код который нужно выполнить независимо от значений заданных переменных, то можно воспользоваться командой GotoLine.

Код

If "[Vars]" "=" ""
   GotoLine"Строка или метка с которой нужно продолжить чтение кода"
EndIf
If "[File]" "=" ""
   GotoLine"Строка или метка с которой нужно продолжить чтение кода"
EndIf
Код
Код
Код
.....
:Строка или метка  
А после выполняется код.

Автор - mishem
Дата добавления - 22 Февраля 2013 в 03:21
PeterДата: Сб, 23 Февраля 2013, 04:26 | Сообщение # 11
Админ NeoBook
Цитата (mishem)
Ведь НБ ж обрабатывает эти строки и в том случае если услови верно.

Цитата (mishem)
Не лучше ли

В обоих случаях (если условие выполняется) NB обрабатывать будет все последующие строки до тех пор, пока условие будет выполнятьмя, и остановит скрипт в случае несоблюдения условия.
Во втором же варианте интерпретатору потребуется обработать строк даже больше, чем в первом (за счет повторяющейся строки Return).
;)
Единственное преимущество, которое дает второй вариант это - возможность не запутаться во вложенных IF..ENDIF.

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


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
Ведь НБ ж обрабатывает эти строки и в том случае если услови верно.

Цитата (mishem)
Не лучше ли

В обоих случаях (если условие выполняется) NB обрабатывать будет все последующие строки до тех пор, пока условие будет выполнятьмя, и остановит скрипт в случае несоблюдения условия.
Во втором же варианте интерпретатору потребуется обработать строк даже больше, чем в первом (за счет повторяющейся строки Return).
;)
Единственное преимущество, которое дает второй вариант это - возможность не запутаться во вложенных IF..ENDIF.

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

Автор - Peter
Дата добавления - 23 Февраля 2013 в 04:26
mishemДата: Сб, 23 Февраля 2013, 04:38 | Сообщение # 12
Эксперт форума
Цитата (Peter)
В втором же варианте интерпретатору потребуется обработать строк даже больше, чем в первом (за счет строки Return).

А так?
Код
IfEx "[Vars]=[#34][#34] or [File]=[#34][#34]"
Return
Else

EndIf


Return не дает бессмысленной прогонке кода если условие верно. Если же оно не верно, тогда код выполняется. По факту придется обработать только одну лишнюю строку, вместо не одного десятка.

Цитата (Peter)
"паразитных" строк (операций), коей и является, в данном случае, Return.

Почему она паразитная?
Разве редко бывает что решил открыть файл и передумал? Ретурн не даст дальше прогнать код если переменная пустая. А так, пустая она, или не пустая код все равно прогоняется.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
В втором же варианте интерпретатору потребуется обработать строк даже больше, чем в первом (за счет строки Return).

А так?
Код
IfEx "[Vars]=[#34][#34] or [File]=[#34][#34]"
Return
Else

EndIf


Return не дает бессмысленной прогонке кода если условие верно. Если же оно не верно, тогда код выполняется. По факту придется обработать только одну лишнюю строку, вместо не одного десятка.

Цитата (Peter)
"паразитных" строк (операций), коей и является, в данном случае, Return.

Почему она паразитная?
Разве редко бывает что решил открыть файл и передумал? Ретурн не даст дальше прогнать код если переменная пустая. А так, пустая она, или не пустая код все равно прогоняется.

Автор - mishem
Дата добавления - 23 Февраля 2013 в 04:38
PeterДата: Сб, 23 Февраля 2013, 16:20 | Сообщение # 13
Админ NeoBook
Цитата (mishem)
А так?

А тут хромает логика, причем дважды.
Во-первых:

Цитата (mishem)
а если 50-100?

Во-вторых, в первый раз код шел последовательно от проверки одного условия до провеки следующего, т.е. каждое последующее IF..END зависело от предыдущего, в новом же варианте условие выполняется при совпадении (НЕ совпадении) любой переменной.
;)

Цитата (mishem)
Почему она паразитная?

"Паразитная" именно в указанном варианте, а не вообще.

mishem, оптимальность кода вещь, если так можно сказать, творческая, и каждый сам должен научиться понимать как будет оптимальней в каждом конкретном случае.
Здесь должна срабатывать "линейная логика" (способность последовательно мыслить), и не овладев ею, с программированием лучше распрощаться.

Добавлено (23 Февраля 2013, 16:20)
---------------------------------------------


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
А так?

А тут хромает логика, причем дважды.
Во-первых:

Цитата (mishem)
а если 50-100?

Во-вторых, в первый раз код шел последовательно от проверки одного условия до провеки следующего, т.е. каждое последующее IF..END зависело от предыдущего, в новом же варианте условие выполняется при совпадении (НЕ совпадении) любой переменной.
;)

Цитата (mishem)
Почему она паразитная?

"Паразитная" именно в указанном варианте, а не вообще.

mishem, оптимальность кода вещь, если так можно сказать, творческая, и каждый сам должен научиться понимать как будет оптимальней в каждом конкретном случае.
Здесь должна срабатывать "линейная логика" (способность последовательно мыслить), и не овладев ею, с программированием лучше распрощаться.

Добавлено (23 Февраля 2013, 16:20)
---------------------------------------------

Автор - Peter
Дата добавления - 23 Февраля 2013 в 16:20
mishemДата: Вс, 24 Февраля 2013, 13:38 | Сообщение # 14
Эксперт форума
Все с вами ясно. Как всегда, каждый останется при своем мнении. :)
По сути
Цитата (mishem)
может быть кто то опровергнет мои выводы

у тебя это пока не получилось.
Цитата (Peter)
я не раз встречал рассуждения о том, что применение Exit якобы является дурным тоном,

Если все будут говорить сахар, у меня во рту слаще не станет.
Я вижу своими глазами в отладчике что делает программа при выполнении, или не выполнении условия. И от того что кто то мне будет говорить что это дурной тон не дать программе прочитать все что написано даже если это не надо, мягко говоря ничего не изменится.
Я поделился своими мыслями. Как писать код, дело каждого. По этому
Цитата
Как всегда, каждый останется при своем мнении. :)

Добавлено (24 Февраля 2013, 13:38)
---------------------------------------------
И еще, хочу добавить подумав.


По скорости выполнения кода в программе мы может быть особо и не потеряем во времени. Может быть несколько нона секунд. Но при "разборке полета" в отлачике мы сэкономим времени в несколько минут. ;)
Суть мысли не всегда можно рассматривать в одном направлении.
Цитата (Peter)
я не раз встречал рассуждения о том, что применение Exit якобы является дурным тоном

Я помню когда попы называли телевизор "бесовским ящиком", а сейчас от туда не вылазят. ;) Все мы учимся на чьих то словах, выводах... И со временем это входит в привычку. После мы даже не задумываемся над тем, почему именно так и ни как по другому. Ну по поводу стада ты в курсе. :)
Может быть и я приду когда то к такому мнению что не надо вставлять эту команду, но пока....


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеВсе с вами ясно. Как всегда, каждый останется при своем мнении. :)
По сути
Цитата (mishem)
может быть кто то опровергнет мои выводы

у тебя это пока не получилось.
Цитата (Peter)
я не раз встречал рассуждения о том, что применение Exit якобы является дурным тоном,

Если все будут говорить сахар, у меня во рту слаще не станет.
Я вижу своими глазами в отладчике что делает программа при выполнении, или не выполнении условия. И от того что кто то мне будет говорить что это дурной тон не дать программе прочитать все что написано даже если это не надо, мягко говоря ничего не изменится.
Я поделился своими мыслями. Как писать код, дело каждого. По этому
Цитата
Как всегда, каждый останется при своем мнении. :)

Добавлено (24 Февраля 2013, 13:38)
---------------------------------------------
И еще, хочу добавить подумав.


По скорости выполнения кода в программе мы может быть особо и не потеряем во времени. Может быть несколько нона секунд. Но при "разборке полета" в отлачике мы сэкономим времени в несколько минут. ;)
Суть мысли не всегда можно рассматривать в одном направлении.
Цитата (Peter)
я не раз встречал рассуждения о том, что применение Exit якобы является дурным тоном

Я помню когда попы называли телевизор "бесовским ящиком", а сейчас от туда не вылазят. ;) Все мы учимся на чьих то словах, выводах... И со временем это входит в привычку. После мы даже не задумываемся над тем, почему именно так и ни как по другому. Ну по поводу стада ты в курсе. :)
Может быть и я приду когда то к такому мнению что не надо вставлять эту команду, но пока....

Автор - mishem
Дата добавления - 24 Февраля 2013 в 13:38
mishemДата: Вс, 24 Февраля 2013, 13:50 | Сообщение # 15
Эксперт форума
А это просто пример. Как правильней будет?
Прикрепления: 3614831.zip(2Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеА это просто пример. Как правильней будет?

Автор - mishem
Дата добавления - 24 Февраля 2013 в 13:50
PeterДата: Вс, 24 Февраля 2013, 14:01 | Сообщение # 16
Админ NeoBook
Цитата (mishem)
Как правильней будет?

Что значит "правильнее"?
У тебя оба скрипта работают так, как они и должны работать согласно их записи.
Если тебе нужно прервать какой-то скрипт, то для этого и существует Return, все логично.

Честное слово, я так и не могу понять чего ты хочешь доказать?


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
Как правильней будет?

Что значит "правильнее"?
У тебя оба скрипта работают так, как они и должны работать согласно их записи.
Если тебе нужно прервать какой-то скрипт, то для этого и существует Return, все логично.

Честное слово, я так и не могу понять чего ты хочешь доказать?

Автор - Peter
Дата добавления - 24 Февраля 2013 в 14:01
mishemДата: Вс, 24 Февраля 2013, 14:06 | Сообщение # 17
Эксперт форума
Так что не понятного то?
Как логичней?
Я ж и объясняю что по логике лучше вставить Return

Добавлено (24 Февраля 2013, 14:06)
---------------------------------------------

Цитата (Peter)
Что значит "правильнее"?

Да то и значит. Как лучше? Как удобочитаемость?


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеТак что не понятного то?
Как логичней?
Я ж и объясняю что по логике лучше вставить Return

Добавлено (24 Февраля 2013, 14:06)
---------------------------------------------

Цитата (Peter)
Что значит "правильнее"?

Да то и значит. Как лучше? Как удобочитаемость?

Автор - mishem
Дата добавления - 24 Февраля 2013 в 14:06
PeterДата: Вс, 24 Февраля 2013, 14:24 | Сообщение # 18
Админ NeoBook
Цитата (mishem)
Так что не понятного то?

Цитата (Peter)
чего ты хочешь доказать?

Цитата (mishem)
Как лучше?

%)
mishem, неужели ты не видишь, что логика в обоих скриптах разная!!!

Если ты запишешь второй скрипт вот так:
If "[i]" "=" ""
Return
Else
.Это просто текст из 100 строк
.Это просто текст из 100 строк
.......
.Это просто текст из 100 строк
EndIf

то он станет работать как первый с тем же результатом, т.е. после Return скрипт выполняться не будет.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
Так что не понятного то?

Цитата (Peter)
чего ты хочешь доказать?

Цитата (mishem)
Как лучше?

%)
mishem, неужели ты не видишь, что логика в обоих скриптах разная!!!

Если ты запишешь второй скрипт вот так:
If "[i]" "=" ""
Return
Else
.Это просто текст из 100 строк
.Это просто текст из 100 строк
.......
.Это просто текст из 100 строк
EndIf

то он станет работать как первый с тем же результатом, т.е. после Return скрипт выполняться не будет.

Автор - Peter
Дата добавления - 24 Февраля 2013 в 14:24
mishemДата: Вс, 24 Февраля 2013, 15:17 | Сообщение # 19
Эксперт форума
Так об этом же и речь.
Я именно это объясняю. Зачем ему выполняться если его не надо выполнять?
Но, первый вариант с Return прекращает давать команду интерпритатору (или как там правильно) читать дальше не нужные строки. А во втором случае он их читает. Тем самым загружая проц. (ну это я так думаю)

Если после условия нужно еще что то выполнить, тогда мы Return заменяем на GotoLine. Тем самым мы даем понять что не нужно читать не нужные строки. Все это может быть и мелочи, но собрав секунды мы получаем минуты. Это я так, образно.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеТак об этом же и речь.
Я именно это объясняю. Зачем ему выполняться если его не надо выполнять?
Но, первый вариант с Return прекращает давать команду интерпритатору (или как там правильно) читать дальше не нужные строки. А во втором случае он их читает. Тем самым загружая проц. (ну это я так думаю)

Если после условия нужно еще что то выполнить, тогда мы Return заменяем на GotoLine. Тем самым мы даем понять что не нужно читать не нужные строки. Все это может быть и мелочи, но собрав секунды мы получаем минуты. Это я так, образно.

Автор - mishem
Дата добавления - 24 Февраля 2013 в 15:17
YURIYДата: Вс, 24 Февраля 2013, 16:11 | Сообщение # 20
WebMaster
Цитата (mishem)
Все это может быть и мелочи, но собрав секунды мы получаем минуты. Это я так, образно.


Скорее, ты сэкономишь миллисекунды. На самом деле - это всё мелочи. Есть действительно сложнейшие программы и алгоритмы, где нужна оптимизация. А это так - мелочи всё... Одно дело, скажем, взять какой фильтр фотошопа, который над фото делает сложные вычисления и преобразования. Вот там нужно оптимизировать всё до максимума и процесс этот фактически бесконечный :) А ты сэкономишь пару миллисекунд, которые никто не заметит на деле, а потратишь на них уйму времени работы. Оно того не стоит. Поэтому, я бы над таким вопросом и не парился даже.
 
Сообщение
Цитата (mishem)
Все это может быть и мелочи, но собрав секунды мы получаем минуты. Это я так, образно.


Скорее, ты сэкономишь миллисекунды. На самом деле - это всё мелочи. Есть действительно сложнейшие программы и алгоритмы, где нужна оптимизация. А это так - мелочи всё... Одно дело, скажем, взять какой фильтр фотошопа, который над фото делает сложные вычисления и преобразования. Вот там нужно оптимизировать всё до максимума и процесс этот фактически бесконечный :) А ты сэкономишь пару миллисекунд, которые никто не заметит на деле, а потратишь на них уйму времени работы. Оно того не стоит. Поэтому, я бы над таким вопросом и не парился даже.

Автор - YURIY
Дата добавления - 24 Февраля 2013 в 16:11
mishemДата: Вс, 24 Февраля 2013, 16:17 | Сообщение # 21
Эксперт форума
Цитата (YURIY)
Скорее, ты сэкономишь миллисекунды.

Да, по факту именно так. Но я пришел к такому выводу когда в отладчике начинаешь анализировать код пошагово. Не надо щелкать"дальше" на том коде который не работает.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (YURIY)
Скорее, ты сэкономишь миллисекунды.

Да, по факту именно так. Но я пришел к такому выводу когда в отладчике начинаешь анализировать код пошагово. Не надо щелкать"дальше" на том коде который не работает.

Автор - mishem
Дата добавления - 24 Февраля 2013 в 16:17
PeterДата: Вс, 24 Февраля 2013, 20:05 | Сообщение # 22
Админ NeoBook
Цитата (YURIY)
А ты сэкономишь пару миллисекунд, которые никто не заметит на деле,

Это верно, но только если не в цикле.

Цитата (mishem)
Не надо щелкать"дальше" на том коде который не работает

Т.е. напишу такой код чтобы в отладчике меньше щелкать?
Очень странный подход.
:)
mishem, вот тебе два скрипта:

Первый:
Код
If "[Test1]" "=" ""
     Return
EndIf
If "[Test2]" "=" ""
     Return
EndIf
If "[Test3]" "=" ""
     Return
EndIf
If "[Test4]" "=" ""
     Return
EndIf
.Что-то

и второй:
Код
If "[Test1]" "<>" ""
    If "[Test2]" "<>" ""
     If "[Test3]" "<>" ""
       If "[Test4]" "<>" ""
         .Что-то
       EndIf
     EndIf
    EndIf
EndIf


И теперь подсчитай количество строк, которое формально должен "окучить" интерпретатор, чтобы выполнить скрипт до конца в первом и во втором случае.
;)

А вообще, как и говорил уже:
Цитата (Peter)
оптимальность кода вещь, если так можно сказать, творческая, и каждый сам должен научиться понимать как будет оптимальней в каждом конкретном случае.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (YURIY)
А ты сэкономишь пару миллисекунд, которые никто не заметит на деле,

Это верно, но только если не в цикле.

Цитата (mishem)
Не надо щелкать"дальше" на том коде который не работает

Т.е. напишу такой код чтобы в отладчике меньше щелкать?
Очень странный подход.
:)
mishem, вот тебе два скрипта:

Первый:
Код
If "[Test1]" "=" ""
     Return
EndIf
If "[Test2]" "=" ""
     Return
EndIf
If "[Test3]" "=" ""
     Return
EndIf
If "[Test4]" "=" ""
     Return
EndIf
.Что-то

и второй:
Код
If "[Test1]" "<>" ""
    If "[Test2]" "<>" ""
     If "[Test3]" "<>" ""
       If "[Test4]" "<>" ""
         .Что-то
       EndIf
     EndIf
    EndIf
EndIf


И теперь подсчитай количество строк, которое формально должен "окучить" интерпретатор, чтобы выполнить скрипт до конца в первом и во втором случае.
;)

А вообще, как и говорил уже:
Цитата (Peter)
оптимальность кода вещь, если так можно сказать, творческая, и каждый сам должен научиться понимать как будет оптимальней в каждом конкретном случае.

Автор - Peter
Дата добавления - 24 Февраля 2013 в 20:05
mishemДата: Вс, 24 Февраля 2013, 20:41 | Сообщение # 23
Эксперт форума
Петр, или ты меня не можешь понять, или просто не хочешь. %)

Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеПетр, или ты меня не можешь понять, или просто не хочешь. %)

Автор - mishem
Дата добавления - 24 Февраля 2013 в 20:41
PeterДата: Вс, 24 Февраля 2013, 20:59 | Сообщение # 24
Админ NeoBook
Цитата (mishem)
не можешь понять, или просто не хочешь.

В том-то и дело, что хочу понять, да как-то не получается...

mishem, программирование это штука такая где главное, чтобы безглючно и эффективно работало твое "произведение", а что там у него внутри (оптимально/неоптимально) значения не имеет.

Кстати, возможно ещё и поэтому авторы (бесплатных прог) не светят исходники.
Стесняются.
:)



- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
не можешь понять, или просто не хочешь.

В том-то и дело, что хочу понять, да как-то не получается...

mishem, программирование это штука такая где главное, чтобы безглючно и эффективно работало твое "произведение", а что там у него внутри (оптимально/неоптимально) значения не имеет.

Кстати, возможно ещё и поэтому авторы (бесплатных прог) не светят исходники.
Стесняются.
:)


Автор - Peter
Дата добавления - 24 Февраля 2013 в 20:59
mishemДата: Вс, 24 Февраля 2013, 23:00 | Сообщение # 25
Эксперт форума
Цитата (Peter)
Не первый год "необушничаешь" поди.

Я все больше в теории, на практике то ничего не делаю. :)
Мне НБ нужна была сделать одну программу.
Сделал две. И фсе. :)
Сейчас вот третью делаю. Мож сделаю все таки.
А это так, мыслями поделился, а уж кто как будет делать, решать им.

Добавлено (24 Февраля 2013, 23:00)
---------------------------------------------

Цитата (Peter)
И теперь подсчитай количество строк, которое формально должен "окучить" интерпретатор,

Условие для чего создается?
По теории вероятности получается что 50 на 50. Правильно?
Так что лучше, обрабатывать постоянно все строки, или только из 50%?


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
Не первый год "необушничаешь" поди.

Я все больше в теории, на практике то ничего не делаю. :)
Мне НБ нужна была сделать одну программу.
Сделал две. И фсе. :)
Сейчас вот третью делаю. Мож сделаю все таки.
А это так, мыслями поделился, а уж кто как будет делать, решать им.

Добавлено (24 Февраля 2013, 23:00)
---------------------------------------------

Цитата (Peter)
И теперь подсчитай количество строк, которое формально должен "окучить" интерпретатор,

Условие для чего создается?
По теории вероятности получается что 50 на 50. Правильно?
Так что лучше, обрабатывать постоянно все строки, или только из 50%?

Автор - mishem
Дата добавления - 24 Февраля 2013 в 23:00
PeterДата: Пн, 25 Февраля 2013, 00:03 | Сообщение # 26
Админ NeoBook
Цитата (mishem)
Я все больше в теории, на практике то ничего не делаю.

А!
Значится ты - теоретик?
А мне отводится роль критика?
:)
Теория и практика неразрывно связаны, но теория должна идти впереди практики, а не наоборот.
Цитата (mishem)
а уж кто как будет делать, решать им.

А я тебе о чем талдычу?
Цитата (mishem)
По теории вероятности получается что 50 на 50. Правильно?

С чего ты так решил?
Совсем необязательно.
Это когда ты монетку бросаешь 50/50, а тут все зависит от того, что было раньше, и от количества условий.
Цитата (mishem)
Так что лучше, обрабатывать постоянно все строки, или только из 50%?

mishem, тут многое будет зависеть и от того, как много строк написано в скрипте, который должен выполниться в случае соблюдения всех условий, но в любом случае, вероятность того, что скрипт дойдет до конца меньше, чем он оборветься, если условий много.
И в этом случае конструкция с Return может оказаться выгодней, если обрыв скрипта произойдет раньше, чем "счетчик условий" дойдет до половины, а как перевалит за половину картина начнет меняться в обратную сторону, и, если дойдет до "рабочего" скрипта, то тут....
;)
Ну, посчитай сам....

Цитата (Peter)
оптимальность кода вещь, если так можно сказать, творческая, и каждый сам должен научиться понимать как будет оптимальней в каждом конкретном случае.

Устал я уже...
tired


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
Я все больше в теории, на практике то ничего не делаю.

А!
Значится ты - теоретик?
А мне отводится роль критика?
:)
Теория и практика неразрывно связаны, но теория должна идти впереди практики, а не наоборот.
Цитата (mishem)
а уж кто как будет делать, решать им.

А я тебе о чем талдычу?
Цитата (mishem)
По теории вероятности получается что 50 на 50. Правильно?

С чего ты так решил?
Совсем необязательно.
Это когда ты монетку бросаешь 50/50, а тут все зависит от того, что было раньше, и от количества условий.
Цитата (mishem)
Так что лучше, обрабатывать постоянно все строки, или только из 50%?

mishem, тут многое будет зависеть и от того, как много строк написано в скрипте, который должен выполниться в случае соблюдения всех условий, но в любом случае, вероятность того, что скрипт дойдет до конца меньше, чем он оборветься, если условий много.
И в этом случае конструкция с Return может оказаться выгодней, если обрыв скрипта произойдет раньше, чем "счетчик условий" дойдет до половины, а как перевалит за половину картина начнет меняться в обратную сторону, и, если дойдет до "рабочего" скрипта, то тут....
;)
Ну, посчитай сам....

Цитата (Peter)
оптимальность кода вещь, если так можно сказать, творческая, и каждый сам должен научиться понимать как будет оптимальней в каждом конкретном случае.

Устал я уже...
tired

Автор - Peter
Дата добавления - 25 Февраля 2013 в 00:03
mishemДата: Пн, 25 Февраля 2013, 00:09 | Сообщение # 27
Эксперт форума
Тут сам факт, понимаешь, такие вещи как когда проверяешь выбран файл или нет смысла нет читать дальше код если он не выбран. А по факту, дальнейшая обработка не обходится одной строкой.

Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеТут сам факт, понимаешь, такие вещи как когда проверяешь выбран файл или нет смысла нет читать дальше код если он не выбран. А по факту, дальнейшая обработка не обходится одной строкой.

Автор - mishem
Дата добавления - 25 Февраля 2013 в 00:09
PeterДата: Пн, 25 Февраля 2013, 00:24 | Сообщение # 28
Админ NeoBook
Цитата (mishem)
А по факту, дальнейшая обработка не обходится одной строкой

Убедил!
:)



- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
А по факту, дальнейшая обработка не обходится одной строкой

Убедил!
:)


Автор - Peter
Дата добавления - 25 Февраля 2013 в 00:24
CallistoДата: Пн, 25 Февраля 2013, 01:04 | Сообщение # 29
Участник
mishem, Ты рассматриваешь ситуацию, только, когда файла нет. А если подразумевается, что он есть? И это некая подстраховка? Т.е. все условия всегда выполняются. Тогда конструкция с Return уже будет немного уступать.

Пожалуйста, не надо ко мне на "Вы", а то чувствую себя бабулькой)
 
Сообщениеmishem, Ты рассматриваешь ситуацию, только, когда файла нет. А если подразумевается, что он есть? И это некая подстраховка? Т.е. все условия всегда выполняются. Тогда конструкция с Return уже будет немного уступать.

Автор - Callisto
Дата добавления - 25 Февраля 2013 в 01:04
parabelДата: Вт, 26 Февраля 2013, 11:10 | Сообщение # 30
Прохожий
Всем привет. Суть такая, есть ряд чекбоксов. некоторые из них нужно отметить, чтобы перейти на определенную страницу, в случае неправильного ответа, сообщение что есть ошибка. Помогите с кодом.

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

Автор - parabel
Дата добавления - 26 Февраля 2013 в 11:10
Форум NeoBook » Всё о программе NeoBook » Сценарии и скриптовые языки в Neobook » IF (Условие) на NeoBook
Страница 1 из 212»
Поиск: