Матрица (1184920)
Текст из файла
1)Постановка задачи (ПЗ):
Дана вещественная матрица A(5,7). Если элементы очередной строки матрицы упорядочены по возрастанию значений элементов, то найти среднеарифметическое значение элементов, предшествующих первому, значение которого больше В. В противном случае поменять в этой строке левую и правую половины
Pp1 – проверка строки матрицы на упорядоченность элементов
Pp2 – замена в строке левой и правой половины
Pp3 – определение среднеарифметического значения элементов строки, предшествующих первому , значение которого больше B
2) Таблица величин pp1 :
Класс | Имя | Смысл | Структура | Тип |
Исходные данные | A | Исходная матрица | {A}m,n | вещественное |
M,n | Число строк и столбцов матрицы A | простая переменная | целое | |
Результат | р | Признак упорядоченности элементов строки | простая переменная | логическое |
Промежуточные данные | j | Текущий номер строки | простая переменная | целое |
i | Текущий номер столбца | простая переменная | целое |
Таблица величин pp2 :
Класс | Имя | Смысл | Структура | Тип |
Исходные данные | A | Исходная матрица | {A}m,n | вещественное |
M,n | Число строк и столбцов матрицы A | простая переменная | целое | |
Результат | A | Измененная матрица | {A}m,n | вещественное |
Промежуточные данные | j | Текущий номер строки | простая переменная | целое |
i | Текущий номер столбца | простая переменная | целое | |
С | Переменная для обмена | простая переменная | вещественное |
Таблица величин pp3 :
Класс | Имя | Смысл | Структура | Тип |
Исходные данные | A | Исходная матрица | {A}m,n | вещественное |
M,n | Число строк и столбцов матрицы A | простая переменная | целое | |
B | Заданное значение для проверки условия | простая переменная | вещественное | |
Результат | Ssr | Среднеарифметическое элементов строки матрицы, предшествующих значению В | простая переменная | вещественное |
Промежуточные данные | j | Текущий номер строки | простая переменная | целое |
i | Текущий номер столбца | простая переменная | целое | |
S | промежуточная сумма для расчета Ssr | простая переменная | вещественное | |
k | Количество суммируемых элементов | простая переменная | целое |
Таблица величин Головного модуля :
Класс | Имя | Смысл | Структура | Тип |
Исходные данные | A | Исходная матрица | {А}5,7 | вещественное |
B | Заданное значение для проверки условия | простая переменная | вещественное | |
Результат | A | Измененная матрица | {А}5,7 | вещественное |
S I sr | Среднеарифметическое элементов строки матрицы, предшествующих значению В | простая переменная | вещественное | |
Промежуточные данные | i | текущий индекс строки | простая переменная | целое |
j | текущий индекс столбца | простая переменная | целое | |
py | Признак упорядоченности строки матрицы | простая переменная | логическое |
3)Аномалии: нет
4) Алгоритмы:
Блок-схема головного модуля
Блок-схема Рр1
Блок-схема Рр2
Блок-схема Рр3
5) Текст программы:
Logical function pp1 (A,m,n,i)
dimension A(m,n)
real A
integer m,n,i,j
logical p
p=.true.
j=1
do while(j<=n-1.and.p)
if(a(i,j)>=a(i,j+1)) then
p=.false.
end if
j=j+1
end do
pp1=p
end
subroutine pp2 (A,m,n,i)
dimension A(m,n)
real A,C
integer m,n,i,j
do j=1,n/2,1
C=a(i,j)
a(i,j)=a(i,(n+1)/2+j)
a(i,(n+1)/2+j)=C
end do
end
Real function pp3 (A,m,n,i,B)
dimension A(m,n)
real A,S,Ssr
integer m,n,i,j,k
logical p
if (a(i,1)>B) then
Ssr=0
goto 1
end if
S=0
k=0
p=.false.
j=1
do while (j<=n-1.and.(.not.p))
if (a(i,j+1)<=B) then
S=S+a(i,j)
k=k+1
else
p=.true.
S=S+a(i,j)
k=k+1
end if
j=j+1
end do
if (.not.p) then
S=S+a(i,n)
k=k+1
end if
Ssr=S/k
1 write(*,25)i,Ssr
25 format(' S',I2,' sred.=',F4.1)
pp3=Ssr
end
program Proverka
dimension A(5,7)
real B,A,Ssr,рр3
integer i,j
logical pp1,py
data A/3, -3, -2, 11, 5, 6, -2, 3, 12, 6, 9, -1, 5, 13, 7, 12, 0, 0, 14, 8, 15, 1, 14, 15, 9, 18, 2, 12, 16, 10, 21, 3, -8, 17, 11/
write(*,5)' ishodnaya matrica A'
5 format(/A20/)
write(*,10)((A(i,j),j=1,7),i=1,5)
10 format((x,7(F5.1,x)))
write(*,15)' vvedite znachenie B'
15 format(/A20/)
read(*,*)B
write(*,*)' '
do i=1,5,1
py=pp1(A,5,7,i)
if(py) then
Ssr=pp3(A,5,7,i,B)
else
call pp2 (A,5,7,i)
end if
end do
write(*,20)' izmenennaya matrica A'
20 format(/A22/)
do i=1,5
write(*,30)(A(i,j),j=1,7)
30 format(((x,7(F5.1,x))))
end do
End
5)Тесты:
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.