инфа курсач / курсач
.docМинистерство образования Российской Федерации
Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ
По дисциплине «И Н Ф О Р М А Т И К А»
Шифр задания № 3.1
Выполнил студент гр. 7201 Преподаватель
Аксенов Е.В.. Голубев А. Б.
Санкт-Петербург
2007
Содержание
-
Содержательная постановка задачи
-
Формулировка условия задачи
-
Пример решения задачи
-
Формализованная постановка задачи
-
Способ получения результата по исходным данным
-
Выбор и описание метода решения задачи
-
Исходные данные и форма их представления
-
Форма представления результатов выполнения программы
-
Перечень исключительных ситуаций и требуемой реакции программы
-
-
Алгоритмизация
-
Программирование и отладка
-
Текст программы
-
-
Испытание программы
-
Пример 1
-
-
Краткая характеристика программы
-
Заключение
-
СОДЕРЖАТЕЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ
-
Формулировка задачи
-
Выполнить над квадратной матрицей порядка n преобразования и дальше по списку.
1)прибавить к к-ому столбцу матрицы А ее i-тую строку, умноженную на заданное число
2)сформировать вектор V, элементами которого являются суммы элементов строк полученной в результате предыдущего преобразования матрицы
3)увеличить элементы V в порядке возрастания их модулей
1.2 Пример решения
матрица
3 9
7 4
матрица, после преобразования(прибавление к к-ому(1) столбцу i-той (1) строки, умноженной на число (1))
6 9
16 4
формирование вектора V ( элементами которого являются суммы элементов строк полученной в результате предыдущего преобразования матрицы)
15 20
увеличим вектор V в порядке возрастания его элементов
15 20
-
ФОРМАЛИЗОВАННАЯ ПОСТАНОВКА ЗАДАЧИ
-
Способ получения результатов по исходным данным
-
Для решения задачи необходимо из одной матрицей сделать другую, умножив ее i-строку на заданное число и прибавить ее к к-ому столбцу. Затем сформировать вектор V и увеличить его в порядке возрастания его элементов
2.2 Выбор и описания метода решения задачи
Способ получения результатов по исходным данным
Задается порядок матрицы , номер столбца, строки и число. В произвольно сформированной матрице к заданному столбцу прибавляется заданная строка, умноженная на заданное число. Затем формируется вектор V, элементами которого являются суммы элементов строк полученной в результате предыдущего преобразования матрицы. И этот вектор увеличивают в порядке возрастания их модулей.
2.3 исходные данные и форма их представления
обозначение |
назначение |
тип |
структура |
n |
Порядок матрицы |
integer |
скаляр |
k |
Столбец в матрице |
integer |
скаляр |
i |
Строка в матрице |
integer |
скаляр |
m |
Число,на которое умножается строка |
integer |
скаляр |
2.4Форма представления результатов выполнения программы
обозначение |
назначение |
тип |
структура |
v |
вектор |
integer |
Одномерный массив Нижняя граница -1 Верхняя граница - 900 |
a |
Первая матрица |
integer |
Двумерный массив Нижняя граница-1 Верхняя граница-30 |
2.5Перечень исключительных ситуаций и требуемой редакции программы.
1)если вводим n отрицательное или нулевое, то мы должны ввести его правильно, пока не введем правильное
2) если вводим k отрицательное или нулевое, то мы должны ввести его правильно, пока не введем правильное
3) если вводим i отрицательное или нулевое, то мы должны ввести его правильно, пока не введем правильное
-
АЛГОРИТМИЗАЦИЯ
-
ПРОГРАММИРОВАНИЕ И ОТЛАДКА
-
Текст программы
-
Program matr;
Uses Crt;
Var
a:array[1..30,1..30] of integer;
v:array[1..900] of integer;
i,j,n,k,i1,m,j1,s:integer;
Begin
ClrScr;
n:=-1;
While n<=0 do
begin Write('Poryadok matrizy n ==> ');
read(n);
end;
for i:=1 to 100 do randomize;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(10);
write(a[i,j]:5);
end;
writeln;
end;
k:=0;
While (k<1) or (k>n) do
begin
Write('Wwedite nomer stolbza k ==> ');
read(k);
end;
i1:=0;
While (i1<1) or (i1>n) do
begin
Write('Wwedite nomer stroki i ==> ');
read(i1);
end;
Write('Wwedite chislo ==> ');
read(m);
for i:=n downto 1 do
begin
a[i,k]:=a[i,k]+m*a[i1,i];
end;
j1:=1;
for i:=1 to n do
begin
s:=0;
for j:=1 to n do
begin
write(a[i,j]:5);
s:=s+a[i,j];
end;
writeln;
v[j1]:=s;
inc(j1);
end;
writeln;
Writeln('wywod wektora V ==>>');
for i:=1 to n do
write(v[i]:5);
for i:=2 to n do
begin
for j:=n downto i do
begin
if (abs(v[j-1])>abs(v[j])) then
begin
j1:=v[j-1];
v[j-1]:=v[j];
v[j]:=j1;
end;
end;
end;
writeln;
writeln;
Writeln('wektor uporjadochenyypo wozrastaniyu V ==>>');
for i:=1 to n do
write(v[i]:5);
Readkey;
End.
5.Испытание программы
5.1 Пример 1
Poryadok matrizy n ==> 2
0 6
9 0
Wwedite nomer stolbza == > 2
Wwedite nomer stroki== > 2
Wwedite chislo == > 12
0 114
9 0
Wywod Wektora V ==>
114 9
Wektor,elementy kotorogo uporjadocheny po wozrastaniyu.V ==>
9 114
Пример 2
Poryadok matrizy n ==> 3
5 2 4
6 6 3
6 4 3
Wwedite nomer stolbza == > 1
Wwedite nomer stroki== > 3
Wwedite chislo == > 2
29 2 4
14 6 3
12 4 3
Wywod Wektora V ==>
35 23 19
Wektor,elementy kotorogo uporjadocheny po wozrastaniyu.V ==>
19 23 35
6.КРАТКАЯ ХАРАКТЕРИСТИКА ПРОГРАММЫ
Наименование программы: matr.
Назначение программы: выполнение над квадратной матрицей порядка n преобразований
1)прибавление к к-ому столбцу матрицы А ее i-тую строку, умноженную на заданное число
2)сформировывать вектор V, элементами которого являются суммы элементов строк полученной в результате предыдущего преобразования матрицы
3)увеличить элементы V в порядке возрастания их модулей
Формат вызова программы: ≥ matr≤ Enter
Объем программы на носителе данных: 1,74 Кбайт.
7.Заключение
Программа отлажена в дисплейном кансоле на компьютере типа IBM PC и функционирует без сбоев.