Составление программы на алгоритмическом языке, выполняющей указанные преобразования с матрицами
Вывод преобразованной матрицы с новым содержимым вектора. Выдача на печать преобразованных матриц. Построение программы с массивами любой размерности, содержащими произвольные элементы. Расположение в матрице элементов в определенной последовательности.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 12.01.2010 |
Размер файла | 74,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Задание №37
Расположить в матрице A(N,N) элементы в последовательности указанной на рисунке.
Требования к программе:
1. Составить программу на алгоритмическом языке, выполняющую указанные преобразования с матрицами;
2. Вывести вектор, полученный случайно;
3. Вывести преобразованную матрицу с новым содержимым вектора;
4. Программа должна строиться таким образом, чтобы существовала возможность её использования с массивами любой размерности, содержащими произвольные элементы;
5. В программе должна быть предусмотрена выдача на печать исходных и преобразованных матриц;
6. Полученные результаты должны быть занесены в файл последовательного доступа и доступны для просмотра из него.
Изменённые свойства приложения
Begin VB.Form frmMain
BorderStyle = 1 'Fixed Single
Caption = "Задание №37"
ClientHeight = 4365
ClientLeft = 45
ClientTop = 435
ClientWidth = 6180
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 4365
ScaleWidth = 6180
StartUpPosition = 2 'CenterScreen
Begin VB.Frame Frame2
Caption = "Управление"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 4125
Left = 4590
TabIndex = 7
Top = 120
Width = 1485
Begin VB.CommandButton cmdSave
Caption = "&Сохранение"
Enabled = 0 'False
Height = 375
Left = 120
TabIndex = 11
Top = 1530
Width = 1245
End
Begin VB.CommandButton cmdPrint
Caption = "&Печать"
Enabled = 0 'False
Height = 375
Left = 120
TabIndex = 10
Top = 930
Width = 1245
End
Begin VB.CommandButton cmdExit
Cancel = -1 'True
Caption = "&Выход"
Height = 375
Left = 120
TabIndex = 9
Top = 3630
Width = 1245
End
Begin VB.CommandButton cmdRun
Caption = "&Решение"
Default = -1 'True
Enabled = 0 'False
Height = 375
Left = 120
TabIndex = 8
Top = 330
Width = 1245
End
End
Begin VB.TextBox txtOriginal
Height = 675
Left = 90
Locked = -1 'True
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 1
Top = 1350
Width = 4485
End
Begin VB.Frame Frame1
Caption = "Управление размерностью матрицы"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 885
Left = 90
TabIndex = 5
Top = 120
Width = 4515
Begin VB.TextBox txtN
Alignment = 2 'Center
Height = 285
Left = 3150
MaxLength = 4
TabIndex = 0
Top = 360
Width = 1215
End
Begin VB.Label Label2
Caption = "Чётная размерность матрицы"
Height = 255
Left = 150
TabIndex = 6
Top = 390
Width = 2895
End
End
Begin VB.TextBox txtResult
Height = 1875
Left = 90
Locked = -1 'True
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 2
Top = 2370
Width = 4485
End
Begin VB.Label Label3
Alignment = 2 'Center
BorderStyle = 1 'Fixed Single
Caption = "Упорядоченная матрица"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 90
TabIndex = 4
Top = 2070
Width = 4485
End
Begin VB.Label Label1
Alignment = 2 'Center
BorderStyle = 1 'Fixed Single
Caption = "Полученный случайный вектор"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 90
TabIndex = 3
Top = 1050
Width = 4485
End
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Текст программы на языке Microsoft Visual Basic 6.00 Ext
Option Explicit
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub cmdPrint_Click()
Me.PrintForm
End Sub
Private Sub cmdRun_Click()
txtN.Enabled = False
Dim i As Integer, j As Integer
Dim t As Integer, n As Integer
Dim k As Integer, p As Integer
n = Val(txtN.Text)
txtOriginal = Empty
Dim MV As Integer
MV = n ^ 2 / 2 + n
ReDim a(n, n) As Integer
ReDim x(MV) As Integer
Randomize Timer
For i = 1 To MV
x(i) = Int(Rnd * 90) + 10
txtOriginal = txtOriginal & Str(x(i)) & " "
Next i
k = 0
For i = n To n / 2 - 1 Step -1
If i / 2 = Int(i / 2) Then
For j = n - i + 1 To i
k = k + 1: a(i, j) = x(k)
Next j
Else
For j = i To n - i + 1 Step -1
k = k + 1: a(i, j) = x(k)
Next j
End If
Next i
For i = n / 2 To 1 Step -1
If i / 2 = Int(i / 2) Then
For j = n - i + 1 To i Step -1
k = k + 1
a(i, j) = x(k)
Next j
Else
For j = i To n - i + 1
k = k + 1
a(i, j) = x(k)
Next j
End If
Next i
For i = 1 To n
For j = 1 To n
txtResult = txtResult & Format(a(i, j), "00") & " "
Next j
txtResult = txtResult & vbCrLf
Next i
cmdPrint.Enabled = True
cmdSave.Enabled = True
End Sub
Private Sub cmdSave_Click()
On Error GoTo Err_Lbl:
Open App.Path & "\Result.txt" For Output As #1
Print #1, "Задание №46" & vbCrLf & vbCrLf
Print #1, "Исходная матрица:" & vbCrLf
Print #1, txtOriginal.Text & vbCrLf
Print #1, "Полученная матрица:" & vbCrLf
Print #1, txtResult.Text
Close #1
Exit Sub
Err_Lbl:
MsgBox "Произошла ошибка записи", vbCritical, "Внимание"
End Sub
Private Sub txtN_Change()
If Val(txtN) > 8 Or Val(txtN) = 0 Or Val(txtN) Mod 2 <> 0 Then
cmdRun.Enabled = False
Else
cmdRun.Enabled = True
End If
End Sub
Private Sub txtN_KeyPress(KeyAscii As Integer)
If KeyAscii < 26 Then Exit Sub
If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
End Sub
Внешний вид приложения:
Результат работы приложения:
Приложение 1
Form1
VERSION 5.00
Begin VB.Form frmMain
BorderStyle = 1 'Fixed Single
Caption = "Задание №37"
ClientHeight = 4365
ClientLeft = 45
ClientTop = 435
ClientWidth = 6180
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 4365
ScaleWidth = 6180
StartUpPosition = 2 'CenterScreen
Begin VB.Frame Frame2
Caption = "Управление"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 4125
Left = 4590
TabIndex = 7
Top = 120
Width = 1485
Begin VB.CommandButton cmdSave
Caption = "&Сохранение"
Enabled = 0 'False
Height = 375
Left = 120
TabIndex = 11
Top = 1530
Width = 1245
End
Begin VB.CommandButton cmdPrint
Caption = "&Печать"
Enabled = 0 'False
Height = 375
Left = 120
TabIndex = 10
Top = 930
Width = 1245
End
Begin VB.CommandButton cmdExit
Cancel = -1 'True
Caption = "&Выход"
Height = 375
Left = 120
TabIndex = 9
Top = 3630
Width = 1245
End
Begin VB.CommandButton cmdRun
Caption = "&Решение"
Default = -1 'True
Enabled = 0 'False
Height = 375
Left = 120
TabIndex = 8
Top = 330
Width = 1245 End
End
Begin VB.TextBox txtOriginal
Height = 675
Left = 90
Locked = -1 'True
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 1
Top = 1350
Width = 4485
End
Begin VB.Frame Frame1
Caption = "Управление размерностью матрицы"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 885
Left = 90
TabIndex = 5
Top = 120
Width = 4515
Begin VB.TextBox txtN
Alignment = 2 'Center
Height = 285
Left = 3150
MaxLength = 4
TabIndex = 0
Top = 360
Width = 1215
End
Begin VB.Label Label2
Alignment = 2 'Center
BorderStyle = 1 'Fixed Single
Caption = "Чётная размерность матрицы"
Height = 255
Left = 150
TabIndex = 6
Top = 390
Width = 2895
End
End
Begin VB.TextBox txtResult
Height = 1875
Left = 90
Locked = -1 'True
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 2
Top = 2370
Width = 4485
End
Begin VB.Label Label3
Alignment = 2 'Center
BorderStyle = 1 'Fixed Single
Caption = "Упорядоченная матрица"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 90
TabIndex = 4
Top = 2070
Width = 4485
End
Begin VB.Label Label1
Alignment = 2 'Center
BorderStyle = 1 'Fixed Single
Caption = "Полученный случайный вектор"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 90
TabIndex = 3
Top = 1050
Width = 4485
End
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub cmdPrint_Click()
Me.PrintForm
End Sub
Private Sub cmdRun_Click()
txtN.Enabled = False
Dim i As Integer, j As Integer
Dim t As Integer, n As Integer
Dim k As Integer, p As Integer
n = Val(txtN.Text)
txtOriginal = Empty
Dim MV As Integer
MV = n ^ 2 / 2 + n
ReDim a(n, n) As Integer
ReDim x(MV) As Integer
Randomize Timer
For i = 1 To MV
x(i) = Int(Rnd * 90) + 10
txtOriginal = txtOriginal & Str(x(i)) & " "
Next i
k = 0
For i = n To n / 2 - 1 Step -1
If i / 2 = Int(i / 2) Then
For j = n - i + 1 To i
k = k + 1
a(i, j) = x(k)
Next j
Else
For j = i To n - i + 1 Step -1
k = k + 1
a(i, j) = x(k)
Next j
End If
Next i
For i = n / 2 To 1 Step -1
If i / 2 = Int(i / 2) Then
For j = n - i + 1 To i Step -1
k = k + 1
a(i, j) = x(k)
Next j
Else
For j = i To n - i + 1
k = k + 1
a(i, j) = x(k)
Next j
End If
Next i
For i = 1 To n
For j = 1 To n
txtResult = txtResult & Format(a(i, j), "00") & " "
Next j
txtResult = txtResult & vbCrLf
Next i
cmdPrint.Enabled = True
cmdSave.Enabled = True
End Sub
Private Sub cmdSave_Click()
On Error GoTo Err_Lbl:
Open App.Path & "\Result.txt" For Output As #1
Print #1, "Задание №46" & vbCrLf & vbCrLf
Print #1, "Исходная матрица:" & vbCrLf
Print #1, txtOriginal.Text & vbCrLf
Print #1, "Полученная матрица:" & vbCrLf
Print #1, txtResult.Text
Close #1
Exit Sub
Err_Lbl:
MsgBox "Произошла ошибка записи", vbCritical, "Внимание"
End Sub
Private Sub txtN_Change()
If Val(txtN) > 8 Or Val(txtN) = 0 Or Val(txtN) Mod 2 <> 0 Then
cmdRun.Enabled = False
Else
cmdRun.Enabled = True
End If
End Sub
Private Sub txtN_KeyPress(KeyAscii As Integer)
If KeyAscii < 26 Then Exit Sub
If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
End Sub
Приложение 2
Задание №46
Исходная матрица:
39 41 16 98 68 47 13 87 94 12 12 69 59 46 52 85 71 38 18 19 77 81 92 26 23 94 66 83 28 23 23 15 39 50 51 78 58 22 73 41
Полученная матрица:
39 50 51 78 58 22 73 41
00 15 23 23 28 83 66 00
00 00 92 26 23 94 00 00
00 00 00 81 77 00 00 00
00 00 00 19 18 00 00 00
00 00 52 85 71 38 00 00
00 46 59 69 12 12 94 00
39 41 16 98 68 47 13 87
Подобные документы
Расположение в матрице элементов в порядке их возрастания в указанной последовательности. Составление программы на алгоритмическом языке, выполняющей указанные преобразования с матрицами. Выведение исходных и преобразованных матриц, занесение их в файл.
практическая работа [153,8 K], добавлен 12.01.2010Зарождение и развитие системы MatLab. Порядок выполнения простых вычислений. Построение логической области в графическом окне. Работа с символьными массивами. Написание функции, выполняющей требуемое задание для матриц и векторов любой размерности.
отчет по практике [761,4 K], добавлен 21.10.2015Аппаратное обеспечение компьютера. Процесс обработки информации. Вывод информации на печать. Основные типы принтеров: матричные, струйные, лазерные. Их достоинства и недостатки. Определение объема видеопамяти. Создание программы на алгоритмическом языке.
контрольная работа [109,8 K], добавлен 13.04.2015Основные сведения о языке программирования Pascal. Листинг программы с комментариями. Диагональ элементов вектора и матрицы. Использование команд ввода-вывода информации. Быстродействие выполнения программы при компиляции. Отражение процессов вычисления.
курсовая работа [1,9 M], добавлен 05.05.2009Создание программы на языке программирования С#, которая проверяет наличие в матрице хотя бы одного столбца, содержащего положительный элемент, поиск его номера. Упорядочивание его элементов по возрастанию. Листинг программы и инструкция по работе с ней.
курсовая работа [1,9 M], добавлен 28.05.2014Преобразование матрицы по заданным правилам. Методика работы с массивами, основанная на классических алгоритмах. Разработка и описание блок-схемы алгоритма. Листинг программы, экраны работы и отладки программы. Инструкция для пользователей программы.
контрольная работа [338,4 K], добавлен 29.01.2013Си - стандартизированный процедурный язык программирования. Алгоритм и программа на языке Си для формирования двух матриц с определенной размерностью и значением элементов. Применение матриц в математике. Исходный текст программы и результаты выполнения.
реферат [1,4 M], добавлен 23.12.2010Применение численного метода решения систем линейных алгебраических уравнений, используемых в прикладных задачах. Составление на базе метода матрицы Гаусса вычислительной схемы алгоритма и разработка интерфейса программы на алгоритмическом языке.
курсовая работа [823,9 K], добавлен 19.06.2023Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.
курсовая работа [115,5 K], добавлен 22.05.2010Принципы разработки и пример работы программы, реализующей основные операции алгебры матриц: сложение, вычитание, умножение, транспонирование, а также умножение матрицы на число. Функциональные модели и блок-схемы решения задачи операций над матрицами.
курсовая работа [956,7 K], добавлен 25.01.2010