Обмен строк и столбцов (1184921)
Текст из файла
1)Постановка задачи (ПЗ):
Дана целочисленная матрица А (9,9). Если элементы 1-го столбца матрицы равны соответствующим элементам 1–ой строки, то поменять местами последнюю строку с последним столбцом, в противном случае проверить наличие на главной диагонали нулевого элемента.
Подпрограмма ТТ1 проверяет совпадение элементов 1-ой строки соответствующим элементам 1-го столбца
Подпрограмма ТТ2 меняет местами элементы последнего столбца с элементами последней строки.
Подпрограмма ТТ3 проверяет наличие или отсутствие нулевого элемента на главной диагонали
2)Таблица величин головного модуля (ТВ):
Класс | Имя | Смысл | Структура | Тип |
Исходные данные | А | исходный матрица | {А}9,9 | целое |
Результат | А | Измененная матрица | {А}9,9 | целое |
Фраза | Сообщение об отсутствии или наличии нулевого элемента на главной диагонали | текст | текстовое | |
Промежуточные данные | ps | Признак совпадения 1-ой строки и 1-го столбца | простая переменная | логическое |
pz | Признак наличия нулевого элемента на главной диагонали | простая переменная | логическое |
Таблица величин ТТ1 :
Класс | Имя | Смысл | Структура | Тип |
Исходные данные | А | исходный матрица | {А}m,m | целое |
Результат | p | Признак совпадения 1-ой строки и 1-го столбца | простая переменная | логическое |
Промежуточные данные | j, i | Промежуточный индекс элементов матрицы | простая переменная | целое |
m | Количество строк и столбцов матрицы | простая переменная | целое |
Таблица величин ТТ2 :
Класс | Имя | Смысл | Структура | Тип |
Исходные данные | А | исходный матрица | {А}m,m | целое |
Результат | А | Измененная матрица | {А}m,m | целое |
Промежуточные данные | j, i | Промежуточный индекс элементов матрицы | простая переменная | целое |
m | Количество строк и столбцов матрицы | простая переменная | целое | |
C | Переменная для обмена | простая переменная | целое |
Таблица величин ТТ3 :
Класс | Имя | Смысл | Структура | Тип |
Исходные данные | А | исходный матрица | {А}m,m | целое |
Результат | p | Признак наличия нулевого элемента на главной диагонали | простая переменная | логическое |
Промежуточные данные | m | Количество строк и столбцов матрицы | простая переменная | |
i | Промежуточный индекс элементов матрицы | простая переменная | целое |
3)Аномалии: нет
4) Алгоритм
Головная программа
Блок-схема ТТ1
Подпрограмма ТТ1 проверяет совпадение элементов 1-ой строки соответствующим элементам 1-го столбца
Блок-схема ТТ2
Подпрограмма ТТ2 меняет местами элементы последнего столбца с элементами последней строки
Блок-схема ТТ3
Подпрограмма ТТ3 проверяет наличие или отсутствие нулевого элемента на главной диагонали
5) Текст программы:
logical function TT1 (A,m)
dimension A(m,m)
integer A,i,j,m
logical p
p=.true.
j=1
i=1
do while (i<=m.and.p)
if (a(i,j)/=a(j,i)) then
p=.false.
end if
i=i+1
end do
TT1=p
end
subroutine TT2 (A,m)
dimension A(m,m)
integer A,i,j,m,C
i=m
do j=1,m-1,1
C=a(i,j)
a(i,j)=a(j,i)
a(j,i)=C
end do
return
end
logical function TT3 (A,m)
dimension A(m,m)
integer A,i,m
logical p
p=.false.
i=1
do while (i<=m.and.(.not.p))
if (a(i,i)==0) then
p=.true.
end if
i=i+1
end do
TT3=p
end
program Obmen
dimension A(9,9)
integer A
logical ps,pz,TT1,TT3
data A/1,2,3,4,5,6,7,8,9,2,22,33,44,55,66,77,88,99,3,22,33,44,55,66, 77,88,99,4,22,33,44,55,66,77,88,99,5,22,33,44,55,66,77,88,99,6,22,33, 44,55,66,77,88,99,7,22,33,44,55,66,77,88,99,8,22,33,44,55,66,77,88,99,9,90,90,90,90,90,90,90,100/
!data A/1,200,3,4,5,6,7,8,9,2,22,33,44,55,66,77,88,99,3,22,33,44,55, 66,77,88,99,4,22,33,44,55,66,77,88,99,5,22,33,44,55,66,77,88,99,6,22,33,44,55,66,77,88,99,7,22,33,44,55,66,77,88,99,8,22,33,44,55,66, 77,88, 99,9,90,90,90,90,90,90,90,100/
!data A/1,200,3,4,5,6,7,8,9,2,22,33,44,55,66,77,88,99,3,22,33,44,55,66, 77,88,99,4,22,33,44,55,66,77,88,99,5,22,33,44,55,66,77,88,99,6,22,33, 44,55,66,77,88,99,7,22,33,44,55,66,77,88,99,8,22,33,44,55,66,77,88,99,9,90,90,90,90,90,90,90,0/
write(*,1)' ishodnaya matrica A'
1 format(/A20/)
write(*,2)((A(i,j),j=1,9),i=1,9)
2 format((x,9(I5,x)))
ps=TT1 (A,9)
if (ps) then
call TT2 (A,9)
write(*,3)' rezultat'
3 format(/A10/)
write(*,2)((A(i,j),j=1,9),i=1,9)
goto 6
else
pz=TT3 (A,9)
end if
if (pz) then
write (*,*)' na glavnoy diagonali imeetsya 0'
else
write (*,*)' na glavnoy diagonali net 0'
end if
6 continue
end
6) Тесты:
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.