Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> If THEN ELSE, максимальное количество вложений 
:(
    Опции темы
Black_Joker
  Дата 10.10.2003, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 9.11.2002
Где: Таганрог

Репутация: нет
Всего: нет



Сколько можно сделать вложений в струкутру
If Then Else
К примеру:

(1 уровень)
If
then (2 уровень)
If then (3 ровень)
if then (...)
Else (3 уровень)
...
Else (1 уровень)

Сколько уровней можно делать?
PM   Вверх
var-alex
Дата 10.10.2003, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.10.2003
Где: Коломна, MCK

Репутация: 1
Всего: 1



Сколько хочешь, только я -бы писал
if then
begin
if then
begin
end
else
begin
end;
end
else
begin
end;

Так понятней, и наверняка не ошибётся компилер к какому if rfrq else
PM MAIL   Вверх
val
Дата 10.10.2003, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: нет
Всего: 7



Цитата
Сколько хочешь, только я -бы писал


Не совсем так... Насколько мне известно - не более 64 штук.


--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
Vit
Дата 10.10.2003, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



В TurboPascal было 128, сколько в Дельфи - не знаю, но, по-моему, уже десяток уровней вложенности не самая хорошая идея...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
val
Дата 10.10.2003, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: нет
Всего: 7



Цитата
уже десяток уровней вложенности не самая хорошая идея...


Действительно, одля этого используют ператор case


--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
December
Дата 10.10.2003, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



Цитата(val @ 10.10.2003, 16:58)
Действительно, одля этого используют ператор case

case не все типы берёт. Иногда эргономичнее наворачивать вот такие вот условные деревья.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
x77
Дата 10.10.2003, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



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


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
December
Дата 11.10.2003, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



Цитата(x77 @ 10.10.2003, 19:56)
эргономичность - это офигительно. но для современных компов сэкономленный, пусть даже, мегабайт - ничто, по сравнению с читабельностью кода, и в некоторых случаях именно из этого следует исходить.

Под эргономичностью понимается удобство работы человека, а не железки. Дело в том, что мне, например, нужно постепенно наворачивать это дерево if'ов по мере усложнения проекта, причём наворачивать однообразно - практически бездумно. Читабельность кода также остаётся на уровне благодаря должному форматированию.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
x77
Дата 11.10.2003, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



я понимаю, но всё равно я бы решал вопрос как-то иначе. трудно сказать что-то осмысленное без знания конкретики, конечно. просто при написании кода я придерживаюсь одного простого правила: если проедура занимает больше одного PgDn'а, - её надо менять. и бесконечное ифы - это не есть здорово smile.gif


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Fedor
Дата 11.10.2003, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: нет
Всего: 32



Цитата
нужно постепенно наворачивать это дерево if'ов по мере усложнения проекта, причём наворачивать однообразно - практически бездумно

А представь, что у тебя десять уровней ифов, и в каждом - по несколько елсов, а там есть свои ифы... Так конечно можно легко бездумно наворотить программу, да причем и правильную... Но представь, что кто-то будет читать после тебя программу или ты сам месяцев через 12 вдруг захочешь вспомнить, шо оно там було. Программа будет почти нечитаема.
Цитата
просто при написании кода я придерживаюсь одного простого правила: если проедура занимает больше одного PgDn'а, - её надо менять

Крут... smile.gif


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
NiJazz
Дата 11.10.2003, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 6
Всего: 23



Цитата
Не совсем так... Насколько мне известно - не более 64 штук.


Всего-то! smile.gif
PM MAIL   Вверх
NiJazz
Дата 11.10.2003, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 6
Всего: 23



Morpheus, но ведь программа пишется для того, чтобы работать, а не как книжка. smile.gif
Хотя момент тоже актуальный.
PM MAIL   Вверх
val
Дата 11.10.2003, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: нет
Всего: 7



Цитата
но для современных компов сэкономленный, пусть даже, мегабайт - ничто


Господа, не забывайте, что программы пишуться не только для обыкновенных PC!
А в Дельфи частенько отлаживат алгоритмические модели...





--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
December
Дата 11.10.2003, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



Цитата(val @ 11.10.2003, 10:10)
А в Дельфи частенько отлаживат алгоритмические модели...

Не, блин, я про офисное приложение чахлодохлое говорю, а он сразу про алгоритмические модели! ТАМ, ессно, о таком даже не думается.
Morpheus Я говорю только о том случае, когда else только один - для следующего if'а. Представь что-то типа анализа файла настроек.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
Vit
Дата 11.10.2003, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Цитата(December @ 11.10.2003, 03:47)
Представь что-то типа анализа файла настроек.

Представил, там же вообще вложенные if не нужны! Делаешь параметры в ввиде set of something, далее обычным одновложенным if, in и case делаются все выборы. Ещё раз говорю, и ни я один - вложенность if больше 3х-4х это во первых плохой стиль программирования, а во вторых неправильная архитектура программы - тем более в том случае, что ты привёл - просто надо не делать тупой набор офигенного количества строковых переменных, которых действительно будет много и вариантов их комбинаций ещё больше, а остановиться и подумать как вместо строковых параметров использовать другие типы: массивы, записи, множества, свои классы и т.п. Всё это можно инкапсулировать в код который будет совершенно прозрачным, причём добавление нового параметра не будет приводить к ещё одному if...


PS. Многовложенные if всегда легко заменяются на некое количество процедур.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0905 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.