Основы программирования на VBA. Регеда В.В - 35 стр.

UptoLike

Составители: 

нятся адреса возврата из подпрограмм. Ниже приводится пример програм-
мы, для сравнения двух треугольников по площади.
REM Присвоение значений сторонам 1 треугольника
a=5
b=6
c=7
GOSUB triangle
sl=s
REM Присвоение значений сторонам 2 треугольника
a=4
b=8
c=6
GOSUB triangle
s2=s
IF s2<sl THEN
PRINT "Площадь треугольника 1_
больше, чем треугольника 2"
ELSEIF s2>s1 THEN
PRINT "Площадь треугольника 2_
больше, чем треугольника 1"
ELSE
PRINT “Площади треугольников равны
END IF
END
REM Подпрограмма для вычисления площади
triangle:
p=(a+b+c)/2
s=SQR(p*(p-a)*(p-b)*(p-c))
RETURN
Обратите внимание, что перед подпрограммой, стоит оператор END,
иначе бы в конце программы она выполнилась бы еще раз, даже без опера-
тора GOSUB.
2.8.2. Ознакомиться с операторами TB, используемыми для опреде-
ления функций пользователя. В общем виде формат определения функции
имеет или строчный вариант:
DEF FNимя [(список аргументов)] = выражение
нятся адреса возврата из подпрограмм. Ниже приводится пример програм-
мы, для сравнения двух треугольников по площади.
      REM Присвоение значений сторонам 1 треугольника
             a=5
             b=6
             c=7
      GOSUB triangle
      sl=s
      REM Присвоение значений сторонам 2 треугольника
             a=4
             b=8
             c=6
      GOSUB triangle
      s2=s
             IF s2s1 THEN
                       PRINT      "Площадь      треугольника       2_
                       больше, чем треугольника 1"
                  ELSE
                       PRINT “Площади треугольников равны”
             END IF
      END
      REM Подпрограмма для вычисления площади
      triangle:
             p=(a+b+c)/2
             s=SQR(p*(p-a)*(p-b)*(p-c))
      RETURN
      Обратите внимание, что перед подпрограммой, стоит оператор END,
иначе бы в конце программы она выполнилась бы еще раз, даже без опера-
тора GOSUB.
      2.8.2. Ознакомиться с операторами TB, используемыми для опреде-
ления функций пользователя. В общем виде формат определения функции
имеет или строчный вариант:
             DEF FNимя [(список аргументов)] = выражение