Разработка программы для работы с массивами

Преобразование матрицы по заданным правилам. Методика работы с массивами, основанная на классических алгоритмах. Разработка и описание блок-схемы алгоритма. Листинг программы, экраны работы и отладки программы. Инструкция для пользователей программы.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 29.01.2013
Размер файла 338,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

  • 1. Описание постановки задачи
  • 2. Инструкция пользования программы
  • 3. Описание метода решения программы
  • 4. Блок-схема всего алгоритма
  • 5. Описание блок-схемы
  • 6. Листинг программы
  • 7. Экраны работы программы и отладки программы
  • Список литературы

1. Описание постановки задачи

Дана матрица А (N, N) и целое P. Преобразуйте матрицу по правилу: строку с номером P сделайте столбцом с номером P, а столбец с номером P сделайте строкой с номером P.

2. Инструкция пользования программы

Запускаем программу CHANGE. exe, на вопрос о размерности квадратной матрицы вводим целое число.

Нажимаем клавишу Enter и программа автоматически вводит массив случайными вещественными значениями, выводит на экран содержимое матрицы.

Далее задаём переменную P, программа меняет местами столбец со строкой и выдаёт результат на экран визуально помечая цветом изменённый столбец серым цветом на изменённую строку голубым.

Для выхода из программы нажимаем клавишу Enter.

3. Описание метода решения программы

Методика основана на классических алгоритмах работы с массивами, а именно заполнения массива и понятие о перестановке данных ячеек матриц.

Так как значение изменённого столбца совпадает со значением строки, перемену значений можно использовать лишь одним циклом перебора. Для изменения местами используем классический приём временной переменной SWAP - для хранения промежуточного результата.

Работа осуществляется двумя вложенными циклами: внешний переход по столбцам матрицы, внутренний проход по элементам каждого столбца.

В программе задействована процедура OUTM, участка кода который содержит вывод содержимого матрицы на экран.

Также используется функция randoMatr для заполнения матрицы случайными вещественными значениями.

4. Блок-схема всего алгоритма

5. Описание блок-схемы

При старте блок-схемы вводим значение размерности матрицы n и саму матрицу A размерностью n на n. Вводим значение P

Далее при соблюдения условия попадания P в диапазон матрицы выполняем цикл, тело которого меняет местами значение столбца со значением строки.

После выполнения цикла выводим содержимое матрицы.

6. Листинг программы

Program change;

uses crt;

var a: array [1.50,1.50] of integer;

n,p,swap: integer;

i,j: byte;

{n - количество строк и столбцов квадратной матрицы

swap - переменная для храненения перемены местами

p - номер строки или столбца для перемены местами

i,j - счётчики циклов}

function randoMatr (k: integer): integer;

{Функция заполнения матрицы случайными числами}

begin

randoMatr: =random (k); {Диапазон вещественных чисел}

end;

Procedure outputM;

{Вывод матрицы на экран}

begin

for i: =1 to n do

begin

for j: =1 to n do

begin

if i=p then textcolor (11); {строку P выводим голубым цветом}

if j=p then textcolor (8); {столбец P серым цветом}

write (a [i,j]: 2,' ');

textcolor (15); {остальные белым}

end;

writeln;

end;

end;

begin

{-----------Основной блок программы---------------------}

clrscr;

randomize;

write ('Введите размерность квадратной матрицы n<50=');

readln (n);

for i: =1 to n do

for j: =1 to n do

a [i,j]: =randoMatr (99); {заполняем матрицу элементами}

writeln ('Исходная матрица: ');

outputM; {Вывод матрицы на экран}

write ('Введите целое P=');

readln (p);

{Проверка входимости числа в матрицу}

if (P>n) or (P<1) then exit;

{Меняем местами столбец со строкой}

for i: =1 to n do

begin

swap: =a [i,p];

a [i,P]: =a [p, i];

a [p, i]: =swap;

end;

writeln ('Полученная матрица: ');

outputM; {Вывод матрицы на экран}

writeln ('Для выхода нажмите Enter');

readln;

end.

7. Экраны работы программы и отладки программы

Начинаем с основного блока программы как заполнение матрицы.

Пишем функцию заполнение матрицы случайными числами:

Процедуру вывода на экран:

Тестируем запуск:

программа алгоритм программа матрица

Пишем остальную часть кода, пробуем запуском программы:

Предоставим несколько вариантов исполнения программы:

Список литературы

1. В.М. Питеркин "Основы программирования на языке высокого уровня", М. - 2002 г.

2. Меженный О.А. "Самоучитель TURBO PASCAL", издат. Диалектика, 2008 год

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.