Загрузить архив: | |
Файл: ref-10968.zip (16kb [zip], Скачиваний: 363) скачать |
МИНИСТЕРСТВОВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ
БУХАРСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ ПИЩЕВОЙ И ЛЕГКОЙ ПРОМЫШЛЕННОСТИ
На тему:
Сдал: ст. гр. 1-98 МААТ Шлямов Д.
Приняла: Убайдулаева Ш.Р.
Бухара – 2000 г.
Basic был создан коллективом сотрудников Дартмугского колледжа во главе с Джоном Кемени и Томасом Куртом. Это произошло в далеком 1964 году, задолго до появления персонального компьютера в его современном виде, в эпоху больших ЭВМ. BASIC расшифровывался как Beginner'sAll-purposeStandardInstruction Code (Все целевой стандартный код инструкций для начинающих).
Поначалу язык Бейсик предназначался, прежде всего, для обучения новичков принципам программирования. Именно поэтому он с самых ранних пор был самым простым в использовании.
Примечательно,чтопри наличиимножества общецелевых языков
программирования,доступных программирующимфанатикам,Бейсик
остаетсяпростейшим для изучения и по истечении 20 лет после его
введения. Но еще лучше оказывается выполненная на Бейсике работа.
Вопреки притязаниям снобов Си и Паскаля, Бейсик является вовсе не
пустяковымязыком, наделенныммощными инструментами пригодными
длятого, чтобыбратьсяза специфическое дело, которое люди в
большинстве случаев делают с помощью малых компьютеров, а именно,
за работу с файлами и вывод текстов и графики на дисплей.
Бейсики и машинный язык
Какэто ниудивительно,нолюбой данный компьютер способен
исполнятьпрограммы, написанныетолькона его родном машинном
языке.Существует почти столько же машинных языков, сколько есть
типовкомпьютеров, новсеони представляютсобойнекоторые
вариациина однуиту жетему-простые операции, выполняемые
молниеностно быстро над двоичными числами. На персональных компь-
ютерах IBM используется семейство машинного языка 8086, поскольку
их аппаратная конструкция базируется на этом конкретном семействе
микропроцессоров.
Возможно,хотя и трудно, писать программы непосредственно на
машинномязыке.Вранние годыкомпьютеризации(на заре 1950-х
годов)машинный языкбылтем единственным, что сделали люди,
чтобыспасти программистов от цепенящего озноба программирования
в машинных кодах, как некий мост между человеческими существами и
мироммашинных языков компьютеров, были созданы высокоуровневые
(т.е. не машинные) языки.
Высокоуровневые языки работают через трансляторные программы,
которыепереводят "исходныйкод"(машинно-читабельныйгибрид
английскогоязыка иматематических выражений) и в конце концов
вынуждаюткомпьютер исполнять подходящие инструкции на машинном
языкедля выполнениязаданнойработы. Двумя базисными типами
трансляторов являются интерпретаторы, которыесканируют и
исполняютисходный код в режиме единичного шага, и компиляторы,
которыесканируют исходный код, переводя его на машинный язык, а
результат этого сканирования используется затем отдельно.
Интерпретаторы
ИсторическиБейсик обычнореализовалсякак интерпретатор
(знакомымизомером является сам интерпретаторный Бейсик). Одно,
часто упоминаемое преимущество интерпретаторнойреализации
состоитв том,чтоона допускает "непосредственный режим".
Кроме того, интерпретаторыимеютспециальные атрибуты,
которыеупрощают отладку.Можно,например, прервать обработку
интерпретаторнойпрограммы, отобразитьсодержимое определенных
переменных,бегло просмотретьпрограмму,а затемпродолжить
исполнение.
Болше всего программистам нравится в интерпретаторах
возможностьполучения быстрого ответа. Здесь нет необходимости в
компилировании, так как интерпретатор всегда готовдля
вмешательствав вашупрограмму. Введите RUN и результат вашего
самого последнего изменения оказывается на экране.
Однакоинтерпретаторные языки не без недостатков. Необходимо
например иметь копию интерпретатора в памяти все время, тогда как
многие возможности интерпретатора, аследовательно иего
возможностимогут не быть необходимыми для исполнения конкретной
программы.
Слабо различимым недостатком интерпретаторов является то ,что
они имеют тенденцию отбивать охоту к хорошему стилю
программирования.Посколькукомментарии идругиеформализуемые
детализанимают значительноеместопрограммной памяти,люди
стремяться ими непользоваться.Дьявол менееяростен,чем
программист,работающий на интерпретаторном Бейсике, пытающийся
получитьпрограмму в120К в памяти емкостью 60К. но хуже всего
то, что интерпретаторы тихоходны. Ими затрачивается слишком много
временинаразгодывание того,чтоделать, вместо того чтобы
заниматься действительно делом.
Приисполнении программныхоператоров,интерпретатор должен
сначала сканировать каждыйоператорс цельюпрочтенияего
содержимого(что этотчеловекпросит меня сделать?), а затем
выполнитьзапрошенную операцию.Операторы в циклах сканируются
излишне много.
Компиляторы
Компилятор-этотранслятор текстана машинный язык, который
считывает исходный текст, оцениваетего всоответствиис
синтаксическойконструкцией языка и переводит на машинный язык.
¬атемвывод намашиннойязыке (машинный код), прогоняется как
независимый шаг трансляции.Другимисловами, компиляторне
исполняетпрограммы, он ихстроит.Интерпретаторы невозможно
отделить от программ, которые ими прогоняются, компиляторы делают
свое дело и уходят со сцены.
Фирма Microsoft впервые взялась за Бейсик в 1975 году. Тогда она приняла участие в разработке языка Altair/Microsoft 4К Basic. Буквально через несколько месяцев была создана более мощная его реализация Altar/Microsoft 8К Basic. Накопив необходимый опыт, в 1976 году Microsoft уже без чьей-либо посторонней помощи воплотила систему ExtendedBasic, затем последовали DiskBasic (1977),R-MAX Basic (1978),M-BASIC, BASIC-80 (1979)... В августе 1981 года родилась MS-DOS 1.0. В эту систему фирма Microsoft интегрировала и свою первую версию языка Бейсик для IBMPC -MS-BASIC. Немного позже появилась усовершенствованная и более обкатанная реализация языка Advanced Basic, или BASICA.
В 82-м Microsoft провозгласила еще более "продвинутое" новшество - GW-BASIC. Версия 2.0 этого продукта, вышедшая годом позже,была внедрена во вторую же версию MS-DOS, появившуюся одновременно с компьютерами IBMPC XT. GW-BASIC 2.0 являлся более совершенным по сравнению со своими младшими собратьями. Однако для нас такая система, как GW-BASIC, - еще мезозойская эра. Представьте себе черный текстовой экран, на котором красуется приглашение типа "Ok...". В нижней части этого экрана - справочная строчка, в которой объясняются назначения функциональных клавиш: - UST (просмотр текста программы сначала. Прокрутить его, как мы это делаем сейчас в окне VBA, было нельзя!), - RUN (выполнить), - LOAD (загрузить с диска), -SAVE (сохранить на диск)...
Настоящий расцвет Бейсика начался с развитием оконного интерфейса (в среде DOS, конечно, до Windows еще пока далеко!). Где-то с середины 80-х все больше и больше программ оснащалось линейками прокрутки, окошечками, статусными строчками, флажками...
В 1987 году фирма BorlandInternational, известная реализациями языков С, C++, Pascal и, конечно же, своей системой Delphi, выпустила продукт под названием TurboBasic 1.0. Это был шаг вперед! Отдельные окна для ввода и выполнения, окно отладки, окно справочной системы, спускающиеся меню, многочисленные опции - в общем, все, что сейчас мы называем "интегрированная среда". Прорыв заключался еще и в том, что Turbo Basic мог компилировать файлы, т. е. позволял создавать автономные файлы программ с расширением ЕХЕ.
Но самым что ни на есть популярным средством разработки на Бейсике для DOS был (и остается сейчас!) Microsoft'OBOow QuickBASIC (в частности, версия 4.5, выпущенная в 1988 году), а также его более "продвинутая" разновидность QuickBASICExtendedProfessionalDevelopment System (версии 7.0/7.1 1989/1990 годов). Раньше Бейсик был языком уя любителей: он позволял писать мелкие простые программки, но не более того. Microsoft же задумала сделать из Бейсика быстрое средство профессиональной разработки. И ей это удалось!
Полная версия QBXPDS 7.1 занимала на диске уже около 14 Мбайт (кстати, TurboBasic "тянул" менее чем на 1 Мбайт). В ее состав включались две интегрированные среды: собственно QBX, предназначавшаяся для набора текста программы, выполнения, отладки и т. п., и PWB (Programmer'sWorkBench), включавшая намного большие возможности отлаживания. Кроме того, в PDS был автономный отладчик CodeView, а также масса готовых библиотек -финансовых функций, функций матричной математики, графических шрифтов и т. д. и т. п. Среда QBX предоставляла обширные возможности настройки: не было на экране элемента, цвет которого нельзя изменить так, как хочется. В окне ввода текста работала автоматическая коррекция ввода, можно было подключить также и "горячую" проверку синтаксиса.
С появлением Windows программирование под DOS начало терять свое значение. В начале 90-х для Бейсик-программистов наступил настоящий кризис: полнокровных версий языка для Windows еще не было, и власть захватили в свои руки "писатели" на Паскале и Си. И тогда Microsoft выпустила первую версию системы VisualBasic для Windows. Это нововведение произвело настоящую сенсацию: появилось cредство, позволившее разрабатывать полноценные Windows-приложения в десять-пятнадцать раз быстрее и проще, чем припомощи тех же Паскаля и Си. Разработка приложений на VisualBasic в корне отличается от написания программ при помощи любой из предыдущих реализации Бейсика. VB перевернул все с ног на голову. Здесь первым делом создается форма - окно будущего приложения. И уже после этого пишутся процедуры, обрабатывающие события, способные произойти с тем или иным свойством какого-либо объекта (элемента) формы.
Во времена Windows З.х были выпущены вторая и третья версии VB, а в эпоху Windows95 - четвертая и пятая. 32-разрядный VisualBasic 5.0, в котором реализована поддержка Active-X, Internet-технологий и прочих несусветных вещей, распространяется в составе MS VisualStudio - мощнейшего инструментального комплекса, вобравшего в себя последние реализации MicrosoftC++ и J++ (вариант языка Java). Но Билл Гейтс не мог бы спать спокойно и Microsoft была бы не Microsoft, если бы не устроила очередную западню конкурентам, пытающимся продвинуть свои инструментальные средства в Windows. Сама западня заключалась в том, что Microsoft задумала сделать VisualBasic фактическим стандартом языка для управления всеми крупномасштабными Windows-приложениями! Однако реализация такой идеи оказалась не так проста. Первый вариант VBA 1.0 появился в составе MSOffice4.0, но лишь в программах Excel 4.0 и Project6.0. В других же приложениях - Word 6.0 и Access 2.0 - были собственные варианты Basic. Более того, VBA 1.0 довольно сильно отличался от используемой тогда универсальной системы VisualBasic 3.0. Реальное сближение между VisualBasic и VBA произошло осенью 1995 г. после выхода VisualBasic 4.0 и Office 95.
B состав последнего VBA 2.0 был уже включен Access 95, однако Word 95 тогда по-прежнему имел собственный WordBasic, а каждое приложение пакета - собственную среду программирования. А в Office 97 VBA стал неотъемлемым самостоятельным компонентом, единым для всех приложений. В Office97 единый языковый механизм VBA используют все основные приложения: Word, Excel, PowerPoint и Access. Отдельным компонентом VBA является интегрированная среда разработчика VisualBasic Editor (VBE), который фактически является специализированным вариантом VB 5.0 для работы в комплексе с приложениями.
Фирмам, которые поначалу с усмешкой смотрели на все эти проекты, теперь ничего не остается делать, как принимать условия игры. Microsoft продвигает VBA в качестве стандарта отрасли для управления программируемыми приложениями, объявив о возможности его лицензирования.
Новейшая версия VBA уже в скором времени будет встроена во многие "немайкрософ-товские" программы, и сегодня уже сотни программных продуктов третьих фирм имеют логотип "FeaturingMicrosoftVisualBasic Technology". Это заставляет задуматься над тем, что же такое BASIC - "стандартный код для начинающих" или "основной язык для основной среды"...
С ЧЕГО НАЧАТЬ?
Все книги по программированию (как хорошие так и не очень) начинаются с написания традиционноговывода приветствия.Мы не будем оригинальными и начнем с этого же.
Проще всего создать команды Сервис->Макрос->Начать запись. Все действия пользователя до нажатия кнопки Стоп записываются в макрос и воспроизводятся при запуске этого макроса. Такой способ не позволяет организовывать циклы и выдавать сообщения пользователю, поэтому для написания полноценной программы необходимо отредактировать записанный макрос. Для этого в Word6.0 и 7.0 необходимо выбрать команду Сервис ->Макрос-> Изменить (Сервис->Макрос->Ре-дактор VisualBasic в Word97).
Основным элементом экрана теперь является окно текстового редактора, в котором вы можете вводить и редактировать программы, написанные на языке VBA. Созданная вами программа будет сохранена вместе с рабочим файлом,так что любой VBA-код, размещенный здесь, будет всегда сопровождать базовый файл.
Команды, расположенные между строчками "Sub Hello" и "EndSub", представляют собой действия, выполняемые макрокомандой. Мы не будем сейчас их подробно рассматривать, а скажем лишь, что они отражают именно те действия, которые вы производили при записи макрокоманды. Важно понять, что программа работает в соответствии с инструкциями, которые выполняются одна за другой, сверху вниз. Первая инструкция выполняется в первую очередь, и в большинстве случаев работа программы приостанавливается до момента окончания выполнения действия, предписанного текущей инструкцией. Затем выполняется следующая инструкция, и так далее до конца программы, который отмечен командой "EndSub" (конец программы).
VBA - этосокращениедля Visual Basic for Application. Макрорекодер пишет программы вместо вас. Шаги, которые вы выполняете, |ранслируются в программный код и записываются в специальный лист. Совершенно такой же макрос можно создать, если перейти в этот лист и набрать код вручную. Мы уже говорили о том, что не все операции можно ввести с помощью макрорекодера, не говоря уж о том, что не все макросы, созданные с помощью макрорекодера, красивы и эффективны.
Например, простейшая операция, которую невозможно ввести с помощью макрорекодера, - это подача звукового сигнала "Веер". Создадим для примера небольшой макрос, который совершенно невозможно было бы написать, используя макрорекодер.
Sub Hellof)
MsgBox «Hello Word», vblnformation, «Моепервоесообщение»
Веер
EndSub
Если теперь вы проиграете этот макрос, то машина выдаст вам окно с приветствием, а принажатии "ОК"раздастся звуко^ вой сигнал, который в ControlPanel-Sounds обозначен как Defualt.
Слово "Sub" в первой строке указывает на то, что эта процедура - тип программы на языке VBA. Hello - это имя макроса. Круглые скобки необходимы каждой процедуре. Мы еще будем говорить подробно о функции скобок. Наиболее значимыми частями этого макроса являются вторая и третья строчки. Вторая строчка вызывает окно с надписью "HelloWord ". Первый параметр функции MsgBox задает текст сообщения, второй - тип сообщения, т.е. значок и кнопки, а третий задает заголовок окна сообщения. Строка с Веер заставляет компьютер подать звуковой сигнал. "End Sub" указывает на окончание процедуры.
Теперь попробуем немного усложнить программу. Пусть она выводит на экран сообщение с надписью «Закончить работу в Word?» и кнопками «Ok» и «cancel». Кроме того, пусть программа закрывает Word при нажатии Ok. Sub Hello()
If MsgBox( «Закончитьработув Word», vbOKCancel, «Моевтороесообщение») = vbOK Then Application.Quit End If End Sub
Здесь мы использовали новые "слова" If... Then, vbOK, vbCancel, Applications, Quit.
Поле IF обозначает выполнение одной из двух операций, в зависимости от выполнения указанных условий. Например, утверждение "Если по-годя будет хорошей, мы пойдем в пари, d еити
нет - пойдем в кино" определяет условие, которое должно быть соблюдено IF (хорошая погода), чтобы произошло определенное событие THEN (поход в парк). Если условие не соблюдено, происходит альтернативное событие (поход в кино). Используя возвращенное функцией MsgBox значение для того, чтобы определить, на какую кнопку нажал пользователь.
Если функция возвратила vbOK, т.е. пользователь выбрал кнопку ОК, мы вызываем метод Quit объекта ApplicationjcaMoro Word'a), то есть можно сказать что Applications.Quit сообщает программе о том, что необходимо завершить работу с программой.
Кроме того, создавая макросы, вы, наверное, заметили, что некоторые слова в макросе окрашены или могут быть окрашены. Об этих и других особенностях поговорим в следующий раз.