Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_Metod_2009_VVYeD.doc
Скачиваний:
6
Добавлен:
06.12.2018
Размер:
1.14 Mб
Скачать

Пример 2

' Имя файла Sort_Choice.vbs

' Программа демонстрирует сортировку вектора по неубыванию методом простого

' выбора (первый способ).

Option Explicit

Dim i, j, s, B, x, k, m

B=Array (5, 3, 2, 1, 0, -1) ' вектор, который должен быть отсортирован

' Начало алгоритма сортировки

For i=0 to 4

k=i : x=B(i)

For j=i+1 to 5

If B(j)<x Then

k=j

x=B(j)

End If

B(k)=B(i)

B(i)=x

For m=0 to 5

s=s&B(m)&" " ' в переменную s записывается изменённый вектор

Next

s=s&VbCrLf

Next

Next

' Конец алгоритма сортировки

MsgBox "Задача:"&vbCrLf&_

"Отсортировать вектор (5, 3, 2, 1, 0, -1)"&vbCrLf&vbCrLf&_

"Пошаговая сортировка:"&vbCrLf&_

s&vbCrLf,vbInformation, "Сортировка простым выбором (1 сп):"

Пример 3

' Имя файла Sort_Insert.vbs

' Программа демонстрирует сортировку вектора по неубыванию методом простых

' включений.

Option Explicit

Dim i, j, s, x, k, m

Dim B (6) ' вектор, который должен быть отсортирован

B(1)=5

B(2)=3

B(3)=10

B(4)=1

B(5)=0

B(6)=-1

' Начало алгоритма сортировки

For i=1 to 6

x=B(i) : B(0)=x : j=i-1

While x<B(j)

B(j+1)=B(j) : j=j-1

Wend

B(j+1)=x

For m=0 to 6

s=s&B(m)&" " ' в переменную s записывается изменённый вектор

Next

s=s&VbCrLf

Next

' Конец алгоритма сортировки

MsgBox "Задача:"&vbCrLf&_

"Отсортировать вектор (5, 3, 10, 1, 0, -1)"&vbCrLf&vbCrLf&_

"Пошаговая сортировка:"&vbCrLf&_

s&vbCrLf,vbInformation, "Сортировка простыми включениями:"

Пример 4

' Имя файла Sort_Bin_Insert.vbs

' Программа демонстрирует сортировку бинарными включениями

Option Explicit

const N=8

dim Arr()

redim Arr(N) 'наш массив

dim i 'счетчик

randomize

For i=1 To N

arr(i)=Cint(10*rnd(1))

next

dim s

s=""

For i=1 To N

s=s+CStr(i)+" --> "+Cstr(arr(i))+";"+vbcrlf

next

dim x,j,l,r,m

' Начало алгоритма сортировки

For i=2 to N

x=Cint(arr(i)): l=1: r=Cint(i-1)

While Cint(l)<=Cint(r)

m=Cint(l+r)\2

if CInt(x)<arr(m) then

r=m-1

else

l=m+1

end if

Wend

j=i-1

While Cint(j)>=Cint(l)

arr(j+1)=arr(j)

j=j-1

Wend

arr(l)=x

Next

' Окончание алгоритма сортировки

dim s1

s1=""

For i=1 To N

s1=s1+CStr(i)+" --> "+Cstr(arr(i))+";"+vbcrlf

next

msgbox "Неотсортированный массив:"&vbCrLf&_

s&vbcrlf&vbcrlf&"Отсортированный:"&vbCrLf&_

s1,0,"Сортировка бинарными включениями:"

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]