Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Разбор олимпиадных задач




Двумерные массивы.

Объявление массива

Dim A(9) As Byte

Dim arrB(1 To 1000) As Integer.

В первом случае нумерация индексов i начинается с нуля. Во втором – начинается с единицы.

Например.

Dim A(1 To 10) as Integer

Dim i as Byte

For i = 1 To 10

A(i) = i^2

Text1.Text = Text1.Text + CStr(A(i))

Next

Ответ: 149162536496481100

Объявление:

Dim A(1 To 9, 1 To 9) As Byte

Dim B (9,9) As Byte.

Например.

 

n k         5
           
           
           
           
           

 

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

 




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


Дата добавления: 2014-12-24; Просмотров: 373; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.