В процесі так званого візуального програмування велика частина коду створюється комп'ютерною програмою. Користувачеві залишається лише водити мишею по екрану і вписувати значення в відведені вікна. У такому режимі дуже складно навчитися програмувати «від і до». На думку спадає порівняння з області кулінарії.
Реєстрація на конференцію
З одного боку, можна зробити лазанью, використовуючи шаблонний напівфабрикат, з іншого - такий підхід малопридатний при навчанні майбутніх кухарів.
![Visual basic 2010 починаємо з нуля, світ пк, видавництво «відкриті системи» (циклу значення лічильника) Visual basic 2010 починаємо з нуля, світ пк, видавництво «відкриті системи»](https://images-on-off.com/images/157/visualbasic2010nachinaemsnulyamirpkizdat-6d51b9e7.jpg)
Втім, починати програмувати можна і на Visual Basic. Головне, не відволікатися на графічний інтерфейс і створювати перші програми у вигляді консольних додатків. Підручники та самовчителі, присвячені програмуванню в консолі, ви навряд чи знайдете, і тому ми постараємося навчити вас його азам на сторінках нашого журналу. Причому в зрозумілому форматі.
![Visual basic 2010 починаємо з нуля, світ пк, видавництво «відкриті системи» (visual) Visual basic 2010 починаємо з нуля, світ пк, видавництво «відкриті системи»](https://images-on-off.com/images/157/visualbasic2010nachinaemsnulyamirpkizdat-0ee93302.jpg)
Тепер в головну процедуру (між другою і третьою рядками) вставте код нашої гри - трохи нижче ми його розберемо по частинах (див. Лістинг).
У цьому місці недосвідчений новачок покрутить пальцем біля скроні, а бувалий програміст щиро посміхнеться. Цифри ліворуч - це класика. Рядки коду на мові Бейсік нумеровались з 1964 р коли в першому керівництві по мові програмування Beginner's All Purpose Symbolic Instruction Code (BASIC) були представлені три команди:
Зараз це швидше атавізм, а в минулому столітті наявність строкової нумерації обумовлювалося певною метою. Ми ж будемо використовувати її, щоб було зручніше розбирати код по цеглинці.
Рядок 10. За допомогою оператора DIM оголошуються ім'я і тип однієї або декількох змінних. В даному випадку ми оголосили три цілочисельних змінних: i - будемо використовувати в циклі; n - загадане число; p - наші варіанти задуманого числа.
![Visual basic 2010 починаємо з нуля, світ пк, видавництво «відкриті системи» (циклу значення лічильника) Visual basic 2010 починаємо з нуля, світ пк, видавництво «відкриті системи»](https://images-on-off.com/images/157/visualbasic2010nachinaemsnulyamirpkizdat-7b9ea531.jpg)
Рядки 20 і 30 ми пояснимо в парі. Функція RND () повертає випадкове дійсне число (типу Single) в діапазоні від до 1. Ми помножили випадкове число на 100, щоб розширити діапазон від до 100. А ось функція Math.Round (), по суті, зайва в нашій програмі, але все ж нехай буде. Вона округлює число, до цілого значення. Однак змінна n оголошена як целочисленная, а значить, при виконанні програми дрібна частина задуманого числа обрізалася б автоматично. Функція Randomize () ініціалізує генерацію випадкових чисел, інакше задумане число завжди буде одним і тим же.
Рядки 40 і 50 забезпечують висновок привітальних фраз на екран в режимі консолі.
Рядки з 60 по 180 ключові в нашому коді - це циклічна конструкція. Команди з 70 по 170 називаються тілом циклу. Нашому циклу судилося повторитися 7 разів - ті самі 7 спроб відгадати задумане число. З кожним проходом (итерацией) циклу значення лічильника i буде збільшуватися з 1 до 7 в рядку 180. Причому значення змінної i буде відігравати важливу роль в рядку 190, але про це трохи пізніше.
Зверніть увагу на вже знайомий оператор в рядку 80. Тут виводиться рядок формується динамічно, в залежності від значення змінної i. А функція Str (i) перетворює числову змінну в звичайну рядок, щоб з'явилася інформативна фраза «Це твоя 1-я спроба. Вводь число: ».
![Visual basic 2010 починаємо з нуля, світ пк, видавництво «відкриті системи» (значення лічильника буде) Visual basic 2010 починаємо з нуля, світ пк, видавництво «відкриті системи»](https://images-on-off.com/images/157/visualbasic2010nachinaemsnulyamirpkizdat-82126d65.jpg)
Користувач вводить значення в змінну p в 90-му рядку. Якщо тут запровадити не число, а будь-якої іншої символ, вийде помилка. Надалі ми будемо вчитися обробляти подібні варіанти подій, а поки не станемо зупинятися на цьому.
Конструкція з 100-ї по 170-й рядок називається розгалуженням. Залежно від виконання того чи іншого умови здійснюються ті чи інші команди. Припустимо, ви вгадали і введене p дорівнює задуманому n. Тоді комп'ютер виконає оператори з 110-ї і 120-ї рядків. До речі, команда Exit For потрібна, щоб в разі перемоги завершити виконання запущеного циклу 60-180 і передати управління оператору в рядку 190.
Рядок 140 буде задіяна в роботі алгоритму, якщо введене p виявиться більше задуманого n. А рядок 160 виповниться, якщо введене p виявиться менше задуманого n. Правда, все просто?
Конструкція з розгалуженням в рядках з 190-ї по 220-ю спрацює, якщо на виході з циклу значення лічильника i дорівнюватиме 8. Пояснимо: якщо б ви вгадали задумане число на останній, 7-й, спробі, то значення i дорівнювало б 7 . А якщо воно дорівнює 8, то, значить, цикл завершився сам собою, «щасливий» оператор Exit For з рядка 120 не виконувався.
Ну і останній оператор з рядка 230 очікує введення в консоль будь-якого одного (!) Символу. Якби не він, то написане консольний додаток відпрацювало б без помилок і відразу ж закрилося. До речі, спробуйте замість Console.ReadKey () написати оператор GoTo 30. Запустіть налагодження додатка клавішею. Що вийшло в результаті? Якщо щось не зрозуміли, встаньте курсором на GoTo і натисніть клавішу - «Допомога» вам в допомогу.
А наступного разу ми запрограмуємо ще більш цікаву консольную гру.