Разработка программы смены строк местами
Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 03.05.2014 |
Размер файла | 150,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Разработка программы смены строк местами
1. Постановка задачи
Разработка в среде Turbo Pascal программы смены строк местами.
Дана матрица размером MxN. Зеркально отразить её элементы относительно горизонтальной оси (при этом поменяются 1-я и n-ая строки массива).
Для отладки программы числа матрицы сформировать с помощью генератора случайных чисел.
2. Описание алгоритма решения задачи графическим способом
Укрупненная схема алгоритма
Размещено на http://www.allbest.ru/
Детализация укрупненной схемы алгоритма
В программе решаются следующие задачи:
1. Ввод элементов двумерного массива (матрицы).
2. Поиск элементов.
3. Вывод элементов
Ввод элементов массива
Ввод элементов двумерного массива Паскаля осуществляется последовательно, необходимо напечатать элементы каждой строки и каждого столбца. При этом хотелось бы, чтобы элементы, стоящие в одной строке, печатались рядом, т.е. в строку, а элементы столбца располагались один под другим. Для этого необходимо выполнить следующую последовательность действий (приведена блок-схема):
Смена строк местами
Представим алгоритм, в котором мы меняем первую и последнюю строки местами. Для этого мы используем 3 цикла и дополнительный массив temp.
Всё это выглядит в блок-схеме следующим образом:
Размещено на http://www.allbest.ru/
Вывод элементов массива
После того, как мы выяснили чётные и нечётные элементы, мы выводим их на экран. Вывод делается с помощью всего лишь одного действия:
3. Разработка программы на языке Pascal
Программа начинается со служебного слова Program, после которого следует заголовок программы.
Далее включаем раздел Uses для использования модуля CRT, который применяется для управления работой экрана в текстовом режиме.
После названия программы и идентификации используемых модулей следует раздел переменных (var).
В разделе переменных описан целочисленный массив под именем a, целочисленные переменные i, j - счетчики циклов, temp - вспомогательная переменная для сортировки элементов и т.д.
Тело программы или раздел операторов начинается со слова begin и заканчивается end. В этом разделе описываем действия, которые должна выполнить программа согласно выбранному алгоритму.
Так как в программе подразумевается ввод данных с экрана и вывод полученных результатов на экран, перед началом программы его необходимо очистить от ненужной информации. Это проделывает процедура clrscr, которая описана в модуле Crt.
Перед первым обращением к функции random необходимо с помощью вызова процедуры randomize инициализировать программный генератор случайных чисел, иначе при каждом запуске программы датчик будет выдавать одни и те же числа.
Описание блоков укрупненной схемы алгоритма на языке Pascal
Ввод элементов массива.
Для того чтобы прокомментировать, что вначале будет выведен исходный массив на экран, используем оператор writeln ('Ваш массив').
Рассмотренный фрагмент блок-схемы для реализации ввода элементов двумерного массива на языке Pascal будет представлен в следующем виде:
for i:=1 to n do begin
for j:=1 to m do begin
a [i, j]:=random(30)+1;
write (a[i, j]:3);
end;
writeln;
end;
Запись write (a[i, j]:3) обозначает, что для вывода каждого элемента на экран отводится 3 позиции.
Следующий оператор random с параметрами генерирует случайно взятое число и помещает его в текущий элемент массива. Так мы можем быстро заполнить массив интересующим нас диапазоном чисел.
Добавим в конце оператор writeln без параметров для более удобного восприятия информации с экрана.
Смена строк местами
Следующая программа реализует алгоритм в котором мы меняем строки местами. Более подробно про этот алгоритм написано выше.
Фрагмент программы:
for i:=1 to m do
temp[i]:=a [1, i];
for i:=1 to m do
a [1, i]:=a [n, i];
for i:=1 to m do
a [n, i]:=temp[i];
Вывод преобразованного массива
После действия нашей программы выводим преобразованный массив:
for i:=1 to n do begin
for j:=1 to m do
write (a[i, j]:3);
writeln;
end;
где write(…) - вывод элементов массива в строку с указанием количества занимаемых позиций (в данном случае занимаемых позиций нет).
Листинг программы
Program Num_1;
uses crt;
var
i, j, n, m: integer;
a:array [1.. 100,1..100] of integer;
temp:array [1..100] of integer;
begin
clrscr;
randomize;
write ('vvedite kolichestvo strok n ');
readln(n);
write ('vvedite kolichestvo stolbcov m ');
readln(m);
for i:=1 to n do begin
for j:=1 to m do begin
a [i, j]:=random(30)+1;
write (a[i, j]:3);
end;
writeln;
end;
writeln;
writeln ('Zadanie 1. Preobrazovanie massiva ');
for i:=1 to m do
temp[i]:=a [1, i];
for i:=1 to m do
a [1, i]:=a [n, i];
for i:=1 to m do
a [n, i]:=temp[i];
for i:=1 to n do begin
for j:=1 to m do
write (a[i, j]:3);
writeln;
end;
readkey;
end.
Тестирование программы
Ниже приведен результат выполнения программы c помощью ввода различных входных данных.
pascal алгоритм программа строка
Список литературы
1. Иванов А.Ф., Потапова О.Н., Салихова Г.Л. Основы алгоритмического языка Pascal. - Альметьевск: тип. АлНИ, 2007 г.
2. Павловская Т.А. Паскаль. Программирование на языке высоко уровня.-СПб.: - Питер, 2004 г.
3. Немнюгин С.А. Turbo Pascal: учебник - СПб.: - Питер, 2001 г.
4. Окулов С.М. Основы программирования.-Москва, 2008 г.
5. Попов В., «Паскаль и Дельфи. Самоучитель» - СПб.: «Питер», 2003 г.
Размещено на Allbest.ru
Подобные документы
Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.
курсовая работа [115,5 K], добавлен 22.05.2010Описание алгоритма решения задачи по вычислению суммы элементов строк матрицы с использованием графического способа. Детализация укрупненной схемы алгоритма и разработка программы для решения задачи в среде Turbo Pascal. Листинг и тестирование программы.
курсовая работа [446,0 K], добавлен 19.06.2014Разработка программы на языке Pascal. Описание переменных. Действия, которые должна выполнить программа согласно выбранного алгоритма. Детализация графической части программы. Листинг и тестирование программы. Вывод массива данных на экран монитора.
контрольная работа [360,4 K], добавлен 13.06.2012Описание алгоритма решения задачи графическим способом. Ввод элементов исходного массива в цикле. Нахождение определённых элементов. Сортировка элементов с помощью пузырькового метода. Разработка программы на языке Pascal. Поиск наибольшего элемента.
лабораторная работа [123,5 K], добавлен 15.01.2014Разработка блок-схемы и программы обработки одномерного массива с доступом к элементам с помощью индексов и с помощью указателей. Словесное описание алгоритма и пользовательского интерфейса, листинг программы обработки матрицы и результат её выполнения.
курсовая работа [391,1 K], добавлен 30.09.2013Разработка программы тестирования студентов по MS PowerPoint с кодом на языке Delphi. Создание алгоритма для решения функциональных требований задачи. Описание переменных, вспомогательных процедур, входных и выходных данных для реализации программы.
курсовая работа [1,5 M], добавлен 21.09.2010Теоретические и практические аспекты решения прикладных задач с применением функций и процедур структурного (модульного) программирования. Особенности разработки схемы алгоритма и программы для вычисления массива z на языке Turbo Pascal 7.0, их описание.
курсовая работа [241,7 K], добавлен 11.12.2009Разработка программы с использованием языка программирования Pascal для выполнения алгебраических действий с действительными числами без знака в шестнадцатеричной системе счисления. Описание хода выполнения, схема алгоритма, листинг программы, ее функции.
реферат [687,5 K], добавлен 28.10.2011Разработка программы на языке Turbo Pascal, обеспечивающей работу пользователя в диалоговом режиме с возможностью выбора функций с помощью одноуровневого меню вертикального типа. Блок-схема и листинг программы, описание руководства пользователя.
курсовая работа [1,5 M], добавлен 17.03.2014Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит результаты на экран. Описание переменных в программе, ее блок-схема и алгоритм работы. Листинг программы. Описание входных данных и результат вычислений.
курсовая работа [721,4 K], добавлен 10.11.2010