Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: Быстрый поиск в массиве Добавлено: 26.02.03 08:58  

Автор вопроса:  SeMa | ICQ: 166433794 

Ответить

  Ответы Всего ответов: 35  

Номер ответа: 16
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #16 Добавлено: 01.03.03 13:27

Ну это уже ошибки с файловой системой, сетью, и т. п., а такие, как Type Mismatch, Subscript out of Range, Overflow, Division by Zero и всё такое, предотвращаются легко с помощью ифов, а в моих прогах это основные ошибки, которые могут произойти.

Ответить

Номер ответа: 17
Автор ответа:
 LIS



Вопросов: 7
Ответов: 256
 Профиль | | #17 Добавлено: 01.03.03 22:22

Боюсь вызвать бурную реакцию любителей структурного программирования, но все же ...

Структурное программирование НЕ столь способ НАПИСАНИЯ программы , СКОЛЬ способ ПРОЕКТИРОВАНИЯ программы.

Т.Е. не использование goto только потому , что это не структурное программирование - это тот же программистский онанизм , о котором я уже писал.

Подумайте, если бы это было так плохо, включали бы Microsoft/IBM/SUN оператор в новые языки?

С другой стороны , использовать goto только назло начальнику глупо, но об'яснимо !!!

Good Luck

LIS 

Ответить

Номер ответа: 18
Автор ответа:
 Воронков Василий



Вопросов: 1
Ответов: 90
 Профиль | | #18 Добавлено: 02.03.03 02:02

2Lis:

Структурно-ориентированное программирование никакого отношение к проектированию не имеет. Я прекрасно помню, что представляло собой линейное программирование. Если у тебя есть сомнения по этому поводу могу порекомендовать всю ту же книжку про носорога.

Речь не о том, чтобы всеми правдами и неправдами исключать из программ goto. Я бы просто не рекомендовал использовать его в теле динамического цикла. Просто зачастую прогр. используют этот оператор просто в силу невежеста, т.к. не знает, "как это сделать по-другому".

Ответить

Номер ответа: 19
Автор ответа:
 Alex3



ICQ: 9481061 

Вопросов: 18
Ответов: 132
 Профиль | | #19 Добавлено: 02.03.03 03:36
 Ох, блин, сколько же про этот GoTo слов, ну не одна тема в форуме так не обсуждается :-)

Ладно, поехали. То, что он работает не значительно медленнее, а даже быстрее я тебе доказал, кажется. "Общепризнанный факт" его "значительной медлительности" никто пока не подтвердил, кроме автора книги про носорога и тебя ему поверившего.

Ты не рекомендуешь использовать GoTo в теле цикла. Привожу тебе ссылку из MSDN.

Books\Hardcore Visual Basic\Chapter 1:The Spirit of Basic\Language Purification\Exiting from Procedures

Для тех, кому лазить лениво напишу перевод из книги с переведенной на русский (Hardcore Visual Basic / Bruce McKinney).

"В этом коде нарушается один из принципов структурного программирования: выделять уровнями исключения, но не правилами".

Речь идет об использовании GoTo, обусловленном отсутствием в VB оператора Continue. Блюс Мак-Кинни считает его использование в данном случае оправданным, а код более структурированным!

Я думаю его авторитет в среде программистов на порядки выше твоего и автора книги про носорога.

А про случаи использования GoTo "в силу невежества" и незнания "как это сделать по-другому" здесь никто и не говорил.

Короче, если коротко, три моих тезиса:

1) GoTo при обработке ошибок (слава богу никто кроме Страшный Сон не против этого:-).

2) Допускаю его использование в циклах, особенно сложных, где необходим эквивалент оператора Continue.

3) GoTo ничего абсолютно не замедляет.

Ответить

Номер ответа: 20
Автор ответа:
 LIS



Вопросов: 7
Ответов: 256
 Профиль | | #20 Добавлено: 02.03.03 07:04

Многоуважаемый т. Воронков  !!!

Если Вы до сих пор не знаете , что такое ПРОЕКТИРОВАНИЕ программы , то о чем мы спорим ?

Любите книгу - источник Знаний ! (но только не про носорога)

Good luck

LIS 

Ответить

Номер ответа: 21
Автор ответа:
 Воронков Василий



