Файл: Основные структуры алгоритмов: сравнительный анализ и примеры их использования (Построение алгоритмов вычислительных процессов).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 207

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

(3.3)

Введение этого элемента с клавиатуры отображается блоком 4. После этого необходимо взять следующий элемент массива, а именно второй, для его введения в память. Причем индекс нового элемента массива отличен от предыдущего на единицу и в общем случае задается формулой:

(3.4)

Полученное выражение следует читать так: новому значению , которое стоит слева от знака «=», присвоить предыдущее значение , увеличенное на 1.

В блоке 6 происходит проверка условия: все ли элементы массива введены в память? В случае введения всех элементов в память значение индекса превышает максимальное и управление переходит на продолжение процесса, что отвечает ветке «Нет», в противном случае линия потока направляется к блоку 4, где снова происходит введение элемента, и вычислительный процесс продолжается до блока 6

Рисунок 3.1. – Схема алгоритма введения одномерного массива в память

3.3. Использование массивов в языке С++

Одномерный массив — массив, с одним параметром, характеризующим количество элементов одномерного массива. Фактически одномерный массив это массив, у которого может быть только одна строка, и n-е количество столбцов. Столбцы в одномерном массиве — это элементы массива. На рисунке 13 показана структура целочисленного одномерного массива a. Размер этого массива — 16 ячеек.

Заметьте, что максимальный индекс одномерного массива a равен 15, но размер массива 16 ячеек, потому что нумерация ячеек массива всегда начинается с 0. Индекс ячейки – это целое неотрицательное число, по которому можно обращаться к каждой ячейке массива и выполнять какие-либо действия над ней (ячейкой).

Синтаксис объявления массивы выглядит следующим образом:

/*тип данных*/ /*имя одномерного массива*/[/*размерность одномерного массива*/];

Пример объявления одномерного массива, изображенного на рисунке 13:

int a[16];

где, int - целочисленный тип данных;

а – имя одномерного массива;

16 — размер одномерного массива, 16 ячеек.

Всегда сразу после имени массива идут квадратные скобочки, в которых задаётся размер одномерного массива, этим массив и отличается от всех остальных переменных.

Массив может быть инициализирован при объявлении. Инициализация одномерного массива выполняется в фигурных скобках после знака равно, каждый элемент массива отделяется от предыдущего запятой.


Пример инициализации одномерного массива:

int a[16] = { 5, -12, -12, 9, 10, 0, -9, -12, -1, 23, 65, 64, 11, 43, 39, -15 };

Одномерными массивами не всегда можно ограничиться. Например, необходимо обработать некоторые данные из таблицы. Таблица состоит из строк и столбцов – их количество определяет размер таблицы. Также и в двумерном массиве, есть такие характеристики как, количество строк и количество столбцов двумерного массива.

То есть, визуально, двумерный массив — это обычная таблица, со строками и столбцами. Структура двумерного массива, с именем a, размером m на n показана ниже (рисунок 18).

где, m - количество строк двумерного массива;

n - количество столбцов двумерного массива;

m * n - количество элементов массива.

В объявлении двумерного массива, также как и в объявлении одномерного массива, первым делом, нужно указать:

  • тип данных;
  • имя массива.

После чего, в первых квадратных скобочках указывается количество строк двумерного массива, во вторых квадратных скобочках — количество столбцов двумерного массива. Двумерный массив визуально отличается от одномерного второй парой квадратных скобочек. Рассмотрим пример объявления двумерного массива. Допустим нам необходимо объявить двумерный массив, с количеством элементов, равным 15. В таком случае двумерный массив может иметь три строки и пять столбцов или пять строк и три столбца.

Пример объявление двумерного массива:

int a[5][3]

  • a - имя целочисленного массива
  • число в первых квадратных скобках указывает количество строк двумерного массива, в данном случае их 5;
  • число во вторых квадратных скобках указывает количество столбцов двумерного массива, в данном случае их 3.

Пример инициализации двумерного массива:

int a[5][3] = { {4, 7, 8}, {9, 66, -1}, {5, -5, 0}, {3, -3, 30}, {1, 1, 1} };

В данном массиве 5 строк, 3 столбца.после знака присвоить ставятся общие фигурные скобочки, внутри которых ставится столько пар фигурных скобочек, сколько должно быть строк в двумерном массиве, причём эти скобочки разделяются запятыми. В каждой паре фигурных скобочек записывать через запятую элементы двумерного массива. Во всех фигурных скобочках количество элементов должно совпадать. Так как в массиве пять строк, то и внутренних пар скобочек тоже пять. Во внутренних скобочках записаны по три элемента, так как количество столбцов — три.

