Лекция: Полезный совет
1. Дано натуральное число. Определить, является ли разность его максимальной и минимальной цифр четным числом.
Решение на Visual Basic:
Dim digA, i, f, f1, f2, s As Integer
digA = Text1 'считывание числа
'Поиск минимальной цифры
fmin = Mid(digA, 1, 1) 'Пусть минимальная цифра для начала равна первой цифре числа
For i = 1 To Len(digA) 'Организуем цикл, который зависит от длины числа
f = Mid(digA, i, 1)
If f <= fmin Then
fmin = f
End If
Next i
'Поиск максимальной цифры числа
fmax = Mid(digA, 1, 1)
For i = 1 To Len(digA)
f = Mid(digA, i, 1)
If f >= fmax Then
fmax = f
End If
Next i
s = fmax — fmin 'разность максимальной и минимальной цифр числа.
Text3 = s 'вывод на экран разницы.
If s = 0 Then
Text2 = «это нуль»
ElseIf s Mod 2 = 0 Then 'Если остаток от деления равен нулю, то число четное.
Text2 = «Чет»
Else
Text2 = «нечет»
End If
2. Известны координаты трех точек на плоскости. Если они могут являться вершинами треугольника, то определить вид этого треугольника и по формуле Герона определить его площадь.
Решение на Visual Basic:
Dim x1, x2, x3, y1, y2, y3 As Double
x1 = Text1
x2 = Text3
x3 = Text5
y1 = Text2
y2 = Text4
y3 = Text6
lac = Sqr((x3 — x1) ^ 2 + (y3 — y1) ^ 2)
lab = Sqr((x2 — x1) ^ 2 + (y2 — y1) ^ 2)
lbc = Sqr((x3 — x2) ^ 2 + (y3 — y2) ^ 2)
If lac < lab + lbc And lab < lac + lbc And lbc < lac + lab Then
Text7 = «Это треугольник»
Else: Text7 = «Это точка или линия»
End If
If lab = lbc = lac Then
Text8 = «Равносторонний»
ElseIf lab = lac Or lab = lbc Or lbc = lac Then
Text8 = «Равнобедренный»
Else: Text8 = «Все стороны разные»
End If
If Text7 = «Это точка или линия» Then
Text8 = ""
End If
p = (lab + lac + lbc) / 2
S = Sqr(p * (p — lab) * (p — lac) * (p — lbc))
Text9 = S
Text10 = lab
Text11 = lac
Text12 = lbc
3. Даны две фамилии. Определить какая из них длиннее. Ввод данных осуществляется в текстовый файл «input.txt», а вывод в файл «output.txt».
Решение на Visual Basic:
Open «input.txt» For Input As #1
Input #1, a, b
Close #1
If Len(a) > Len(b) Then
Open «Output.txt» For Output As #2
Print #2, a
ElseIf Len(a) < Len(b) Then
Open «Output.txt» For Output As #2
Print #2, b
Else
Open «Output.txt» For Output As #2
Print #2, «одинаковые:», a, b
End If
Close #2
4. В заданном массиве из N элементов есть хотя бы один нуль. Вычислить произведение элементов массива до первого нуля.
Решение на Visual Basic:
Dim n, arr As Double
n = 1
arr = 1
Do While arr <> 0
arr = InputBox(«Введите элемент массива», «Ваша цифра»)
If arr = 0 Then
Exit Do
End If
Text2 = arr * n
n = arr * n
Loop
Полезный совет
· Если у вас на компьютере установлено несколько версий Microsoft Office, то вы наверняка сталкивались с одной весьма неприятной ситуацией. Microsoft Word, начиная с 2000-й версии, при каждом своем запуске сканирует системный реестр и перепрограммирует открытие файлов .doc «на себя», заставляя их открываться именно в новой версии, а не в старой. Помимо того, что это занимает немало времени, подобная ситуация мешает использовать на компьютере сразу две версии Word, работая в старой и постепенно осваивая новую.
Для того, чтобы «отучить» Word2002 (из OfficeXP) перерегистрировать расширения файлов при каждом запуске, создайте в системном реестре, в разделе HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Word\ Options параметр NoRereg, имеющий формат Dword и равный 1, а чтобы сделать то же с Word2000, отредактируйте так же содержимое раздела HKEY_CURRENT_USER\Software\ Microsoft\Office\9.0\Word\Options. Подробнее о системном реестре вы можете узнать в главе 14.
Кроме того, при вызове процедуры или функции иногда требуется указывать команду Call (подробнее смотрите в справочной системе).