Вопросов: 1
Ответов: 90
 Профиль | | #21 Добавлено: 03.03.03 11:15

2Lis:

Я знаю, что такое проектирование? Но вот какое отношение проектирование имеет к структурному программированию? Отсюда и возникает подозрение, что ты-то как раз и не знаешь что такое линейная программа.

Ответить

Номер ответа: 22
Автор ответа:
 SeMa



ICQ: 166433794 

Вопросов: 9
Ответов: 143
 Профиль | | #22 Добавлено: 05.03.03 00:40

не знаю, хто придумал что GoTo самая тормозящая,

кстати там типа разницы не будет если

If Searched = True Then

If Searched Then

и еще одно кто так GoTo не любит, могу обрадовать после помпиляцыи все цыклы, юзают приблизительно по 4 джампа (тех самых GoTo)

и еще, у меня есть компилятор для QuickBasic :)

Ответить

Номер ответа: 23
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #23
Добавлено: 06.03.03 21:37

Да Instr'ом находи или Split'ом разбей на худой конец.

Кто же на For'ах поиск делает.

Ответить

Номер ответа: 24
Автор ответа:
 SeMa



ICQ: 166433794 

Вопросов: 9
Ответов: 143
 Профиль | | #24 Добавлено: 06.03.03 23:41

да вот с InStr'ом проблемы так как поиск надо в масиве байт делать а не в строке

Ответить

Номер ответа: 25
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #25 Добавлено: 07.03.03 12:12
 Так строка ведь и есть массив байт!

Ответить

Номер ответа: 26
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #26
Добавлено: 07.03.03 16:25

А ты файл не в массив открывай а в переменную
Open "c:\netlog.txt" For Binary As #1
strFile$ = Space$(LOF(1))
Get #1, 1, strFile$
Close 1
А потом уже, после обработки, можно в массив разбить.

Я тут глянул люди про компилятор VB спорят. Да этож Сишный компилятор.
Только его отличие от CL в том что он только компилятор, а не компилятор-линковщик.
По поводу инструкции GoTo. Мне кажется что она была актуальна в старых версиях Бейсика. То-есть в тех, где каждая строка программы была пронумерована. А сейчас, из-за разбиения кода на процедуры, его можно
использовать, а можно и не использовать.
Private Sub Form_Load()
5 MsgBox "Input a<>b"
10 a = InputBox("Input a")
20 b = InputBox("Input b")
30 If a = b Then GoTo 5
40 If a = 1 Then GoTo 100
50 If a = 2 Then GoTo 200
100 MsgBox "a = 1": End
200 MsgBox "a = 2": End
End Sub
А QBasic, в отличие от QB, чистый интерпретатор.

Ответить

Номер ответа: 27
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #27
Добавлено: 07.03.03 16:39

Раз уж тут собралось такое количество знатоков.

Хотелось бы узнать по ассеблеру.

В каком случае актуально использовать функции ДОС, а в каком прерывания БИОС ?

И ещё, используются ли функции ДОС в MASM32 или он на АПИшках ?

Ответить

Номер ответа: 28
Автор ответа:
 SeMa



ICQ: 166433794 

Вопросов: 9
Ответов: 143
 Профиль | | #28 Добавлено: 08.03.03 23:42

если ремап винта делать так только через БИОС сервис,

ну а если файло читать то только ДОС сервисом,

а работа с графикой лучше всего серез память ...

с масм32 не знаком

а насчет строки то я думал что она 0 обрезаеться

всем спасибо

Ответить

Номер ответа: 29
Автор ответа:
 Воронков Василий



Вопросов: 1
Ответов: 90
 Профиль | | #29 Добавлено: 09.03.03 02:22

2CyRax

>Я тут глянул люди про компилятор VB спорят. Да этож Сишный компилятор.

Интересное заявление. Хотелось бы узнать в таком случае, каким именно из многочисленных компиляторов С является компилятор VB.

 

Ответить

Номер ответа: 30
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #30 Добавлено: 10.03.03 16:58

VBшный компилятор - это VBшный компилятор и всё, может, его из сишного слепили... но мне кажется, копмилятор у васика как бы 2 в одном, компилит и в натив, и в P-код.

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам