Курсовая Обработка массивов данных
Работа добавлена на сайт bukvasha.net: 2015-10-25Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Московский Государственный институт
Электроники и математики (ТУ)
Кафедра «Вычислительные
Системы и Сети»
Курсовая работа
по дисциплине: «Информатика»
на тему: «Обработка массивов данных»
Вариант 17
Листов _____
Задание выполнил ст. гр. _______________ | Проверил ст. преп. каф. ВСиС ______________Л. М. Афонина |
Задание на курсовую работу
Разработать алгоритм решения задачи:
«В каждой строчке матрицы расположить элементы в следующим порядке : нули, отрицательный элементы, положительные элементы. Относительное расположение элементов не менять»
Постановка задачи:
Дано:
el_a_1 – количество строк
el_a_2 – количество столбцов
a11, a12, a13, a14…a1m
a21, a22, a23, a24…a2m
… - значение элементов массива
…
an1, an2, an3, an4…anm
Требуется:
Вывести массив, элементы строк которого расположены в следующем порядке: нули, отрицательный элементы, положительные элементы.
Ограничения:
20> el_a_1>1, 20> el_a_2>1
Внешние спецификации:
Вход:
Вывод: «Введите количество строк массива А(>1,<20)»
Ввод: < el_a_1>
Вывод: «Введите количество столбцов массива А(>1,<20)»
Ввод: < el_a_2>
Вывод: «Ведите элементы массива»
Ввод: <a11>
<a12>
<a13>
<a14>
<anm>
el_a_1 – целое число
el_a_2 – целое число
a11, a12, a13, a14…a1m
a21, a22, a23, a24…a2m
… - целые числа
…
an1, an2, an3, an4…anm
Выход:
Вывод: «Исходный массив»
a11, a12, a13, a14…a1m
a21, a22, a23, a24…a2m
…
…
an1, an2, an3, an4…anm
«Получившийся массив»
a11, a12, a13, a14…a1m
a21, a22, a23, a24…a2m
…
…
an1, an2, an3, an4…anm
«Конец»
Метод решения:
1. С помощью цикла по строкам/столбцам, находим нулевой элемент в строке и методом сдвига (т.е. меняя его с предыдущим элементом местами). Таким образом, мы перемещаем все нули в начало строки, при этом, не меняя порядок следования цифр в строке. После того как все нули перемещены в начало строки, мы сортируем оставшиеся элементы.
2. В цикле по строкам/столбцам мы проверяем два соседних элемента, они должны соответствовать условию (элемент, который мы выбрали положительный, следующий за ним отрицательный). Если условие выполняется, то мы меняем их местами и делаем это до тех пор, пока не дойдем до конца строки.
3. Выводим полученный массив на экран.
Описание алгоритма программы
Алгоритм
Начало
целые a, el_a_1, el_a_2, i, j, g, buf;
цикл
вывод «Введите количество строк массива А»
ввод el_a_1
если el_a_1 < 1 или el_a_1 > 20 то
вывод «Неверно. Повторите ввод от 1 до 20»
все
конец цикла при el_a_1 < 1 или el_a_1 > 20
цикл
вывод «Введите количество столбцов массива А»
ввод el_a_2
если el_a_2 < 1 или el_a_2 > 20 то
вывод «Неверно. Повторите ввод от 1 до 20»
все
конец цикла при el_a_2 < 1 или el_a_2 > 20
вывод «Введите элементы массива А»
цикл для i от 0 до el_a_1
цикл для j от 0 до el_a_2
вывод «A[i][j] = »
ввод ij>
конец цикла при j < el_a_2
конец цикла при i < el_a_2
вывод «Исходный массив имеет вид»
цикл для i от 0 до el_a_1
цикл для j от 0 до el_a_2
вывод <aij>
конец цикла при j < el_a_2
конец цикла при i < el_a_2
цикл для i от 0 до el_a_1
цикл для j от 0 до el_a_2
если aij == 0 то
цикл для g от j до 0
aij = aij-1
aij-1 = 0
конец цикла при g > 0
всё
конец цикла при j < el_a_2
конец цикла при i < el_a_2
цикл для i от 0 до el_a_1
цикл для j от 0 до el_a_2
если aij > 0 и aij+1 < 0 то
buf = aij+1
aij+1 = aij
aij = buf
j = j - 2
всё
конец цикла при j < el_a_2
конец цикла при i < el_a_2
вывод "Итоговый массив имеет вид"
цикл для i от 0 до el_a_1
цикл для j от 0 до el_a_2
вывод <aij>
конец цикла при j < el_a_2
конец цикла при i < el_a_2
вывод "Конец решения задачи"
конец алгоритма
Тестовые примеры
Пример №1
Количество строк массива
n=0
Вывод: «Неверно. Повторите ввод от 1 до 20»
Пример №2
Количество столбцов массива
m=0
Вывод: «Неверно. Повторите ввод от 1 до 20»
Пример №3
Количество строк массива
n=1
Колличество столбцов массива
m=7
Исходный массив имеет вид:
-4, 0, 2, -7, -1, -6, 1
a11=-4 | а12=0 | а13=2 | a14=-7 | a15=-1 | a16=-6 | a17=1 |
a11==0 | a12==0 a12= a11 a11= 0 | a13==0 | a14==0 | a15==0 | a16==0 | a17==0 |
a11=0 | a12=-4 | a13=2 | a14=-7 | a15=-1 | a16=-6 | a17=1 |
a11>0 a12<0 | a12>0 a13<0 | a13>0 a14<0 | | | | |
| | buf =a14 a14= a13 a13= buf j = j - 2 | | | | |
a11=0 | a12=-4 | a13=-7 | a14=2 | a15=-1 | a16=-6 | a17=1 |
a11>0 a12<0 | a12>0 a13<0 | a13>0 a14<0 | a14>0 a15<0 | | | |
| | | buf =a15 a15= a14 a14= buf j = j - 2 | | | |
a11=0 | a12=-4 | a13=-7 | a14=-1 | a15=2 | a16=-6 | a17=1 |
| a12>0 a13<0 | a13>0 a14<0 | a14>0 a15<0 | a15>0 a16<0 | | |
| | | | buf =a16 a16= a15 a15 =buf j = j - 2 | | |
a11=0 | a12=-4 | a13=-7 | a14=-1 | a15=-6 | a16=2 | a17=1 |
| | a13>0 a14<0 | a14>0 a15<0 | a15>0 a16<0 | a16>0 a17<0 | |
a11=0 | a12=-4 | a13=-7 | a14=-1 | a15=-6 | a16=2 | a17=1 |
Итоговый массив имеет вид:
a1=0, a2= -4, a3= -7, a4= -1, a5= -6, a6=2, a7=1
Конец решения задачи.
Пример №3
Количество строк массива
n=1
Количество строк массива
m=5
Исходный массив имеет вид
3, 0, 0, -2,0
a1=3, a2=0, a3=0, a4=-2, a5=0
a11=3 | а12=0 | а13=0 | a14=-2 | a15=0 |
a11==0 | a12==0 a12= a11 a11= 0 | a13==0 | a14==0 | a15==0 |
a11=0 | а12=3 | а13=0 | a14=-2 | a15=0 |
a11==0 | a12==0 | a13==0 a12= a11 a11= 0 | a14==0 | a15==0 |
a11=0 | a12=0 | a13=3 | a14=-2 | a15=0 |
a11==0 | a12==0 | a13==0 | a14==0 | a15==0 a12= a11 a11= 0 |
a11=0 | a12=0 | a13=3 | a14=0 | a15=-2 |
a11==0 | a12==0 | a13==0 | a14==0 a12= a11 a11= 0 | a15==0 |
a11=0 | a12=0 | a13=0 | a14=3 | a15=-2 |
a11>0 a12<0 | a12>0 a13<0 | a13>0 a14<0 | a14>0 a15<0 | |
| | | buf =a15 a15= a14 a14= buf j = j - 2 | |
a11=0 | a12=0 | a13=0 | a14=-2 | a15=3 |
| a12>0 a13<0 | a13>0 a14<0 | a14>0 a15<0 | |
a11=0 | a12=0 | a13=0 | a14=-2 | a15=3 |
Итоговый массив имеет вид:
a11=0, a12=0, a13=0, a14=-2 a15=3
0, 0, 0, -2, 3
Конец решения задачи.
Выводы:
В работе поставлена задача, сформулированы ограничения на исходные данные, разработана спецификация на входе и выходе, написан метод решения задачи. Составлен алгоритм. Приведенные тестовые примеры, пошагово вычисленные по алгоритму, демонстрируют правильность работы алгоритма.
Литература
1. Конспект лекций по курсу информатики 2010г.