|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
24.12.2008, 16:03 | #1 |
Форумчанин
Регистрация: 17.10.2008
Сообщений: 239
|
Действия с переменными boolean в VBA
Уважаемые господа!
Корректируя общую прогу я автоматически заменил строчку If p1(k2) > 0 And p2(k2) = p2(k2 + 1))) Then на If p1(k2) > 0 And ((p2(k2) And p2(k2 + 1)) Or (Not p2(k2) And Not p2(k2 + 1))) Then после чего задумался а правильно ли я сделал? Входные условия массив p1 - цифровой; p2 - логический (Boolean) |
24.12.2008, 23:49 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Для простоты понимания введём обозначения: А = p2(k2), В = p2(k2 + 1), где А и В - логические значения.
Таким образом, Вы заменили в условном операторе выражение А = В на выражение (А & B) or (not_A & not_B). Хотя эти два выражения тождественны, вычисление второго займёт немного больше времени. Эта разница несущественна - цикл с 100 000 000 итераций на моём древнем компьютере завершился за 10 и 20 секунд соответственно (для первого и второго способа). Проверка производилась при помощи такого кода: Код:
(конечно, если в Вашем массиве не миллионы записей) Хотя, на мой взгляд, запись p2(k2) = p2(k2 + 1) намного удобнее для восприятия.
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 25.12.2008 в 03:06. |
25.12.2008, 05:11 | #3 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Если уж разговор зашел о скорости выполнения, то позволю заметить, что вместо конструкции
Код:
Код:
Код:
Чем шире угол зрения, тем он тупее.
|
25.12.2008, 07:57 | #4 |
Форумчанин
Регистрация: 17.10.2008
Сообщений: 239
|
Благодарю господа!
Тема закрыта |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с переменными. | TheWanderer | Общие вопросы C/C++ | 5 | 06.10.2008 18:15 |
И опять boolean. | dimple | Помощь студентам | 4 | 04.05.2008 14:03 |
Разработать функцию на С++ ls5Latin(constS:string):boolean | GTP_edition | Общие вопросы C/C++ | 3 | 25.04.2008 18:25 |
Boolean | Air | Общие вопросы Delphi | 2 | 16.02.2008 17:15 |
Boolean... | ZhekON | Общие вопросы Delphi | 2 | 17.06.2007 00:39 |