Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Передача параметров по ссылке и по значению






    Передача параметров по значению - еще один способ повысить надежность программирования. Рассмотрим пример.

    Вот процедура Квадр, вычисляющая периметр и площадь квадрата по его стороне:

    Dim A As Integer 'сторона

    Dim P As Integer 'периметр

    Dim S As Integer 'площадь

     

    Private Sub Квадр(Сторона As Integer, Периметр As Integer, Площадь As Integer)

    Периметр = 4 * Сторона

    Площадь = Сторона ^ 2

    End Sub

     

    Private Sub Command1_Click()

    A = 10

    Квадр A, P, S

    Debug.Print " Сторона="; A; " Периметр="; P; " Площадь="; S

    End Sub

    Результат:

    Сторона= 10 Периметр= 40 Площадь= 100

    Здесь щелчком по кнопке вы приказываете компьютеру вычислить периметр и площадь квадрата со стороной 10. Компьютер, выполняя тело процедуры Квадр и присваивая значения переменным Периметр и Площадь, тем самым присваивает значения переменным P и S, то есть изменяет содержимое ячеек памяти, отведенных под эти переменные. Говорят, что в этом случае между вызывающей и вызываемой процедурами осуществляется передача параметров по ссылке. Чтобы подчеркнуть, что вы используете именно этот способ передачи параметров, вы можете записать заголовок процедуры так:

    Private Sub Квадр (Сторона As Integer, ByRef Периметр As Integer, ByRef Площадь As Integer)

    хоть это и излишне.

    При этом способе вызываемая процедура получает полный контроль над переменными A, P и S вызывающей процедуры и может присваивать им все, что хочет. Это удобно, но небезопасно. Ведь в этом случае переменные становятся беззащитными против ошибок в вызываемой процедуре. Так, программист может случайно, для каких-то других нужд, включить в процедуру какой-нибудь оператор, меняющий значение параметра Сторона, например, Сторона=1. Предположим, в этом случае процедура примет такой вид:

    Private Sub Квадр(Сторона As Integer, Периметр As Integer, Площадь As Integer)

    Периметр = 4 * Сторона

    Площадь = Сторона ^ 2

    Сторона = 1

    End Sub

    Тогда результаты будут напечатаны неверно:

    Сторона= 1 Периметр= 40 Площадь= 100

    Чтобы обезопасить себя от такой ситуации, вы можете явно приказать Бэйсику, чтобы он не смел трогать такую-то переменную, отдающую свое значение параметру. Для этого достаточно заголовок процедуры написать так:

    Private Sub Квадр (ByVal Сторона As Integer, Периметр As Integer, Площадь As Integer)

    Теперь, что бы ни произошло с параметром Сторона, значение переменной A меняться не будет. Убедитесь, что теперь снова все в порядке. Такой способ передачи параметров называется передачей параметров по значению.

    Не переборщите с надежностью. Так, глупо было бы писать

    Private Sub Квадр (ByVal Сторона As Integer, ByVal Периметр As Integer, ByVal Площадь As Integer)

    так как результат в этом случае был бы такой:

    Сторона= 10 Периметр= 0 Площадь= 0

     

    Задание 130: На двух метеостанциях (A и B) в течение года измерялась температура. Соответственно созданы два массива чисел длиной 365. Затем оказалось, что на обеих станциях термометры были испорчены: на станции A термометр все время показывал температуру на 2 градуса выше настоящей, а на станции B - на 3 градуса ниже. Написать процедуру с двумя параметрами, которая исправляет один исходный массив и с ее помощью исправить оба массива. Один параметр - величина поправки, другой - массив температур.






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.