5
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА
Федеральное государственное бюджетное образовательное учреждение высшего образования
«ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ Императора Александра 1»
Кафедра «ИНФОРМАЦИОННЫЕ И ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ»
Дисциплина «ИНФОРМАТИКА»
Отчёт
по лабораторной работе №5
«Структура »
ВАРИАНТ 6
Выполнил студент Факультет: Группа: |
|
. |
Проверила старший преподаватель |
|
. |
Санкт-Петербург
Задача 1.
Постановка задачи.
Словесное описание задачи.
Пересчитать вектор М размерности К так, чтобы поменялись местами значения первого элемента и последнего, второго и предпоследнего и т.д. Исходный и полученный векторы напечатать.
Проанализировать выполнение программы на примере:
М={1; 2; 3; 4; 5; 6; 7; 8; 9; 10}
Состав входных и выходных данных.
Входные данные:
М- одномерный массив вещественных чисел.
К- размерность массива, целое число.
Выходные данные:
М- пересчитанный массив вещественных чисел.
Математическая модель.
M0=Mi
Mi=MK-i+1
MK-i+1=M0
Схема алгоритма.
Начало
K,
{M}
{M}
i=1
Да
M0=Mi
i<=K/2
Нет
Mi=MK-i+1
MK-i+1=M0
i=i+1
{M}
M=M+dM
конец
4. Код программы.
Option Base 1
Private Sub CommandButton1_Click()
Dim K As Integer, i As Integer, M() As Single, M0 As Single
K = InputBox("Введите размерность")
ReDim M(1 To K)
Debug.Print "Исходный вектор"
For i = 1 To K
M(i) = InputBox("Mi= ")
Debug.Print M(i);
Next
For i = 1 To K / 2
M0 = M(i)
M(i) = M(K - i + 1)
M(K - i + 1) = M0
Next
Debug.Print
Debug.Print "Полученный вектор"
For i = 1 To K
Debug.Print M(i);
Next
End Sub
5. Откладка программы.
Задача 2.
Постановка задачи.
Словесное описание задачи
Заполнить единичную матрицу Е размерности n. Для контроля правильности заполнения напечатать значение двух элементов с индексами К, L, и М, MI. Отладку программы выполнить на примере:
n = З; К = 1; L = 1; MI = 2; М = 1.
Состав входных и выходных данных.
Входные данные:
n – размерность массива, целое число.
K, L – индексы первого элемента, вещественный тип.
MI, M – индексы второго элемента, вещественный тип.
Выходные данные:
{E}- единичная матрица целых чисел.
Математическая модель.
Если i≠j, то E(i;j)=0
Если i=j, то E(i;j)=1
Схема алгоритма.
начало
n,
{E}
K,
L; MI, M
i=i+1
i=1
да
да
да
Eij=0
j<>i
j<=n
j=1
i<=n
Нет
Нет
Нет
j=j+1
Eij=1
E(K,L);
E(MI,M)
конец
Код программы.
Option Base 1
Private Sub Command1_Click()
Dim i As Integer, j As Integer, n As Integer, E() As Single
Dim MI As Single, M As Single, K As Single, L As Single
n = InputBox("Введите размерность")
K = InputBox(" Введите K")
L = InputBox("Введите L")
MI = InputBox("Введите MI")
M = InputBox("Введите M")
ReDim E(n, n)
For i = 1 To n
For j = 1 To n
If i <> j Then
E(i, j) = 0
Else
E(i, j) = 1
End If
Next
Next
Debug.Print
Debug.Print "Полученная матрица"
For i = 1 To n
For j = 1 To n
Debug.Print E(i, j);
Next
Debug.Print
Next
Debug.Print
Debug.Print "Элемент с индексами K,L"
Debug.Print "E(K,L)="; E(K, L);
Debug.Print
Debug.Print "Элемент с индексами MI,M"
Debug.Print "E(MI,M)="; E(MI, M);
End Sub
Откладка программы.