Рассмотрим сортировку массива на конкретном примере. Допустим, что нам необходимо ввести 7 названий городов, упорядочить их по алфавиту и вывести упорядоченный массив на экран.


Рисунок 3.1. - Листинг программы

Рисунок 3.2. – Протокол выполнения программы

Текстовые функции применяются и для решения задач кодирования данных с целью хранения секретной информации, например в банковской сфере, в военных целях, в деятельности различных фирм и т.д.

ЗАКЛЮЧЕНИЕ

В ходе курсовой работы мы выяснили, что использование циклов и массивов значительно ускоряют написание программ и сильно сокращают код необходимый для обработки больших объемов данных. Например, для объявления тысячи переменных одного типа придется написать тысячу строк, в то время как с помощью массива мы можем те же действия выполнить одной стройкой кода.

Обработка массивов с помощью циклов еще более сокращает объем написания кода, так как для обработки массивов требуется многократное повторение однотипных действий.

Кроме того циклы служат не только для обработки массивов, но и просто для выполнения повторяющихся действий.

В процессе выполнения данной работы мы рассмотрели основные типы циклов и методы их применения. Кроме того рассмотрены специальные функции циклов – break и continue. Исследованы методы применения специальных функций.

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Джесс Либерти. Освой самостоятельно С++ за 21 день. Издательский дом «Вильямс». 2001. с. 167-185
  2. Борис Пахомов. С/С++ и MS Visual C++ 2010 для начинающих. БХВ-Петербург. 2011. с. 30-37
  3. Бьерн Страуструп. Программирование. Принципы и практика использования С++. Издательский дом «Вильямс». 2011. с. 86-92
  4. АйворХортон. Visual C++ 2010. Полный курс. Издательский дом «Вильямс» 2011. с. 164-200
  5. Дэвид Гриффитс, Дон Гриффитс. Изучаем программирование на С. Издательство «Эксмо» 2013. с. 74- 81
  6. Прата С. Язык программирования С++. Издание 6. Издательский дом «Вильямс» 2011. с. 192- 196
  7. Брайан Керниган, ДеннисРитчи. Язык программирования С++. Издательство «Невский диалект» 2001. с. 124-164
  8. Р. Лафоре. Объектно-ориентированное программирование в С++. Издательство «Питер». Издание 4. 2004. с. 262-271
  9. Хусаинов Б.С. Структуры и алгоритмы обработки данных. Примеры на языке Си. Учеб.пособие. – Финансы и статистика, 2004. – 464с. Массивы.стр. 35-62
  10. Кубенский А.А. Структуры и алгоритмы обработки данных: объектно-ориентированный подход и реализация на С++. – СПб.: БХВ-Петербург, 2004. – 464с.
  11. Седжвик Роберт. Фундаментальные алгоритмы на С++. Анализ/Структуры данных/Сортировка/Поиск: Пер. с англ./ Седжвик Роберт. К.: Издательство «ДиаСофт», 2001. с. 87- 93
  12. С/С++. Структурное программирование: Практикум/Т.А. Павловская, – СПб.: Питер. 2003.–461с.Двумерные массивы: стр.71 -88
  13. Язык С++: Учеб.пособие/И.Ф. Астахова, С.В. Власов, В.В. Фертиков, А.В. Ларин.–Мн.: Новое знание, 2003. – 203с.
  14. Лаптев В.В., Морозов А.В., Бокова А.В. С++. Объектно-ориентированное программирование. Задачи и упражнения. – СПб.: Питер. 2007.–288с
  15. Кнут, Дональд, Эрвин. Искусство программирования. Том 1. Основные алгоритмы. 3-е изд. Пер. с англ. – : Уч. пос. М.: Издательский дом. «Вильямс», 2000.– 720с. Массивы и ортогональные списки: 341 ÷ 351
  16. С++ Стандартная библиотека. Для профессионалов./Н. Джосьютис. – СП Питер, 2004. Обычные массивы как контейнеры STL – стр. 223
  17. Динман М.И. С++. Освой на примерах. – СПб.: БХВ-Петербург, 2006. Массивы: стр. 79 ÷138
  18. Харви Дейтел, Пол Дейтел. Как программировать на С++. Пер. с англ. – М.: ЗАО «Издательство БИНОМ», 1998 г. Массивы: стр. 260-289
  19. Майерс С. Эффективное использование С++. 50 рекомендаций по улучшению ваших программ и проектов. Пер. с англ. – М.: ДМК Пресс; – СПб.: Питер. 2006.–240с.
  20. Штерн Виктор. Основы С++: Методы программной инженерии.– Издательство «Лори», 2003. – 860с. О массивах стр.143-166
  21. Скляров В.А. Язык С++ и объектно-ориентированное программирование. Справочное пособие. – Минск. «Вышейшая школа». – 1997г. – 478с.