Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Функции преобразования данных




 

Среди встроенных функций VBA следует выделить такие, которые работают с различными типами данных и выполняют соответствующие преобразования строковых и числовых значений. В таблице 24 представлен синтаксис таких функций, их описание и примеры использования.

 

Таблица 24

Краткие сведения о функциях преобразования данных

 

Синтаксис функции Описание функции Пример
Вызов функции Результат
Val(строка) Возвращает число, содержащееся от начала строки до первого символа, не распознаваемого в качестве числа. Игнорируются символы пробела, табуляции и перевода строк Val(" 1 2.3")   Val(" 1 2,3")   Val("1" & chr(10) & "2") 12.3      
Str(число) Возвращает строковое представление числа с учётом знака Str(1+3)   Str(1-3) " 4"   "-2"
Len(выра­жение) Возвращает размер памяти в байтах, занимаемый числовым типом данных, или длину строки-аргумента Len(a%)   Len("123")  
Chr(код) * Возвращает строку, состоящую из символа, соответствующего коду ANSI. Chr(62) Chr(65) Chr(225) ">" "A" "б"
Asc(строка) * Возвращает число, представляющее ASCII или ANSI код первого символа строки Asc(">") Asc(Chr(65)) Asc("бр-р…")  
Format(вы­ра­жение [, фор­мат ]) * Возвращает значение выражения, преобразованное согласно описанию формата. Описанию этой функции в справочной системе VBA посвящено около десяти страниц Format(4) Len(Format(4)) Format(12.3, "##0.00") Format(0.05, "0.0%") Format("xYz", ">") "4" "12.30"   "5.0%"   "XYZ"  

 

Вопросы и тестовые задания для самоконтроля

 

1. Даны выражения, записанные на алгоритмическом языке VBA. Запишите эти выражения в виде математических формул: sin(x)^2+cos(x)^2; a^2*i+exp(c*d); (b+sin(x))/(c+d); sin(x)^2+cos(x^2); a^(2*i)+exp(c)*d; b+sin(x)/c+d.

2. Укажите приоритет выполнения операций и определите значения логического выражения при X=0 и Y=1.5, а также при X=2.5 Y=0.5.

X+Y<4 AND X^2 + Y^2>=4

3. Укажите приоритет выполнения операций и определите значения логического выражения при X=0.5 и Y=0.5, а также при X=1.5 и Y=0.5.

ABS(X) + ABS(Y)<=1

4. Укажите приоритет выполнения операций и определите значения логического выражения при X=0.5 и Y=0.5, а также при X=1.5 и Y=1.5.

(ABS(X)>=1 OR ABS(Y)>=1) AND X^2+Y^2<9

5. Дан фрагмент программы:

If x<1 Then

y=x+1

Elseif x<2 Then

y=x+3

Elseif x<4 Then

y=x^2

Else

y=x-2

End If

z=2*y

MsgBox "X=" & x & " Y=" & y & " " & "Z=" & z

Укажите результат работы этого фрагмента в каждом из следующих случаев: x=0.5; x=1.5; x=3; x=5.

6. Дан фрагмент программы:

x = val(InputBox("Введите координату x”))

y = val(InputBox("Введите координату y"))

sR = "точка (" & x & ", " & y & ") находится"

If x+y<2 and x>0 and y>0 Then

MsgBox sR & "в треугольнике"

Elseif (x+1)^2+(y+1)^2<1 Then

MsgBox sR & "внутри круга"

Else

MsgBox sR & "вне областей"

End If

Укажите результат работы этого фрагмента для каждого из случаев: x=0.5 и y=0.8; x=2.5 и y=1.5; х=-0.7 и y=1; x=-0.7 и y=1.

7. Назовите операторы языка VBA, с помощью которых организуется циклический вычислительный процесс, назначение и отличительные особенности выполнения каждого из них.

8. Можно ли выйти из цикла FOR … NEXT до его завершения и если можно, то как?

9. Укажите назначение оператора WHILE … WEND?

10. Укажите, какой результат будет выведен на экран (в файл) при выполнении следующего фрагмента программы:

For t=1 To 7

Print t; t+2;

Next t

11. Укажите, какой результат будет выведен на экран (в файл) при выполнении следующего фрагмента программы:

For f=0 To 9 Step 3

Print 2*f; f*f;

Next f

12. Определите, сколько раз будет выполнено тело цикла в приведенном фрагменте программы:

For i = 2 To n Step 1

s = s + i

Next i

при n, равном: а) 2; б) 0; в) 4; г) 5.

13. Определите значение переменной a после выполнения каждого из фрагментов программы:

1) a = 0 For i =1 To 7 a = a + i Next i 2) a = 1: n = 7 For i = n To 2 Step –1 a = a + i Next i 3) a = 0 For i = 2 To 7 a = a + i Next i

14. Определите значение переменной с после выполнения каждого из фрагментов программы:

1) c=0 For i=1 To 4 c=c+(i+2) Next i 2) c=1 For i=1 To 4 Step 2 c=c*(i+1) Next i 3) c=0 For i=2 To 5 Step 2 c=c+i^2 Next i

15. * Укажите, какое значение примет строковая переменная N$ в результате работы фрагмента программы:

W$="Я ХОРОШО УМЕЮ РАБОТАТЬ НА IBM PC"

N$=MID$(W$,3,7)+MID$(W$,15)

1) Я УМЕЮ

2) РАБОТАТЬ УМЕЮ

3) ХОРОШО РАБОТАТЬ

4) РАБОТАТЬ ХОРОШО

5) ХОРОШО РАБОТАТЬ НА IBM PC

6) Я УМЕЮ РАБОТАТЬ НА IBM PC

 

вернуться к содержанию

 

 





Поделиться с друзьями:


Дата добавления: 2015-01-29; Мы поможем в написании ваших работ!; просмотров: 1862 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Своим успехом я обязана тому, что никогда не оправдывалась и не принимала оправданий от других. © Флоренс Найтингейл
==> читать все изречения...

2396 - | 2210 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.