Что такое программа на VB?
Что такое программа с точки зрения VB и большинства других объектно-ориентированных языков программирования, удобнее всего рассмотреть на аналогии. Представьте себе, что к вам, живущему в большом городе, в гости приехал ваш знакомый, никогда не выезжавший из своего поселка. Он хочет сходить на футбол, а вам идти вместе с ним некогда. Чтобы он смог добраться до стадиона и вернуться живым и здоровым, вы пишете ему на листе бумаги такую инструкцию.
Что делать, если тебе хочется сходить на футбол 1. Спустись на лифте во двор 2. Дойди до метро 3. Доберись до станции "Спортивная" 4. Купи билет на стадион "Лужники" 5. Иди на трибуны и смотри футбол 6. Возвращайся на метро до станции "Отрадное" 7. Дойди до нашего дома и подъезда 8. Поднимись на лифте 9. Позвони в дверь Как спускаться на лифте 1. Подойди к лифту и нажми кнопку 2. Когда дверь откроется, проверь, есть ли там кабина 3. Если есть, заходи 4. Нажми на кнопку с цифрой 1 5. Когда дверь откроется, выходи Как дойти до метро 1. Поверни налево и дойди до угла 2. Перейди улицу 3. ……………….. Как доехать до станции "Спортивная" 1. ………………….. 2. …………………... Как переходить улицу 1. Найди переход 2. Посмотри на светофор 3. ………………….. ……………………………………………………….. Что делать, если лифт застрянет 1. Нажми на кнопку вызова диспетчера 2. ………………….. Что делать, если ты заблудился 1. Спроси у прохожих, где здесь поблизости телефон-автомат 2. Позвони домой ……………………………………………………….. |
Как видите, на листке – несколько инструкций. Они – двух типов. Одни начинаются со слов «Что делать, если …», другие – со слова «Как…».
Самая верхняя главная инструкция состоит из 9 команд и предписывает строгий порядок действий для достижения цели. Инструкции, начинающиеся со слова «Как», описывают каждое из этих действий более подробно. Так, инструкция «Как дойти до метро» подробно описывает выполнение команды «Дойди до метро». Так как в этой инструкции встречается команда «Перейди улицу», которая сама нуждается в пояснении, то имеется инструкция «Как переходить улицу». И так далее.
Зачем я написал так много инструкций типа «Как»? Не проще ли было написать одну длинную главную инструкцию из «пары тыщ» команд, в которой бы задавались по порядку все мелкие действия от начала до конца похода, начиная с «Подойди к лифту и нажми кнопку» и кончая «Подойди к дверям нашей квартиры и позвони»? – Возможно и проще, но вот инструкция в этом случае получилась бы слишком длинной. Почему длинной? Потому что, например, переходить улицу надо будет раз восемь, и выходит, что в инструкции придется восемь раз писать одни и те же пояснения, как это делать. И еще по той причине не нужно писать длинную инструкцию, что человеку гораздо приятней и удобней воспринимать короткие инструкции, чем длинные.
Порядок выполнения команд в инструкциях строго определен. Попробуйте нарушить его и увидите, что произойдет. Например, сначала попытайтесь пройти на трибуны, и только потом купить билет. Или сначала зайдите в дверь лифта и только потом проверьте, есть ли там кабина.
Однако жизнь сложна, и в ней могут происходить события, которые трудно привязать к какому-то конкретному этапу выполнения инструкции. Например, вы можете заблудиться (причем, в любом месте, как по пути туда, так и по пути обратно), или ваш лифт может застрять. На этот случай пишутся инструкции, начинающиеся словами "Что делать, если …" и предписывающие, как реагировать на то или иное событие.
В программировании на VB все эти инструкции называются процедурами. Команды, из которых они составлены, называются операторами. Весь набор инструкций на листке назовем программой. А события так и будем называть событиями.
Программа не должна содержать команд, которые исполнитель программы не способен выполнить. Например, «Перелети через улицу». Когда дело касается возможностей человека, тут более-менее все ясно. А если мы пишем программу для компьютера? Нам нужно четко знать, что компьютер умеет, а что не умеет. Лучше всего, если перед нами будет справочник, в котором перечислены все команды, которые компьютер способен исполнить. И такой справочник есть – это система Help, которой вы можете пользоваться, программируя на VB.
Но вы удивитесь, когда увидите, насколько «слабы», «мелки», «маломощны» все команды, которые умеет выполнять компьютер. На каком бы языке вы ни программировали, нигде вы не найдете таких шикарных команд, как «Рассчитай траекторию полета на Луну» или «Выиграй в шахматы у Каспарова». На любом языке вы можете отдавать только очень примитивные команды, типа «Умножь 5 на 4» или «Нарисуй на экране кружочек». Но ведь вы точно знаете, что компьютер уже давно и рассчитал траекторию полета на Луну, и выиграл у Каспарова! В чем тут волшебство? Волшебства нет, есть волшебники. – Приходит хмурый программист и из примитивных команд языка программирования пишет длинную программу, вычисляющую траекторию полета на Луну, или еще более длинную программу, выигрывающую у Каспарова.
Исходя из сказанного, можно заключить, что знание программирования состоит из двух областей:
· Знание списка команд, из которых составляются программы
· Умение по правилам записывать команды друг за другом так, чтобы получилась нормальная программа.