LoveRead.info » Книги » Разная литература » Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория»

Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория»

Книгу Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

124 0 18:09, 02-02-2024

Книга Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» читать онлайн бесплатно без регистрации

Интернет-журнал колхозников, инженеров и разнорабочих науки. Журнал содержит материалы найденные в Интернет или написанные для Интернет и является полностью некоммерческим.

    1 ... 134 135 136 137 138 139 140 141 142 ... 192
    Перейти на страницу:
    в услужливо возникающем окне Immediate.

    А вот теперь садитесь за компьютер. Создайте новый проект. Ничего реального мы из него делать не будем, он будет служить только для упражнений с переменными величинами. Разместите в нем кнопку, а в окно кода запишите такую программу:

    Private Sub Command1_Click()

      а = 2 * 3 + 4

      b = а

      у = а + b + 1

      Debug.Print a, b, y, b + у

    End Sub

    Запустите проект. Щелкните по кнопке Command1 — в окне Immediate должны появиться 4 числа:

    10 10 21 31

    Вы видите окно Immediate? Если нет, то — View->Immediate Window.

    Какая польза от переменных величин?

    Самая крохотная и простая польза в том, что с их помощью удобно решать несложные вычислительные задачи. Например, даны стороны прямоугольника: а=27018, Ь=3954. Вычислить его площадь и периметр (напомню, что периметр — это сумма длин сторон прямоугольника).

    Создайте проект с кнопкой. Задачу решает следующая программа:

    Private Sub Command1_Click()

      а = 27018

      b = 3954

      S = а*b 'Площадь

      p=2*a+2*b 'Периметр

      Debug.Print S, p

    End Sub

    После запуска и щелчка по кнопке вы увидите в окне Immediate следующие два числа:

    106829172 61944

    Первое из них — площадь, второе — периметр. Без применения переменных величин операторы получились бы более громоздкими:

    S = 27018*3954 'Площадь

    р = 2*27018 + 2*3954 'Периметр

    что особенно заметно в больших программах. Есть и масса других преимуществ, которые вы почувствуете в следующих главах.

    Продолжаем о переменных величинах

    Нужно иметь в виду, что в операторе присваивания слева от знака равенства не может стоять число или выражение. Можно писать с=34, но нельзя писать 34=с. Можно писать z=f-v+990, но нельзя писать f-v+990=z. Правило это принято вот почему. Оператор присваивания устроен так, что сначала смотрит или вычисляет, какое значение имеет правая часть, а затем присваивает это значение тому, что стоит в левой части. То, что справа от знака равенства, присваивается тому, что слева от знака равенства, а не наоборот. Нет смысла присваивать значение числу или выражению.

    Обратите внимание еще на один важный момент. Когда школьник видит выражение (например, d+2d), он не обязательно его вычисляет. Он может его преобразовать или, скажем, упростить (получив 3d). Компьютер же, видя выражение, сначала его, может быть, и упростит, но затем обязательно вычислит. А для этого он должен знать численные значения входящих в него величин (в нашем случае это величина d). Таким образом, вычисляя правую часть оператора присваивания (например, у=а+Ь+1), компьютер должен обязательно заранее знать, чему равны переменные, из которых эта правая часть состоит (в нашем случае это а и Ь). Ответственность за это знание лежит полностью на программисте. Пусть забывчивый программист записал такой фрагмент:. а=10: у=а+Ь+1…, нигде в программе не придав Ь никакого значения. Естественно, при вычислении выражения а+Ь+1 компьютер не будет знать, чему равно Ь. В такой ситуации разные языки программирования поступают по-разному. Некоторые "злые" языки просто отказываются вычислять выражения, "вредный" Турбо-Паскаль может подставить вместо Ь какую-нибудь ерунду (и молчок, между прочим), Visual Basic же добрый, он подставляет вместо Ь нуль.

    Проверим. Заставим Visual Basic в нашем последнем проекте про прямоугольник не выполнять оператор а = 27018. Для этого его можно просто стереть, но удобнее просто поставить перед ним кавычку, тогда Visual Basic подумает, что это комментарий и выполнять не будет:

    ’а = 27018

    Вот результат:

    0 7908

    Действительно, все выполнилось так, как если бы а было равно нулю.

    Объявление переменных величин InputBox

    Как мы можем задать компьютеру какую-нибудь величину? Оператором присваивания — раз. Введя ее в текстовое поле, как мы делали в калькуляторе — два. Есть еще один удобный и приятный способ — InputBox.

    В вашем проекте о прямоугольнике вы можете хоть сто раз нажимать на кнопку

    — результаты все время будут одинаковые. Это потому что исходные данные а=27018 и Ь=3954 никто не меняет. Скучно. Хорошо бы компьютер при нажатии на кнопку каждый раз спрашивал нас, чему равны стороны прямоугольника. А мы бы ему отвечали. А уж потом он вычислял.

    Для этого нам нужно слегка изменить программу:

    Private Sub Command1_Click()

      а = InputBox("Введите ширину прямоугольника")

      b = InputBox("Введите высоту прямоугольника")

      S = а*Ь

      р = 2*а + 2*Ь

      Debug.Print S, р

    End Sub

    Как видите, заменены первые две строки: а=27018 и Ь=3954.

    Конструкция

    а = InputBox("Введите ширину прямоугольника")

    есть оператор присваивания и означает она приказ компьютеру вывести сначала на экран вот такое окно — >

    После чего человек вводит в белое текстовое поле этого окна любое число и нажимает ОК. После этого компьютер присваивает переменной а введенное значение и продолжает работу, то есть переходит к выполнению следующего оператора. Запустите проект и посмотрите, как он работает.

    Если вам не нравится строка Project1 в заголовке окна, то вы можете задать свою строку, так дополнив оператор:

    а = InputBox("Введите ширину прямоугольника", "Ввод данных")

    Результат — >

    Почему плохо не объявлять переменные величины

    Посмотрим, где Visual Basic дает сбой, если не объявлять переменные величины. Рассмотрим простую задачу:

    Даны три стороны треугольника. Вычислить его периметр.

    Создаем новый проект с кнопкой для задачи о треугольнике. По аналогии с процедурой о прямоугольнике легко пишем процедуру для треугольника:

    неправильная процедура:

    Private Sub Command1_Click()

      а = InputBox("Введите первую сторону треугольника")

      b = InputBox("Введите вторую сторону треугольника")

      с = InputBox("Введите третью сторону треугольника")

      р = а + Ь + с

      Debug.Print р

    End Sub

    Запускаем проект, вводим стороны — 2, 3, 4 и какой результат мы видим? Вместо 9 мы видим 234! Почему? Здесь тот же случай, что и с калькулятором, там было то же самое, пока мы не применили Val. Почему? Первое: Visual Basic считает содержимое текстового поля окна InputBox (точно так же, как и содержимое обычного текстового поля) текстом, а не числом, если даже оно состоит из цифр. А раз так, то и переменные а, Ь, с, берущие свое значение из текстового поля, он

    1 ... 134 135 136 137 138 139 140 141 142 ... 192
    Перейти на страницу:
    1. Жалоба
    Отзывы - 0

    Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


    Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

    • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
    • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
    • 3. Просьба отказаться от нецензурной лексики.
    • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

    Надеемся на Ваше понимание и благоразумие. С уважением, администратор LoveRead.info.


    Установить VPN и читай слушай бесплатно

    Новые отзывы

    1. Валентина Валентина04 июль 13:25 Большое спасибо за интересную тему.  Сюжет заманчиввй,интересный. Жду продолжения ... Лекарь Фамильяров. Том 7 - Александр Лиманский
    2. Наталья По Наталья По01 июль 10:12 Ужасный перевод:(... Аркадия - Эрин Дум
    3. Вика Вика29 июнь 21:56 Какая хрень с первых строк.  У ребенка в 14 месяце не может быть черепно мозговой травмы при падании с дивана ... Вернуть семью любой ценой - Чарли Ви
    Все комметарии
    Новинки бесплатной онлайн библиотеки