Вопрос № 52960: Скажите, где скачать русский QBasik и самоучитель по нему? Заранее спасибо....Вопрос № 53031: Дорогие эксперты,
есть ли смысл в ВБ создавать переменные лишь в некоторых ответвлениях программы(посреди проги - см. приложение)...
Вопрос № 52.960
Скажите, где скачать русский QBasik и самоучитель по нему? Заранее спасибо.
Отправлен: 23.08.2006, 01:19
Вопрос задал: Митя (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
http://qbasic.narod.ru/ - здесь Вы найдете различные версии компилятора Basic (в том числе - русский QBasic), а также документацию, некоторые библиотеки, исходники программ, а также ссылки на другие Basic-сайты. QBasic - довольно староватая вещь, поэтому самоучители к нему придется поискать в сети - поисковик поможет Вам.
--------- Труд сделал обезьяну человеком, а лень человека - программистом !
Ответ отправил: Кокорич Вадим Леонидович (статус: 4-ый класс)
Ответ отправлен: 23.08.2006, 18:57 Оценка за ответ: 5
Вопрос № 53.031
Дорогие эксперты,
есть ли смысл в ВБ создавать переменные лишь в некоторых ответвлениях программы(посреди проги - см. приложение)
Приложение:
Отправлен: 23.08.2006, 15:51
Вопрос задал: Дмитрий Т. (статус: 1-ый класс)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: ataman
Здрасти!
Все зависит от программиста. Я, например, предпочитаю переменные оглашать на начале кода. Это удобно тем что если код программы большой и Вам надо найти переменную то Вы не перебираете весь код, а смотрите в самый верх!
Но повтаряю: кому как удобно!
--------- ПопрёшЪ на крутых - урою как остальных!
Ответ отправил: ataman (статус: 2-ой класс)
Ответ отправлен: 23.08.2006, 16:26 Оценка за ответ: 2 Комментарий оценки: Вы не четко читаете вопрос, возможно, я отчасти не корректно его задал, но какой в этом смысл - "кому как нравиться"?! Я предположил, что не заходя в эту ветвь, где объявлена переменная, программа не будет создавать ее, выгода - например, если нужен довольно большой массив, но не всегда его нужно создавать!!!
Отвечает: Кокорич Вадим Леонидович
Здравствуйте, Дмитрий Т.!
Если Вы имеете в виду отдельные процедуры (подпрограммы внутри одной программы) - безусловно, имеет, если данная переменная используется только данной процедурой. Другие процедуры в этом случае использовать ее не смогут. Если же переменная используется несколькими процедурами - поместить ее объявление следует в разделе деклараций формы с ключевым словом Public. Ну, а ежели у Вас несколько форм и в коде обработки событий некоторых из них Вы планируете использовать одну и ту же переменную (определенного типа -
скажем, String) - в модуль ее, так же с Public. В конкретно Вашем примере я бы поместил строчку "dim a as integer" перед "If ... then", сразу после имени процедуры или функции.
--------- Труд сделал обезьяну человеком, а лень человека - программистом !
Ответ отправил: Кокорич Вадим Леонидович (статус: 4-ый класс)
Ответ отправлен: 23.08.2006, 18:31 Оценка за ответ: 2 Комментарий оценки: Я написав приложение, и пересмотрев его заново нигде не увидел никаких объявлений процедур, уж, извините, может быть я не туда смотрю? Кстати, публичные переменные одной формы можно использовать и в другой, не обязательно их прописывать в модуле.
Отвечает: Митрофанов Артем Борисович
Здравствуйте, Дмитрий Т.!
Конечно есть. При использование таких переменных можно использовать вложенные инструкции if...then..end if для более тщательной обработки событий и данных. Кроме того, насколько я помнб, такая переменная будут доступна на протяжение всей процедуры
Ответ отправил: Митрофанов Артем Борисович (статус: 2-ой класс)
Ответ отправлен: 23.08.2006, 19:41 Оценка за ответ: 3 Комментарий оценки: Извините, я вас не понял - как такое объявление может воздействовать на тщательность обработки событий. Собственно, провел как оказалось простой эксперимент, и вывод: не имеет смысла, переменная объявляется в любом случае, не зависимо от того заходит ли программа в данную ветвь, разве, что за исключением случаев, в которых программа будет выходить из процедуры при некторых условиях
до объявления переменной.
Отвечает: PsySex
Здравствуйте, Дмитрий Т.!
Кокорич Вадим Леонидович и Митрофанов Артем Борисович помоему вообще не поняли вопроса, хотя вопрос задан понятно и даже с примером.
Дмитрий Т. могу ответить вам опираясь только на собственные рассуждения, а не на точное знание как всё работает.
Думаю что при команде dim a as integer программа заставляет систему выделить некоторое колличество памяти под переменную. Тогда при объявлении переменной внутри условия(ваш пример), если при этом условие не выполняется мы экономим ОЧЕНЬ маленькое колличество оперативки и не тратим процессорное время(которое НИЧТОЖНО мало) для обработки создания переменной. И это заставляет прогу работать быстрее на вообще незаметный промежуток времени, т.е. ничего это не дает, конечно если вы объявите несколько сотен переменных
мож и заметно будет;-) На конечный размер исполняемого файла это никак не повлияет. Другая сторона, что это не удобно, это не "красиво". Вы сами можете запутаться. Считаю, что хорошим тоном программирования служит объявление переменных в начале процедуры.
Ответ отправил: PsySex (статус: Студент)
Ответ отправлен: 23.08.2006, 23:04