
- •Алгоритм, свойства алгоритмов
- •Блок-схемы, их построение.
- •Одномерные массивы, их объявление, формирование и вывод на экран.
- •Расчет суммы и произведения в цикле
- •Изменение последовательности элементов в векторе.
- •Сортировка элементов одномерного массива.
- •Вставка элемента в упорядоченный массив.
- •Транспонирование матрицы.
- •Перемещение, вставка и удаление элементов матрицы.
- •Выделение элементов, стоящих на главной диагонали, выше или ниже нее.
- •Выделение элементов, стоящих на побочной диагонали, выше или ниже нее.
Расчет суммы и произведения в цикле
Пример 2. Определить среднюю температуру за неделю
For i As Integer = 0 To 6 'Выполняем 7 раз
Console.WriteLine("Температура в {0}", i & " день" )
t = Console.ReadLine()
s = s + t
st = s/7
Console.WriteLine("Средняятемпература = {0}", st )
Console.ReadLine()
Next i
Работапрограммы. Цикл 7 раз выводит запрос о температуре t в
определенный день педели. Для удобства пользователя запрос
содержит номер дня. Полученные данные суммируются и после
окончания работы цикла делятся на 7. Результат присваивается
переменной st, которую выводит на экран метод WriteLine( ).
Вычисление суммы температур за неделю происходит в строке s = s + t.
Аналогично работают алгоритмы разности, произведения, подсчета
количества (n = n + 1) и многие другие.
Пример 3. Вычислить значение y = Σ x2 + Π x/2, если х = (5, 8, 6, 7, 9)
i=0 i=0
For i As Integer = 0 To 4 'Выполняем 5 раз
Console.WriteLine("Введите {0}", i& " элемент" )
x(i) = Console.ReadLine()
Next i
Dim s As Double = 0
Dim p As Double = 1
For iAs Integer = 0 To 4
s = s + x(i)^2
p = p * (x(i) / 2)
Next i
y = s + p
Console.WriteLine("y = {0}", y)
Console.ReadLine()
Поиск максимума и минимума в одномерном массиве, сортировка массива.
Поиск максимума и минимума в одномерном массиве
Большой спектр задач связан с поиском минимального или
максимального значения из ряда величин. Алгоритм составления
таких программ основан на сравнении каждого элемента выборки с
каким-либо эталонным значением. Если рассматриваемое число
больше или, при поиске минимума, меньше эталона, то эталоном
становится величина данного элемента и проверка продолжается уже
относительно нового значения эталона.
Пример 6. Найти максимум Мax и минимум Min вектора d(20)
Dim max As Double = d(0)
Dim min As Double = d(0)
For i As Integer = 1 To 19 ‘Переборначинаемсо 2-го
элемента
If d(i) > max Then max = d(i)
If d(i) < min Then min = d(i)
Next i
Console.WriteLine("Max = {0}", max)
Console.WriteLine("Min = {0}", min)
Console.ReadLine()
Работа программы. Переменные Max и Min приравнивают к первому
элементу массива, для того чтобы задать начальное значение эталона,
относительно которого будет осуществляется поиск. Если величина
очередного элемента массива удовлетворяет условию в одном из
операторов If, то переменной Max или Min присваивается значение
этого элемента. Если условие не выполняется, то Next передает
управление в начало цикла, счетчик увеличивается на 1 и программа
рассматривает следующий элемент массива.
Поиск порядкового номера элемента, удовлетворяющего условию.
Порядковый номер элемента, удовлетворяющего условию
Порядковый номер или координату элемента бывает нужно
определить в задачах, связанных с перемещением элементов внутри
массива, например в сортировке по возрастанию.
Суть алгоритма сводится к тому, что номер элемента присваивается
дополнительной переменной.
Пример 7. Найти порядковые номера максимального Nmax и ми-
нимальногоNmin элементов массива d(20)
Dim max As Double = d(0)
Dim min As Double = d(0)
Dim NmaxAs Integer = 0
Dim NminAs Integer = 0
For iAs Integer = 1 To 19
If d(i) > max Then
max = d(i)
Nmax = i
End If
If d(i) < min Then
min = d(i)
Nmin = i
End If
Next i
Console.WriteLine("Номер Max = {0}", Nmax)
Console.WriteLine("Номер Min = {0}", Nmin)
Console.ReadLine()
Работа программы. Номер итерации цикла (значение счетчика i)
равен номеру рассматриваемого элемента массива. Переменным Nmax
и Nmin присваиваются номера элементов, которые были больше (при
поиске минимума — меньше) эталона (Мax или Min). Счетчик i
увеличивается на 1 в каждой итерации цикла, a Nmax и Nmin меняют
значения только при выполнении условия, поэтому после окончания
цикла они хранят номера искомых элементов (номера элементов, зна-
чения которых последний раз присваивались эталонам).
Вставка элемента в вектор и удаление.
Вставка элемента в вектор
Вставить элемент в вектор — значит раздвинуть вектор на одну
позицию. Например, вставить число 5 в третью позицию вектора V(l, 2,
3, 4, 5, 6). После вставки вектор станет на один элемент больше — V(l,
2, 5, 3, 4, 5, 6).
Пример 8. Вставить в k-ю позицию вектора b(n) новый элемент,
равный h
Dimh AsInteger= 101 ‘Любое число
Dimk AsInteger= 3 ‘Номер вставляемой позиции
Dim n As Integer = 5 ‘Размермассива
Dimm AsInteger= 6 ‘Значения элементов
Dim b(n) As Integer
For iAs Integer = 0 To n - 1
b(i) = m
Console.WriteLine("b({0}", i&") = " & b(i))
m = m * 2
Next i
Console.WriteLine(" ")
n = n + 1
ReDim Preserve b(n)
For iAs Integer = n - 1 To k - 1 Step -1
b(i) = b(i - 1)
Next
b(k-1) = h
For iAs Integer = 0 To n - 1
Console.WriteLine("b({0}", i&") = " & b(i))
Nexti
Console.ReadLine()