Контрольная работа по предмету "Информатика, программирование"


Расположение элементов в матрице

Задание





·          
Расположить
в матрице A(N,N) элементы в порядке их возрастания в последовательности
указанной на рисунке.









Требования
к программе:



·          
Составить
программу на алгоритмическом языке, выполняющую указанные преобразования с
матрицами;



·          
Вывести
исходную матрицу с индексами её элементов;



·          
Вывести
преобразованную матрицу с новым содержимым;



·          
Программа
должна строиться таким образом, чтобы существовала возможность её использования
с массивами любой размерности, содержащими произвольные элементы;



·          
В
программе должна быть предусмотрена выдача на печать исходных и преобразованных
матриц;



·          
Полученные
результаты должны быть занесены в файл последовательного доступа и доступны для
просмотра из него.







Изменённые
свойства приложения





Begin VB.Form
Form1



BorderStyle =
1 'Fixed Single



Caption = "Задание
№46"



ClientHeight =
5550



ClientLeft = 45



ClientTop = 435



ClientWidth =
7575



LinkTopic = "Form1"



MaxButton = 0
'False



ScaleHeight =
5550



ScaleWidth = 7575



StartUpPosition
= 2 'CenterScreen



Begin
VB.TextBox txtOriginal



Height = 1875



Left = 90



Locked = -1 'True



MultiLine = -1
'True



ScrollBars = 2
'Vertical



TabIndex = 3



Top = 1350



Width = 7365



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 = 7



Top = 120



Width = 7365



Begin
VB.TextBox txtN



Alignment = 2
'Center



Height = 285



Left = 3150



MaxLength = 4



TabIndex = 0



Top = 390



Width = 1335



End



Begin
VB.CommandButton cmdRun



Caption = "&Решение"



Default = -1 'True



Enabled = 0 'False



Height = 375



Left = 4650



TabIndex = 1



Top = 360



Width = 1245



End



Begin
VB.CommandButton cmdExit



Cancel = -1 'True



Caption = "&Выход"



Height = 375



Left = 5970



TabIndex = 2



Top = 360



Width = 1245



End



Begin
VB.Label Label2



Alignment = 2
'Center



BorderStyle =
1 'Fixed Single



Caption = "Введите
размерность матрицы"



Height = 255



Left = 150



TabIndex = 8



Top = 390



Width = 2895



End



End



Begin
VB.TextBox txtResult



Height = 1875



Left = 90



Locked = -1 'True



MultiLine = -1
'True



ScrollBars = 2
'Vertical



TabIndex = 4



Top = 3570



Width = 7365



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 = 6



Top = 3270



Width = 7365



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 = 5



Top = 1050



Width = 7365



End



End



Attribute
VB_Name = "Form1"



Attribute
VB_GlobalNameSpace = False



Attribute
VB_Creatable = False



Attribute
VB_PredeclaredId = True



Attribute
VB_Exposed = False





Текст
программы на языке Microsoft Visual Basic 6.00





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 pi As
Integer, pj As Integer



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.Text
= Empty



ReDim a(n, n)
As Integer



For i = 1 To
n



For j = 1 To
n



a(i, j) =
Int(Rnd * 90) + 10



txtOriginal.Text
= txtOriginal.Text & Str(a(i, j)) & " "



Next j



txtOriginal.Text
= txtOriginal.Text & vbCrLf



Next i



ReDim x(n ^ 2)
As Integer



k = 0



p = n / 2 *
11



pi = Int(p /
10)



pj = p - pi *
10



k = k + 1



x(k) = a(pi,
pj)



For i = 1 To
n - 1



For t = 1 To
10 Step 9



For j = 1 To
i



p = p + (-1)
^ (i + 1) * t



pi = Int(p /
10)



pj = p - pi *
10



k = k + 1



x(k) = a(pi,
pj)



Next j



Next t



Next i



For i = 1 To
n - 1



p = p - 1



pi = Int(p /
10)



pj = p - pi *
10



k = k + 1



x(k) = a(pi,
pj)



Next i



For t = 1 To
n ^ 2



For i = 1 To
n ^ 2 - 1



If x(i) >
x(i + 1) Then



k = x(i)



x(i) = x(i +
1)



x(i + 1) = k



End If



Next i



Next t



k = 0



p = n / 2 *
11



pi = Int(p /
10)



pj = p - pi *
10



k = k + 1



a(pi, pj) =
x(k)



For i = 1 To
n - 1



For t = 1 To
10 Step 9



For j = 1 To
i



p = p + (-1)
^ (i + 1) * t



pi = Int(p /
10)



pj = p - pi *
10



k = k + 1



a(pi, pj) =
x(k)



Next j



Next t



Next i



For i = 1 To
n - 1



p = p - 1



pi = Int(p /
10)



pj = p - pi *
10



k = k + 1



a(pi, pj) =
x(k)



Next i



txtResult.Text
= Empty



For i = 1 To
n



For j = 1 To
n



txtResult.Text
= txtResult.Text & Str(a(i, j)) & " "



Next j



txtResult.Text
= txtResult.Text & vbCrLf



Next i



cmdPrint.Enabled
= True



cmdSave.Enabled
= True



End Sub



Private Sub
cmdSave_Click()



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



End Sub





Private Sub
txtN_Change()



If
Val(txtN.Text) > 8 Or Val(txtN.Text) = 0 Or Val(txtN.Text) 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







Внешний
вид приложения:



 





 



Результат
работы приложения:



 





Не сдавайте скачаную работу преподавателю!
Данную контрольную работу Вы можете использовать для выполнения своих заданий.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Сейчас смотрят :

Контрольная работа Таможенный контроль
Контрольная работа Основи ІР-мереж
Контрольная работа Ввод и форматирование текста
Контрольная работа Нормы произношения и ударения
Контрольная работа Эволюция биосферы