birmaga.ru
добавить свой файл

1
Дана последовательность из 30-ти случайных чисел, взятых из отрезка [100, 2000]. Построить гистограмму данной последовательности. Определить максимальное и минимальное значение случайных чисел из данной последовательности и их порядковые номера. Выделить на гистограмме максимальный и минимальный из случайных чисел.

1-й этап: Разберем сначала вывод на форму последовательности случайных чисел и построение гистограммы:


Результат выполнения программы


Private Sub Form_Load()

AutoRedraw = True

End Sub
Private Sub Command1_Click()

x = 1000
‘цикл последовательности случайных чисел (повторение 30 раз)

For i = 1 To 30
‘получение случайного числа из заданного отрезка [100, 2000]

a = Int (Rnd * 1900 + 100)
‘установка на форме в колонку для вывода всех случайных чисел

PSet (10, i * 200), RGB(200, 200, 200)
‘вывод номера и значения i-го случайного числа

Print i; " "; a
‘построение гистограммы последовательности случайных чисел

Line (x, 2000)-(x + 170, 2000 - a), RGB(255, 0, 0), B

x = x + 200

Next i

End Sub

2-й этап: определение и выделение на гистограмме максимального и минимального
Результат выполнения программы
Private Sub Command2_Click() ‘предположение, что максимальное заведомо малое
Max = 0
Min = 2000

x = 1000

For i = 1 To 30

a = Int(Rnd * 1900 + 100)

PSet (10, i * 200), RGB(200, 200, 200)

Print i; " "; a

Line (x, 2000)-(x + 170, 2000 - a), RGB(255, 0, 0), B

x = x + 200
‘определение максимального значения и его порядкового номера.

If a > Max Then

Max = a

nmax = i

End If
‘определение минимального значения и его порядкового номера.

If a < Min Then

Min = a

nmin = i

End If

Next i

‘вывод на форму максимального и минимального с их номерами.

PSet (2000, 3000), RGB(200, 200, 200)

Print "мак. значение="; Max; " его номер="; nmax

PSet (2000, 3200), RGB(200, 200, 200)

Print "мин. значение="; Min; " его номер="; nmin
‘выделение максимального и минимального на гистограмме

Line (nmax * 200 + 800, 2000)-(nmax * 200 + 970, 2000 - Max), RGB(0, 0, 255), BF

Line (nmin * 200 + 800, 2000)-(nmin * 200 + 970, 2000 - Min), RGB(0, 0, 255), BF

End Sub