Программа
PROGRAM MatrixMan;
CONST n=4; { Размерность матрицы матрицы }
TYPE Matrix=array [1..n,1..n] of real; { Тип -матрица }
VAR A,B:Matrix; { Матрицы }
InputFile,OutputFile:string; { Имена входного и выходного файлов }
Line1,Line2:integer; { Номера строк }
Error:boolean; { Флаг ошибки }
F:text; { Файловая переменная }
PROCEDURE Swap(var A,B:real); { Процедура взаимного обмена }
Var Buf:real; { Буфер переноса }
Begin
{ Обмен: }
Buf:=A;
A:=B;
B:=Buf
End;
PROCEDURE ChangeMatrixString(var B:Matrix; String1, String2:word);
{ Процедура перестановки строк матрицы }
Var j:word; { Счетчик }
Begin
for j:=1 to n do { Цикл перестановки элементов матрицы }
Swap (B[String1,j],B[String2,j]) { Перестановка элемента }
End;
PROCEDURE InputMatrix(var B:Matrix); { Процедура ввода матрицы }
Var i,j:word; { Счетчики }
Error:boolean; { Флаг ошибки }
Begin
for i:=1 to n do { Цикл ввода строк матрицы }
for j:=1 to n do { Цикл ввода элементов матрицы }
begin
{$I-} { Отключение проверки ошибок ввода-вывода }
repeat
Write('Введите элемент [',i,',',j,'] ');
{ Вывод приглашения ввести элемент матрицы }
ReadLn(B[i,j]); { Ввод элемента матрицы }
Error:=IOResult<>0; { Фиксация ошибки }
if Error then { Проверка корректности введенного параметра }
begin
{ Вывод сообщения при ошибке: }
WriteLn('Ошибка в параметрах');
WriteLn('Повторите ввод')
end
until not Error
{$I+} { Включение проверки ошибок ввода-вывода }
end
End;
PROCEDURE InputData(var A:Matrix; var Line1,Line2:integer; InputFile:string; var Error:boolean );
{ Процедура ввода данных }
var F:text; { Файловая переменная }
i,j:integer; { Счетчики }
Begin
if (InputFile='CON')or(InputFile='') { Проверка имени входного файла }
then begin { Получение данных с консоли }
InputMatrix(A); { Ввод матрицы }
{$I-} { Отключение проверки ошибок ввода-вывода }
repeat { Цикл ввода номеров переставляемых строк: }
Write('Введите номера переставляемых строк '); { Вывод приглашения }
ReadLn(Line1,Line2); { Ввод параметров }
Error:=IOResult<>0; { Проверка ввода-вывода }
if Error or (1<Line1) or (Line1>n) or (1<Line2) or (Line2>n) then
begin
{ Вывод сообщения об ошибке: }
WriteLn('Ошибка в параметрах');
WriteLn('Повторите ввод')
end
until not Error
{$I+} { Включение проверки ошибок ввода-вывода }
end
else begin { Получение данных из внешнего файла }
{$I-} { Отключение проверки ошибок ввода-вывода }
Error:=False; { Сброс флага }
Assign(F,InputFile); { Связывание файловой переменной с именем файла }
Reset(F); { Открытие файла под чтение }
Error:=Error or (IOResult<>0); { Проверка ввода-вывода }
for i:=1 to n do { Цикл чтения строк }
for j:=1 to n do { Цикл чтения полей чисел }
begin
Read(F,A[i,j]); { Чтение элемента матрицы }
Error:=Error or (IOResult<>0); { Проверка ввода-вывода }
end;
Read(F,Line1,Line2); { Чтение номеров переставляемых строк }
Error:=Error or (0<Line1) or (Line1>n) or (0<Line2) or (Line2>n);
{ Проверка значения параметров }
Error:=Error or (IOResult<>0); { Проверка ввода-вывода }
Close(F);
Error:=Error or (IOResult<>0); { Проверка ввода-вывода }
{$I+} { Включение проверки ошибок ввода-вывода }
if Error then WriteLn('Ошибка во входном файле');
end
End;
PROCEDURE OutputMatrix (Head:string; B:Matrix; OutputFile:string); { Процедура вывода матрицы }
Var i,j:word; { Счетчики }
F:text; { Файловая переменная }
Begin
Assign(F,OutputFile); { Связывание файловой переменной с именем файла }
Append(F); { Открытие файла для добавления }
WriteLn(F); { Пропуск строки }
WriteLn(F,Head); { Вывод заголовка }
for i:=1 to n do { Цикл вывода строк матрицы }
begin
for j:=1 to n do { Цикл вывода элементов матрицы }
Write (F,B[i,j],' '); { Вывод элемента матрицы }
WriteLn(F) { Вывод конца строки }
end;
Close(F) { Закрытие файла }
End;
PROCEDURE GetLowTriangleMatrix (A:Matrix; var B:Matrix);
{ Процедура получения нижнетреугольной матрицы }
Var i,j:word; { Счетчики }
Begin
for i:=1 to n do { Цикл просмотра строк }
for j:=1 to n do { Цикл копирования элементов }
begin
if j<=i then B[i,j]:=A[i,j] { Копирование элемента }
else B[i,j]:=0; { Обнуление элемента }
end
End;
PROCEDURE UpStr(var S:string);
{ Процедура преобразования строчных букв в строке в прописные }
Var i:byte; { Счетчик символов }
Begin
for i:=1 to Length(S) do S[i]:=UpCase(S[i])
{ Цикл преобразования строчных букв в прописные }
End;
FUNCTION Str(Num:integer):string; { Функция преобразования числа в строку }
Var St:string; { Буферная переменная - строка }
Begin
System.Str(Num:0,St); { Преобразование числа в строку }
Str:=St { Определение значения функции }
End;
FUNCTION GetSum(B:Matrix):real;
{ Функция получения суммы положительных элементов под главной диагональю }
Var Sum:real; { Сумма }
i,j:integer; { Счетчики }
Begin
Sum:=0; { Обнуление суммы }
for i:=1 to n do { Цикл просмотра строк }
for j:=1 to i-1 do { Цикл просмотра элементов }
if B[i,j]>0 then Sum:=Sum+B[i,j]; { Набор суммы }
GetSum:=Sum { Определение значения функции }
End;
BEGIN
Write('Введите имя входного файла данных ');{ Вывод приглашения ввести имя файла }
ReadLn(InputFile); { Ввод имени входного файла }
Write('Введите имя выходного файла данных ');{ Вывод приглашения ввести имя файла }
ReadLn(OutputFile); { Ввод имени выходного файла }
{ Преобразование имен файлов: }
UpStr(InputFile);
UpStr(OutputFile);
InputData(A,Line1,Line2,InputFile,Error);
{ Создание выходного файла: }
Assign(F,OutputFile); { Связывание файловой переменной с именем файла }
Rewrite(F); { Открытие файла под запись }
WriteLn(F); { Пропуск строки }
Close(F); { Закрытие файла }
if not Error then { Проверка наличия ошибок при вводе }
Begin
OutputMatrix('Исходная матрица:',A,OutputFile); { Вывод исходной матрицы }
ChangeMatrixString(A,Line1,Line2); { Перемена строк в матрице }
OutputMatrix('Mатрица после перестановки строк '+Str(Line1)+' и '+Str(Line2)+':',A,OutputFile);
{ Вывод матрицы после перемены строк }
GetLowTriangleMatrix(A,B); { Получение нижнетреугольной матрицы }
OutputMatrix('Нижнетреугольная матрица:',B,OutputFile);
{ Вывод нижнетреугольной матрицы }
Assign(F,OutputFile); { Связывание файловой переменной с именем файла }
Append(F); { Открытие файла для добавления }
WriteLn(F); { Пропуск строки }
WriteLn(F,'Сумма положительных элементов расположенных под главной диагональю: ',
GetSum(B):0:4); { Вычисление и вывод суммы }
Close(F) { Закрытие файла }
End
END.
П Р О Г Р А М М А
***************
* *
* П У С К *
* *
***************
:
:
:
***************** ┌─
│ Ввод имени
* InputFile * │
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙│ входного и выходного
* OutputFile * │
│ файлов
***************** └─
:
:
:
:
***************** ┌─
* * * * │
* * * * │ Преобразование имен
* * UpStr * *∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙│
* * * * │ файлов в верхний регистр
* * * * │
***************** └─
:
:
:
:
***************** ┌─
* * * * │
* * * * │
* * InputData * *∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙│ Ввод данных
* * * * │
* * * * │
***************** └─
:
:
***************** ┌─
* * │ Создание
* * │
* *∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙│ выходного
* * │
* * │ файла
***************** └─
:
:
:
*
* *
* *
* * Да
* not Error *∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
* * :
* * :
* * :
* :
: Нет :
: :
: :
: :
: :
: ***************** ┌─
: * * * * │ Вывод
: * * Output * * │
: * * Matrix * *∙∙∙∙∙∙∙│ исходной
: * * * * │
: * * * * │ матрицы
: ***************** └─
: :
: :
: :
: ***************** ┌─
: * * * * │ Перемена
: * * Change * * │
: * * Matrix * *∙∙∙∙∙∙∙│ строк в
: * * String * * │
: * * * * │ матрице
: ***************** └─
: :
: :
: :
: ***************** ┌─
: * * * * │
: * * Output * * │ Вывод
: * * Matrix * *∙∙∙∙∙∙∙│
: * * * * │ матрицы
: * * * * │
: ***************** └─
: :
: :
: :
: ***************** ┌─
: * * * * │ Создание
: * * GetLow * * │
: * * Triangle * *∙∙∙∙∙∙∙│ нижнетреугольной
: * * Matrix * * │
: * * * * │ матрицы
: ***************** └─
: :
: :
: :
: ***************** ┌─
: * * * * │ Вывод
: * * Output * * │
: * * Matrix * *∙∙∙∙∙∙∙│ нижнетреугольной
: * * * * │
: * * * * │ матрицы
: ***************** └─
: :
: :
: :
: ***************** ┌─
: * * │ Вычисление
: * * │
: * GetSum *∙∙∙∙∙∙∙│ и вывод суммы
: * * │
: * * │ положительных элементов
: ***************** └─
: :
: :
: :
:∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
:
:
***************
* *
* К О Н Е Ц *
* *
***************
П Р О Ц Е Д У Р А Swap
***************
* *
* П У С К *
* *
***************
:
:
:
***************** ┌─
* Buf:=A * │
* * │ Обмен содержимого
* A:=B *∙∙∙∙∙∙∙│
* * │ переменных
* B:=Buf * │
***************** └─
:
:
:
***************
* *
* К О Н Е Ц *
* *
***************
П Р О Ц Е Д У Р А ChangeMatrixString
***************
* *
* П У С К *
* *
***************
:
:
:
***************** ┌─
* * │ Начальное
* * │
* j:=1 *∙∙∙∙∙∙∙│ определение
* * │
* * │ счетчика
***************** └─
:
:
:∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙.
: :
: :
: *****************
: * *
: * *
: * j:=j+1 *
: * *
: * *
: *****************
: :
: :
: :
: ***************** ┌─
: * * * * │ Перестановка
: * * * * │
: * * Swap * *∙∙∙∙∙∙∙│ элементов
: * * * * │
: * * * * │ в столбцах
: ***************** └─
* :
* * :
* * :
* * Да :
* j<=n *∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
* *
* *
* *
*
: Нет
:
:
:
***************
* *
* К О Н Е Ц *
* *
***************
П Р О Ц Е Д У Р А InputMatrix
***************
* *
* П У С К *
* *
***************
:
:
:
***************** ┌─
* * │ Начальное
* * │
* i:=1 *∙∙∙∙∙∙∙│ определение
* * │
* * │ счетчика
***************** └─
:
:
:∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
: :
: :
* :
* * :
* * :
* * Да :
* i<=n *∙∙∙∙∙∙. :
* * : :
* * : :
* * : :
* : :
: Нет : :
: ***************** ┌─ :
: * * │ Начальное :
: * * │ :
: * j:=1 *∙∙∙∙∙∙∙│ определение :
: * * │ :
: * * │ счетчика :
: ***************** └─ :
: : :
: : :
: :∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙. :
: : : :
: : : :
: * : :
: * * : :
: * * : :
: * * Да : :
: * j<=n *∙∙∙∙∙∙>∙∙∙∙.∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙. : :
: * * : : : :
: * * : : : :
: * * ***************** ┌─ : : :
: * │ Ввод : : :
: : Нет * * │ : : :
: : ReadLn(B[i,j]) ∙∙∙∙│ элемента : : :
: ***************** * * │ : : :
: * * │ матрицы : : :
: * * ***************** └─ : : :
: * i:=i+1 * : : : :
: * * : : : :
: * * ***************** : : :
: ***************** * * : : :
: : * Error:= * : : :
: : * * : : :
: : * IOResult<>0 * : : :
: : * * : : :
: : ***************** : : :
: : : : : :
: : : : : :
: : : : : :
: : * : : :
: : * * : : :
: : * * : : :
: : * * Да : : :
: : * Error *∙∙∙∙∙∙. : : :
: : * * : : : :
: : * * : : : :
: : * * ***************** : : :
: : * Вывод : : :
: : : Нет * * : : :
: : : сообщения : : :
: : : * * : : :
: : : об ошибке : : :
: : : ***************** : : :
: : : : : : :
: : : : : : :
: : : `∙∙∙∙∙>∙∙∙∙∙' : :
: : : : :
: : : : :
: : ***************** : :
: : * * : :
: : * * : :
: : * j:=j+1 * : :
: : * * : :
: : * * : :
: : ***************** : :
: : : : :
: : `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙∙∙∙∙∙' :
: : :
: `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
:
***************
* *
* К О Н Е Ц *
* *
***************
П Р О Ц Е Д У Р А InputData
***************
* *
* П У С К *
* *
***************
:
:
*
* * ┌─
* * │ Входной файл
Нет * * Да │
.∙∙∙∙∙∙∙∙∙∙∙∙∙* *∙∙∙∙∙∙∙∙∙.∙∙∙∙∙│ соответствует
: * * : │
: * * : │ файлу консоли
: * * : └─
: * :
: :
: :
: ***************** ┌─
: * * * * │
: * * * * │ Ввод матрицы
***************** * *InputMatrix* *∙∙∙∙│
* Открытие * * * * * │ с консоли
* * * * * * │
* файла * ***************** └─
* * :
* под чтение * :∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
***************** : :
: ***************** ┌─ :
: │ Ввод номеров :
: * Line1 * │ :
: ∙∙∙│ переставляемых :
***************** * Line2 * │ :
* Проверка * │ строк :
* * ***************** └─ :
* открытия * : :
* * : :
* файла * * :
***************** * * ┌─ :
: * * │ Проверка :
: Да * * Нет │ корректности :
: ∙∙∙∙* *∙∙∙.∙∙│ введенных :
: : * * : │ данных :
: : * * : │ :
: : * * : └─ :
: : * : :
***************** ┌─ : ***************** :
* * │ Начальное : Вывод :
* * │ определение : * * :
* i:=1 *∙∙∙∙∙│ счетчика : сообщения :
* * │ строк : * * :
* * │ матрицы : об ошибке :
***************** └─ : ***************** :
: : : :
: : : :
: : `∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙'
: :
: `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
: .
:∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙. :
: : :
: : :
* : :
* * : :
* * : :
* * Да : :
* i<=n *∙∙. : :
* * : : :
* * : : :
* * : : :
* : : :
: Нет : : :
: : : :
: ***************** ┌─ : :
: * * │ Начальное : :
: * * │ определение : :
: * j:=1 *∙∙∙∙∙∙∙│ счетчика : :
: * * │ элементов : :
: * * │ матрицы : :
: ***************** └─ : :
: : : :
: : : :
: :∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙. : :
: : : : :
: : : : :
: * : : :
: * * : : :
: * * : : :
: * * Да : : :
: * j<=n *∙∙∙∙∙∙>∙∙∙∙. : : :
: * * : : : :
: * * : : : :
: * * ***************** ┌─ : : :
: * │ Ввод : : :
: : Нет * ReadLn * │ : : :
: : ∙∙∙∙│ элемента : : :
: ***************** * (F,B[i,j]) * │ : : :
: * * │ матрицы : : :
: * * ***************** └─ : : :
: * i:=i+1 * : : : :
: * * : : : :
: * * ***************** ┌─ : : :
: ***************** * * │ Фиксация : : :
: : * Error:= * │ ошибки : : :
: : * *∙∙∙∙∙│ ввода- : : :
: : * IOResult<>0 * │ вывода : : :
: : * * │ : : :
: : ***************** └─ : : :
: : : : : :
: : : : : :
: : ***************** : : :
: : * * : : :
: : * * : : :
: : * j:=j+1 * : : :
: : * * : : :
: : * * : : :
: : ***************** : : :
: : : : : :
: : `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙' : :
: : : :
: `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙' :
: :
: :
`∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
:
:
***************
* *
* К О Н Е Ц *
* *
***************
П Р О Ц Е Д У Р А OutputMatrix
***************
* *
* П У С К *
* *
***************
:
:
:
*****************
* *
* Открытие *
* *
* файла *
* *
*****************
:
*****************
* Вывод *
* заголовка *
*****************
:
:
:
***************** ┌─
* * │ Начальное
* * │
* i:=1 *∙∙∙∙∙∙∙│ определение
* * │
* * │ счетчика
***************** └─
:
:
:∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
: :
: :
* :
* * :
* * :
* * Да :
* i<=n *∙∙∙∙∙∙. :
* * : :
* * : :
* * : :
* : :
: Нет : :
: ***************** ┌─ :
: * * │ Начальное :
: * * │ :
: * j:=1 *∙∙∙∙∙∙∙│ определение :
: * * │ :
: * * │ счетчика :
: ***************** └─ :
: : :
: : :
: :∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙. :
: : : :
: : : :
: * : :
: * * : :
: * * : :
: * * Да : :
: * j<=n *∙∙∙∙∙∙>∙∙∙. : :
: * * : : :
: * * : : :
: * * ***************** ┌─ : :
: * │ Вывод : :
: : Нет * Write * │ : :
: : ∙∙∙∙│ элемента : :
: ***************** * (F,B[i,j]) * │ : :
: * * │ матрицы : :
: * * ***************** └─ : :
: * i:=i+1 * : : :
: * * : : :
: * * : : :
: ***************** : : :
: : : : :
: : ***************** : :
: ***************** * * : :
: Вывод * * : :
: * * * j:=j+1 * : :
: конца строки * * : :
: * * * * : :
: в файл ***************** : :
: ***************** : : :
: : `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙' :
: : :
: `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
:
***************
* *
* К О Н Е Ц *
* *
***************
П Р О Ц Е Д У Р А GetLowTriangleMatrix
***************
* *
* П У С К *
* *
***************
:
:
:
:
***************** ┌─
* * │ Начальное
* * │
* i:=1 *∙∙∙∙∙∙∙│ определение
* * │
* * │ счетчика
***************** └─
:
:
:∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
: :
: :
* :
* * :
* * :
* * Да :
* i<=n *∙∙∙∙∙∙. :
* * : :
* * : :
* * : :
* : :
: Нет : :
: ***************** ┌─ :
: * * │ Начальное :
: * * │ :
: * j:=1 *∙∙∙∙∙∙∙│ определение :
: * * │ :
: * * │ счетчика :
: ***************** └─ :
: : :
: : :
: :∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙. :
: : : :
: : : :
: * : :
: * * : :
: * * : :
: * * Да : :
: * j<=n *∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙. : :
: * * : : :
: * * : : :
: * * * : :
: * * * : :
: : Нет * * : :
: : Нет * * Да : :
: : .∙∙∙* j<=n *∙∙∙∙. : :
: : : * * : : :
: : : * * : : :
: : : * * : : :
: : : * : : :
: : : : : :
: : : : : :
: : : : : :
: : : : : :
: : ***************** ***************** : :
: : * * * * : :
: : * * * * : :
: : * B[i,j]:=A[i,j]* * B[i,j]:=0 * : :
: : * * * * : :
: : * * * * : :
: : ***************** ***************** : :
: : : : : :
: : : : : :
: : `∙∙∙∙∙∙∙∙∙∙∙.∙∙∙∙∙∙∙∙∙∙∙∙' : :
: : . : :
: : : : :
: : ***************** : :
: ***************** * * : :
: * * * * : :
: * * * j:=j+1 * : :
: * i:=i+1 * * * : :
: * * * * : :
: * * ***************** : :
: ***************** : : :
: : : : :
: : `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙' :
: : :
: `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
:
***************
* *
* К О Н Е Ц *
* *
***************
П Р О Ц Е Д У Р А UpStr
***************
* *
* П У С К *
* *
***************
:
:
:
:
***************** ┌─
* * │ Начальное
* * │
* i:=1 *∙∙∙∙∙∙∙│ определение
* * │
* * │ счетчика
***************** └─
:
:
:∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
: :
: :
* :
* * :
* * :
Нет * * Да :
.∙∙∙∙∙* i<=Length(S) *∙∙∙∙∙∙. :
: * * : :
: * * : :
: * * : :
: * : :
: : :
: : :
: ***************** :
: * * :
: * S[i]:= * :
: * * :
: * UpCase(S[i]) * :
: * * :
: ***************** :
: : :
: : :
: : :
: ***************** :
: * * :
: * * :
: * i:=i+1 * :
: * * :
: * * :
: ***************** :
: : :
: : :
: `∙∙∙∙∙∙∙>∙∙∙∙∙∙∙∙'
:
***************
* *
* К О Н Е Ц *
* *
***************
П Р О Ц Е Д У Р А GetSum
***************
* *
* П У С К *
* *
***************
:
:
:
:
***************** ┌─
* * │
* * │ Обнуление
* Sum:=0 *∙∙∙∙∙∙∙│
* * │ суммы
* * │
***************** └─
:
:
***************** ┌─
* * │ Начальное
* * │ определение
* i:=1 *∙∙∙∙∙∙∙│ счетчика
* * │ строк
* * │
***************** └─
:
:
:∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙.
: :
: :
* :
* * :
* * :
* * Да :
* i<=n *∙∙∙∙∙∙. :
* * : :
* * : :
* * : :
* : :
: Нет : :
: ***************** ┌─ :
: * * │ Начальное :
: * * │ определение :
: * j:=1 *∙∙∙∙∙∙∙│ счетчика :
: * * │ элементв :
: * * │ :
: ***************** └─ :
: : :
: : :
: :∙∙∙∙∙∙∙∙∙<∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙. :
: : : :
: : : :
: * : :
: * * : :
: * * : :
: * * Да : :
: * j<=i-1 *∙∙∙∙∙∙∙∙∙∙∙∙∙>∙∙∙. : :
: * * : : :
: * * : : :
: * * * : :
: * * * : :
: : Нет * * : :
: : Нет * * Да : :
: : .∙∙∙* B[i,j]>0 *∙∙∙∙. : :
: : : * * : : :
: : : * * : : :
: : : * * : : :
: : : * : : :
: ***************** : : : :
: * * : : : :
: * * : ***************** : :
: * j:=j+1 * : * * : :
: * * : * * : :
: * * : *Sum:=Sum+B[i,j]* : :
: ***************** : * * : :
: : : * * : :
: : : ***************** : :
: : : : : :
: : : : : :
: : `∙∙∙∙∙∙∙∙∙∙∙.∙∙∙∙∙∙∙∙∙∙∙∙' : :
: : . : :
: : : : :
: : ***************** : :
: : * * : :
: : * * : :
: : * i:=i+1 * : :
: : * * : :
: : * * : :
: : ***************** : :
: : : : :
: : : : :
: : `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙' :
: : :
: `∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙'
:
***************
* *
* К О Н Е Ц *
* *
***************
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию