Курсовая

Курсовая Обработка массивов данных

Работа добавлена на сайт bukvasha.net: 2015-10-25

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 11.11.2024



ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Московский Государственный институт

Электроники и математики (ТУ)


Кафедра «Вычислительные

Системы и Сети»


Курсовая работа

по дисциплине: «Информатика»

на тему: «Обработка массивов данных»

Вариант 17
Листов _____

Задание выполнил

ст. гр.

_______________

Проверил

ст. преп. каф. ВСиС

______________Л. М. Афонина

Задание на курсовую работу


Разработать алгоритм решения задачи:

«В каждой строчке матрицы расположить элементы в следующим порядке : нули, отрицательный элементы, положительные элементы. Относительное расположение элементов не менять»

Постановка задачи:



Дано:

el_a_1 – количество строк

el_a_2количество столбцов

a11, a12, a13, a14…a1m

a21, a22, a23, a24a2m

… - значение элементов массива



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, a14a1m

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г.

1. Реферат на тему Тевтонский орден
2. Реферат Организация как объект управления 4
3. Контрольная_работа на тему Игра - метод ознакомления дошкольников с природой
4. Реферат Международное сотрудничество в области экологии
5. Реферат на тему Merchant Of Venice Essay Research Paper How
6. Курсовая на тему Налоговая политика и е роль в экономике
7. Реферат Инфляция и ее влияние на принятие решений
8. Реферат на тему Bulimia Essay Research Paper BULIMIAEating disorders are
9. Реферат Обеспечение устойчивости работы промышленных предприятий в условиях ЧС
10. Реферат на тему Психологический анализ символа в поведенческой структуре личности