Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Особенности и примеры использования массивов при разработке программ(Определение массивов и их виды)

Содержание:

Введение

Тема данной курсовой «Особенности и примеры использования массивов при разработке программ». Актуальность темы курсовой работы вытекает из того факта, что массивы различных типов эффективно используются в процессе разработки приложений во всех языках программирования.

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

Массивы оказались удобным методом хранения множества логически связанных элементов данных в едином блоке, контейнере с целью быстрого обращения к этим элементам, удобства и эффективного программирования. Организация данных в массивы позволяет сохранять элементы данных и обращаться к этим элементам данных посредством использования единственной переменной [2]. Другим важным преимуществом концепции массивов является использование циклов для быстрого обращения и обработки элементов массивов. Совместное использование массивов и циклов позволяет применить небольшое количество операторов языка программирования, обрабатывающих большие объемы данных.

На основании всего изложенного выше была поставлена цель курсовой работы – рассмотреть концепцию и основные алгоритмы, применяемые при обработки массивов на примере одного из современных языков программирования. Таким языком был выбран язык JavaScript, который в настоящее время является одним из базовых языков при разработке веб-приложений [13].

Для достижения цели курсовой работы были поставлены и решены следующие задачи:

  • Проанализировать литературные и интернет источники по теме работы, обобщить результаты анализа, представить собственное определение массивов и их видов;
  • Представить типовые операции с массивами на примере языка программирования JavaScript, дать описание их работы;
  • Представить типовые практические примеры использования массивов в программировании на языке JavaScript.

Работа состоит из 30 страниц, введения, заключения и приложения с полными кодами программ на языке JavaScript, включает 5 рисунков.

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

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

Во втором разделе рассмотрены возможные операции с массивами, принятые во всех языках программирования, но с примерами на языке JavaScript.

В третьем разделе рассмотрены типовые задачи, с которыми обычно сталкиваются разработчики программ на языке программирования JavaScript, приведены коды программ с объяснениями принципов их работы

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

1. Понятие массива в языках программирования

1.1 Определение массивов и их виды

Анализ литературных источников показывает, что понятию массива дается самое разное определение. Приведем некоторые из них.

Самым распространенным определением является следующее: массив, это упорядоченный набор элементов, каждый из которых хранит одно значение, идентифицируемое с помощью одного или нескольких индексов [1]. В простейшем случае массив имеет постоянную длину и хранит единицы данных (элементы массива) одного и того же типа, а в качестве индексов выступают целые числа.

В данном определении каждому элементу ставится в соответствие индекс или несколько индексов, однако, как показывает дальнейшее исследование, элемент массива может идентифицироваться

Если говорить о самом общем определении, независимо от языков программирования, то можно определить массив, как набор (коллекцию, совокупность) элементов данных, к которым определяются правила доступа (обращения к элементам массива) и которые логически объединены одним именем (именем этого набора).

Рисунок 1 – Схема, представляющая общую сущность определения массива

В текстовом виде совокупность элементов, объединенных общим смысловым значением, выделяется скобками различного вида: [Элемент1, Элемент2, Элемент3…ЭлементN] или (Элемент1, Элемент2, Элемент3…ЭлементN). Элементы массива могут иметь, как числовые значения, так и строчные значения, могут быть одного типа (например, числовые или строчные) или смешанного типа – и числовые, и строчные. Возможны любые типы.

1.2 Массивы с числовыми индексами

Массивы с числовыми индексами, это разновидность массивов, которая предназначена для хранения пронумерованных значений элементов массива и при этом предлагаются методы для удобного манипулирования такой коллекцией [6]. Они обычно используются для хранения упорядоченных коллекций данных, например – списка услуг и товаров на странице, учеников в классе и т.п.

Пример числового массива:

[25, 35, 45, 22, 44, 46,56]

Пример массива со строчными элементами:

[Иванов, Петров, Васильев, Зисман]

Пример массива смешанного типа:

[Ковалев, 2002, сентябрь, 13]

[Пушкин, белеет парус одинокий].

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

Пример числового массива размерности 3Х3 (матрица):

[

[25, 35, 45],

[22, 44, 46],

[56, 67,89]

]

Пример массива со строчными элементами – группы студентов университета:

[

[Группа1, Иванов, Петров, Сидоров],

[Группа2, Вассеc, Зисман, Цукербергер]

[Группа3, Коваль, Тулеев, Уваров]

]

Пример многомерного массива смешанного типа – произведения писателя:

[

[Логунова Е.И., Принц в неглиже, 2007],

[Логунова Е.И., Афродита размера XXL, 2008],

[Логунова Е.И., Любовные игры по Интернету, 2008],

].

Для обращения к элементу массива используется простая синтаксическая конструкция вида: Имя массива [идентификатор элемента]. Соответственно, для многомерного массива производится по нескольким идентификаторам: Имя массива [идентификатор элемента массива верхнего уровня] [Идентификатор нижележащего уровня].

1.3 Ассоциативные массивы

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

Table_Headers =

Array

(

'Clients' => Array # клиенты

(

'Идентификатор клиента' ,

'ФИО' ,

'Адрес' ,

'Место работы и должность' ,

'Телефон' ,

'Электронный Адрес' ,

),

'Employes' => Array # сотрудники

(

'Идентификатор (код)' ,

'Наименование подразделения' ,

'Участок/Комната' ,

'Должность' ,

'Ф И О' ,

),

Для ассоциативных массивов обращение к элементам производится следующим образом: Table_Headers [Clients][Адрес]. Как видно из этого примера, обращение к элементам производится с использованием наименований элементов.

Если данные находятся в базе данных, то они считываются с помощью языка запросов к реляционным базам данных SQL по определенным ключам поиска или полностью. Этот язык встроен в скриптовый язык программирования типа php, работающий, в отличие от JavaScript, на стороне сервера. В данном случае считывается вся база данных клиентов и результат помещается в ассоциативный массив такого типа. Общую схема представлена на Рисунке 2.

Рисунок 2 – Данные помещаются в ассоциативный массив

2. Операции с массивами в языках программирования

2.1 Определение массивов в языке JavaScript

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

Основное назначение и особенности JavaScript. JavaScript — это язык, который предназначен для создания клиентских и серверных веб-приложений для Internet [13]. Программы, написанные на языке JavaScript, называются скриптами. Скрипты на JavaScript включаются в тело HTML-файлов (документов) для выполнения. Программы просмотра содержимого HTML-документов (браузеры) типа Microsoft Internet Explorer и другие, интерпретируют HTML-код документа и встроенные в документ вставки в виде script-кодов и выполняют их. Язык JavaScript, это интерпретируемый язык программирования. Например, программы на JavaScript могут проверять вводимые пользователем данные в формы на экране дисплея. Программы начинают работать, в ответ, например, на ряд действий пользователей — нажатие кнопок "мыши", ввод данных в формы, перемещение "мыши" по странице.

Для создания и проверки скриптов на JavaScript не требуется никаких специальных средств разработки, необходимой программой является только браузер, который способен выполнять код языка JavaScript [5]. Код может создаваться просто в блокноте или при помощи редакторов типа Notepad++. Так как скрипт встраивается в текст HTML-документа, то можно сразу увидеть результат работы и отлаживать скрипт в интерактивном режиме – ошибка, исправление, запуск.

С его помощью языка можно динамически управлять отображением и содержимым HTML-документов. JavaScript обеспечивает взаимодействие с пользователем.

Для создания массива используется следующая простая синтаксическая конструкция: открывающиеся и закрывающиеся квадратные скобки с списком через запятую элементов внутри скобок.

Некоторые примеры массивов на языке JavaScript. Массив без определенных элементов:

var phones = [];

Массив phones с тремя элементами:

var phones = ["iPhone", "Nokia", "Samsung"];

Элементы нумеруются, начиная с нуля. Чтобы получить нужный элемент из массива – указывается его номер в квадратных скобках:

var phones = ["iPhone", "Nokia", "Samsung"];

alert(phones[0] ); // iPhone

alert(phones[1] ); // Nokia

alert(phones[2] ); // Samsung

В данном примере на экран будут последовательно выводится элементы массива phones посредством метода alert.

Любой элемент массива можно переопределить – присвоить другое значение или добавить новый элемент массива:

phones [3] = "Honor"; // теперь ["iPhone", "Nokia", "Samsung", "Honor"];

В данном примере был добавлен элемент с индексом 3 и общее количество элементов массива становиться равным 4.

Общее число элементов массива можно определить с помощью метода length:

var phones = ["iPhone", "Nokia", "Samsung", "Honor"];

alert (phones.length); // Общее число элементов массива равно 4

Необходимо отметить, что такое значение при использовании метода получается в случае последовательного использования индексирования, так как фактически метод length возвращает индекс последнего элемента, увеличенный на единицу. Если массив определен, например, таким образом: array_big[0]=1, а array_big[100]=1, то array_big.length=101.

Посредством метода alert можно выводить и весь массив, а не только отдельные элементы, при этом все элементы появляются последовательно и отделяются друг от друга запятой:

var phones = ["iPhone", "Nokia", "Samsung"];

alert(phones); // будет выведен список iPhone, Nokia, Samsung

Как было сказано выше, массив может содержать любое количество элементов самого разного типа – строки, числа, объекты. Приведем еще один пример:

// различные типы элементов

var Array_mix = [1, 'Имя', {name: 'Коля'}, true];

// таким образом получаем элемент из массива и его свойство

alert (Array_mix[2].name); // выдает имя Коля

2.2 Методы pop/push, shift/unshift

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

Рисунок 2 – Представление массива в виде очереди

В реальных практических задачах программирования такая структура данных используется очень часто. Примером может быть очередь пришедших сообщений, которые необходимо последовательно выбирать и показывать на экране. Часто используется программистами и такая структура данных, которая называется стеком [13]. Под стеком понимается такая структура данных, когда данные в массив добавляются каждый раз в конец и берутся для обработки, тоже с конца. Самым простым примером является колода карт.

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

Рисунок 3 – Представление массива в виде стека

Удаление элементов массива методом pop. Методом pop удаляется последний элемент массива, при этом возвращается его значение:

var phones = ["iPhone", "Nokia", "Samsung"];

alert(phones.pop()); // удалили "Samsung"

alert(phones); // остаются элементы iPhone, Nokia

Добавление элементов массива с помощью метода push. Метод используется для добавления элементов в конец массива:

var phones = ["iPhone", "Nokia"];

phones.push("Samsung");

alert(phones); // будет выдан список iPhone, Nokia, Samsung

Использование метода к массиву phones.push даст тот же результат, что использование метода length вида: phones[phones.length].

Использование метода shift для удаления элементов из начала массива. Метод shift используется для удаления первого элемента и возвращения его значения.

var phones = ["iPhone", "Nokia", "Samsung"];

alert(phones.shift()); // удаляется iPhone

alert(phones); // Nokia, Samsung

Использование метода unshift для добавления элементов из начала массива. Метод unshift используется для добавления первого элемента в массив.

var phones = ["Nokia", "Samsung"];

phones.unshift('iPhone');

alert(phones); // iPhone, Nokia, Samsung

Методы push и unshift могут использоваться для добавления нескольких элементов в массив одновременно:

var phones = ["iPhone"];

phones.push ("Nokia", "Lenovo");

phones.unshift ("ZTE", "Honor");

В результате получим массив:

phones = ["ZTE", "Honor", "iPhone", "Nokia", "Lenovo"];

alert(phones); // ZTE, Honor, iPhone, Nokia, Lenovo

Вывод массива с пропущенными элементами. Если в массиве есть пропущенные элементы, то при выводе в большинстве браузеров вместо элементов будут выводиться только запятые, например:

var arr_pusto = [];

arr_pusto[0] = 0;

arr_pusto[5] = 5;

alert(arr_pusto); // 0,,,,,5

Эти запятые появляются потому, что алгоритм вывода массива идёт от 0 до arr_pusto.length и выводится всё через запятую. Отсутствующие значения заменяются несколькими запятыми подряд.

Перебор элементов одномерного массива. Для перебора элементов одномерного массива обычно используется цикл:

var phones = ["iPhone", "Nokia", "Samsung"];

for (var i = 0; i < phones.length; i++) {

alert(phones[i]);

}

Рассмотрим пример числового многомерного массива размерности 3х3, другими словами, массив, состоящий из трех элементов, каждый из которых состоит из массива, содержащего по три элемента. Этот массив имеет следующий вид:

var matrix3x3 =

[

[1, 2, 3],

[4, 5, 6],

[7, 8, 9]

];

Пример обращения к одному из элементов такого числового многомерного массива приведен ниже:

alert(matrix3x3[1][1]); // центральный элемент

Создадим другой пример многомерного массива, содержащего даты рождения студентов.

var students =

[

["Колдыркаев Н.Н.", "2002", "август", "16"],

["Перекуренко М.Д.", "2002", "август", "9"]

];

alert(students[0] + "\r\n" + students[1]);

Результатом выполнения этого кода является таблица (без рамок), содержащая даты рождения студентов в виде:

Колдыркаев Н.Н., 2002, август, 16,

Перекуренко М.Д., 2002, август, 9

Безусловно, таблица имеет не вполне «читабельный» вид, так как отсутствуют наименования столбцов и четкое разделение полей на ячейки таблицы, но ее можно усовершенствовать.

Как получить последний элемент произвольного массива, если размер его неизвестен? Для этого можно использовать метод length.

Рассмотрим для примера тот же массив phones. Предположим, что количество элементов в нем неизвестно, но можно это узнать, применив метод length – phones.length. Последний элемент имеет индекс на 1 меньше, чем размер массива:

Например:

var phones = ["iPhone", "Nokia", "Samsung", "ZTE", "Lenovo”];

Длина этого массива phones.length равна 5. Здесь “iPhone” имеет индекс 0, “Nokia” – индекс 1, “Samsung” – индекс 2, ”ZTE”- индекс 3, ”Lenovo”- индекс 4.

То есть, для массива длины phones:

var lastphone = phones[phones.length - 1]; // получаем последний элемент

2.3 Выполнение кода JavaScript в браузере

Базовый синтаксис языка HTML. Для того, чтобы запустить код JavaScript в среде браузера, рассмотрим только основные понятия языка HTML (HyperText Markup Language) и типовую структуру веб-страницы. Типичная веб-страница представляет собой текстовый файл в формате HTML, который используется для формирования структуры веб-страниц. Любой файл, документ на языке HTML представляет собой набор элементов кода, обозначаемых специальным образом. Начало и конец каждого элемента обозначается специальными символами — тегами. Кроме того, элементы кода с тэгами могут иметь атрибуты в теле начала и конца тэга. Эти атрибуты обозначают определенные свойства (например, размер шрифта, фон, цвет и прочее). Атрибуты указываются в открывающем теге. Вот примеры фрагментов HTML-документа:

<strong>Текст</strong> или

<a href="http://www.example.com. Элемент содержит атрибут href, то есть гиперссылку.

</a>

Разметка HTML позволяет располагать контент страницы в необходимом вам порядке. Базовый шаблон HTML страницы выглядит так:

<!DOCTYPE html>

<head>

<meta charset="utf-8">

<title>Заголовок Страницы</title>

</head>

<body>

Содержание страницы

</body>

</html>

Вставка кода JavaScript в html-страницу и просмотр в браузере. Так как эта курсовая посвящается использованию массивов в программировании и, в частности в языке JavaScript, то достаточно знать, каким образом добавляется код JavaScript в html-страницу и как просматривать исполнение кода страницы с помощью браузера. Один из вариантов, это просто встраивание кода JavaScript в HTML-страницу при помощи тега <script>, например:

<!DOCTYPE html>

<head>

<meta charset="utf-8">

<title>Заголовок Страницы</title>

</head>

<body>

Содержание страницы

<script>

Код JavaScript

</script>

</body>

</html>

В этом варианте тег <script> содержит сам код JavaScript. Браузер сканирует весь файл и когда доходит до тега <script>, он выполняет, интерпретирует этот код.

В другом варианте, если код очень большой, то его выводят в отдельный файл с расширением .js. Этот файл вставляется для выполнения следующим образом:

<!DOCTYPE html>

<head>

<meta charset="utf-8">

<title>Заголовок Страницы</title>

</head>

<body>

Содержание страницы

<script src="/path_to_file/my_script.js"></script>

</body>

</html>

В данном случае подключение происходит тоже с помощью тега <script>, к которому добавляют атрибут src. В этом атрибуте прописывают относительный или абсолютный путь к файлу JavaScript. Сначала браузер загружает этот файл, а затем выполняет.

Базовый синтаксис JavaScript. Исходный код скриптов сканируется слева направо и преобразуется в последовательность найденных элементов, которые несут в себе определенный смысл для языка JavaScript, например, ключевые слова (if, else, while, returnи прочие), литералы (true, false, null и т.д.), пробелы, окончания строк или комментарии. А также JavaScript чувствителен к регистру и использует кодировку символов Unicode. Каждая программа — это набор команд. В JavaScript команды разделяются точкой с запятой (;). Чтобы упросить чтение и понимание кода используются комментарии. Для оформления однострочных комментариев используются //, многострочные и внутристрочные комментарии начинаются с /* и заканчиваются */.

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

<!DOCTYPE html>

<head>

<meta charset="utf-8">

<title>Заголовок Страницы</title>

</head>

<body>

Cодержание страницы

<script>

alert("1.Элементы нумеруются, начиная с нуля, чтобы получить нужный элемент из массива – указывается его номер в квадратных скобках:");

var phones = ["iPhone", "Nokia", "Samsung"];

alert( phones[0] ); // iPhone

alert( phones[1] ); // Nokia

alert( phones[2] ); // Samsung

alert( phones ); // iPhone,Nokia,Samsung

alert("2.pop Удаляет последний элемент из массива и возвращает его:");

alert( phones.pop() ); // удалили "Samsung"

alert( phones ); // iPhone, Nokia

alert("3.push Добавляет элемент в конец массива:");

phones.push("ZTE");

alert( phones ); // iPhone, Nokia, ZTE

alert("4.Перебор элементов. Для перебора элементов обычно используется цикл:");

for (var i = 0; i < phones.length; i++) {

alert( phones[i] );

}

alert("5.Пример многомерного массива:");

var students = [

["Колдыркаев Н.Н.", "2002", "август", "16"],

["Перекуренко М.Д.", "2002", "август", "9"]

];

alert(students[0]+"\r\n"+students[1]);

</script>

</body>

</html>

3. Практические примеры использования массивов в языках программирования

Рассмотрим несколько примеров использования массивов, на примере языка программирования JavaScript.

3.1 Выбор положительных элементов массива

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

alert ("Раздел 3.1: последнее положительное число и его индекс");

var A = [1, -2, -5, 2, -3, 3, 13, -7]; // исходный массив

alert(A);

var B = []; // если положительные, складываем сюда

var I = []; // если положительные, индексы складываем сюда

var j = 0; // индексы массивов B и I

for (var i = 0; i < A.length; i++) {

if (A[i] > 0) {B[j]=A[i]; I[j]=i; j++;}

}

// Формируем окончательный вывод

var R ="ВСЕ ЭЛЕМЕНТЫ ИСХОДНОГО МАССИВА А: "+A+"\r\nВСЕ ПОЛОЖИТЕЛЬНЫЕ ЭЛЕМЕНТЫ ИСХОДНОГО МАССИВА СОБЕРЕМ В МАССИВЕ B: "+B

+"\r\nВСЕ ИНДЕКСЫ ПОЛОЖИТЕЛЬНЫХ ЭЛЕМЕНТОВ ИЗ ИСХОДНОГО МАССИВА СОБЕРЕМ В МАССИВЕ I: "+I+

"\r\nПОСЛЕДНИЙ ПОЛОЖИТЕЛЬНЫЙ ЭЛЕМЕНТ: "+B[B.length-1]+"\r\nИНДЕКС ПОСЛЕДНЕГО ПОЛОЖИТЕЛЬНОГО В ИСХОДНОМ МАССИВЕ: "+I[I.length-1]; // все элементы

alert(R);

3.2 Сортировка числового массива по убыванию

Еще одной важной задачей, которая очень часто встречается при разработке программ на любом языке программирования, является задача сортировки массива. Сортироваться могут как числовые массивы, так и массивы со строчными данными. В данном примере рассматривается код сортировки числового массива по убыванию числовых значений элементов. Фрагмент кода приведен ниже.

alert ("Раздел 3.2: Сортировка числового массива по убыванию");

var C =[1, -2, -5, 2, -3, 3, 13, -7];

A=BubbleSort(A);

function BubbleSort(A) // A - массив, который нужно

{ // отсортировать по УБЫВАНИЮ.

var n = A.length;

for (var i = 0; i < n-1; i++)

{ for (var j = 0; j < n-1-i; j++)

{ if (A[j+1] > A[j])

{ var t = A[j+1]; A[j+1] = A[j]; A[j] = t; }

}

}

return A; // На выходе сортированный по возрастанию массив A.

}

alert("БЫЛО: "+C+"\r\nСТАЛО: "+A);

Полные коды скриптов, описанных в разделах 2.1-2.2 представлены в приложении.

3.3 Получение случайного элемента массива

Получение случайного элемента из массива является интересной и часто встречающейся проблемой, стоящей перед разработчиками. Для получения значения целого числа из заданного диапазона от минимального до максимального (от min до max) воспользуемся кодом:

var rand = min + Math.floor(Math.random() * (max + 1 - min));

Для вывода нужно получить случайный номер от 0 до array.length-1 включительно из массива.

Приведем фрагмент этого кода:

alert ("6. Получить случайное значение из массива:");

var styles = ["Рэп", "Регги", "Классика", "Рок-н-Ролл","Джаз","Блюз"];

var rand = Math.floor(Math.random() * styles.length);

alert(styles[rand]);

В приложении приведен этот код в составе комплекса тестов под именем Test1.

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

Заключение

В данной курсовой работе проведено исследование особенностей и использования массивов при разработке программ. Практические примеры использования массивов приведены на примере языка программирования JavaScript.

Актуальность темы курсовой работы обусловлена широким использованием концепции массивов данных и операций с массивами при разработке приложений во всех языках программирования.

В процессе достижения цели курсовой работы были решены следующие задачи:

  • Проанализированы источники информации по теме работы, обобщены результаты анализа, представлено собственное определение массивов и их видов;
  • Представлены описания типовых операции с массивами, представлены коды операций на примере языка программирования JavaScript;
  • Представлены типовые практические примеры использования массивов в программировании на языке JavaScript при разработке приложений.

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

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

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

Список использованных источников

  1. Основы алгоритмизации и программирования: учеб. пособие / Т.А. Жданова, Ю.С. Бузыкова. – Хабаровск: Изд-во Тихоокеан. гос.ун-та, 2011.– 56 с. Режим доступа: http://pnu.edu.ru/media/filer_public/2013/02/25/book_basics.pdf.
  2. Основы алгоритмизации и программирования : учебное пособие / Г. Р. Кадырова. – Ульяновск : УлГТУ, 2014. – 95 с. . Режим доступа: http://venec.ulstu.ru/lib/disk/2014/137.pdf
  3. Основы алгоритмизации и программирования. Курс лекций. Режим доступа: http://lib.ssga.ru/fulltext/UMK/
  4. Основы алгоритмизации и программирования: Метод. указ. / Сост.: И.П. Рак, А.В. Терехов, А.В. Селезнев. Тамбов: Изд-во Тамб. гос. техн. ун-та. Режим доступа: http://www.ict.edu.ru/ft/004758/terehov.pdf.
  5. Вахтуров, В. JavaScript. Освой на примерах/ В. Вахтуров, СПб.: БХВ-Петербург, 2007. – 400 с.
  6. Дэвид Макфарланд. JavaScript. Подробное руководство. / Дэвид Макфарланд. –М.:Эксмо, 2009. – 608 с.
  7. Дэвид Флэнаган. JavaScript. Подробное руководство. / Дэвид Флэнаган. М.:Символ-Плюс, 2008. – 992 с.
  8. Дронов Владимир JavaScript. Народные советы; БХВ-Петербург - М., 2016. - 458 c.
  9. Дунаев Вадим JavaScript. Самоучитель; Питер - М., 2015. - 400 c.
  10. Дунаев Вадим HTML, скрипты и стили; БХВ-Петербург - М., 2015. - 816 c.
  11. Климов Александр JavaScript на примерах; БХВ-Петербург - М., 2017. - 812 c.
  12. Крокфорд Д. JavaScript. Сильные стороны; Питер - М., 2016. - 262 c.
  13. Макфарланд Дэвид JavaScript. Подробное руководство; Эксмо - М., 2015. - 608 c

Приложение

Данный скрипт содержит несколько отдельных скриптов, демонстрирующих работу с массивами на примере отдельных методов JavaScript, о которой шла речь в разделах 2-3.

<!DOCTYPE html>

<head>

<meta charset="utf-8">

<title>Заголовок Страницы</title>

</head>

<body>

Содержание страницы

<script>

alert("1.Элементы нумеруются, начиная с нуля.Чтобы получить нужный элемент из массива – указывается его номер в квадратных скобках:");

var phones = ["iPhone", "Nokia", "Samsung"];

alert( phones[0] ); // iPhone

alert( phones[1] ); // Nokia

alert( phones[2] ); // Samsung

alert( phones ); // iPhone,Nokia,Samsung

alert("2.pop Удаляет последний элемент из массива и возвращает его:");

alert( phones.pop() ); // удалили "Samsung"

alert( phones ); // iPhone, Nokia

alert("3.push Добавляет элемент в конец массива:");

phones.push("ZTE");

alert( phones ); // iPhone, Nokia, ZTE

alert("4.Перебор элементов.Для перебора элементов обычно используется цикл:");

for (var i = 0; i < phones.length; i++) {

alert( phones[i] );

}

alert("5.Пример многомерного массива:");

var students = [["Колдыркаев Н.Н.", "2002", "август", "16"],

["Перекуренко М.Д.", "2002", "август", "9"]];

alert(students[0]+"\r\n"+students[1]);

alert("6.Получить случайное значение из массива:");

var styles = ["Рэп", "Регги", "Классика", "Рок-н-Ролл","Джаз","Блюз"];

var rand = Math.floor(Math.random() * styles.length);

alert( styles[rand] );

</script>

</body>

</html>

Запустить скрипт можно по адресу http://www.diofant.com/JS/NN/Test1.html

Тест2. Здесь представлены полные коды скриптов, описанных в разделах 2.2 и 2.3 – выбор положительных элементов массива и сортировка элементов числового массива по убыванию числовых значений. Их можно скопировать и запустить в браузере. Также можно использовать фрагменты кода в JavaScript программах.

<!DOCTYPE html>

<head>

<meta charset="utf-8">

<title>Раздел №3</title>

</head>

<body>

Раздел №3<br>

<script>

alert( "Раздел 3.1: последнее положительное число и его индекс" );

var A = [1, -2, -5, 2, -3, 3, 13, -7]; // исходный массив

alert(A);

var B = []; // если положительные, складываем сюда

var I = []; // если положительные, индексы складываем сюда

var j = 0; // индексы массивов B и I

for (var i = 0; i < A.length; i++) {

if (A[i] > 0) {B[j]=A[i]; I[j]=i; j++;}

}

var R ="ВСЕ ЭЛЕМЕНТЫ ИСХОДНОГО МАССИВА А: "+A+"\r\nВСЕ ПОЛОЖИТЕЛЬНЫЕ ЭЛЕМЕНТЫ ИСХОДНОГО МАССИВА СОБЕРЕМ В МАССИВЕ B: "+B

+"\r\nВСЕ ИНДЕКСЫ ПОЛОЖИТЕЛЬНЫХ ЭЛЕМЕНТОВ ИЗ ИСХОДНОГО МАССИВА СОБЕРЕМ В МАССИВЕ I: "+I+

"\r\nПОСЛЕДНИЙ ПОЛОЖИТЕЛЬНЫЙ ЭЛЕМЕНТ: "+B[B.length-1]+"\r\nИНДЕКС ПОСЛЕДНЕГО ПОЛОЖИТЕЛЬНОГО В ИСХОДНОМ МАССИВЕ: "+I[I.length-1]; // все элементы

alert(R);

alert( "Раздел 3.2: Сортировка числового массива по убыванию" );

var C =[1, -2, -5, 2, -3, 3, 13, -7];

A=BubbleSort(A);

function BubbleSort(A) // A - массив, который нужно

{ // отсортировать по УБЫВАНИЮ.

var n = A.length;

for (var i = 0; i < n-1; i++)

{ for (var j = 0; j < n-1-i; j++)

{ if (A[j+1] > A[j])

{ var t = A[j+1]; A[j+1] = A[j]; A[j] = t; }

}

}

return A; // На выходе сортированный по возрастанию массив A.

}

alert("БЫЛО: "+C+"\r\nСТАЛО: "+A);

alert("Раздел 3.3: Двумерный массив");

var B = [

[1,-2,3],

[4,-5,6],

[7,-8,9]

];

var C = [

[1,-2,3],

[4,-5,6],

[7,-8,9]

];

var str='';

for(let j = 0; j < B.length; j++) {

for(let n = 0; n < B.length; n++) {

if (B[j][n]<0){

B[j][n]=Math.pow(B[j][n],2);

}

if (n === B.length - 1) {str=str + B[j][n]; }

else {

str=str+B[j][n]+", ";

}

}

//str= B[j][n]+"<br>";

//document.write(B[j][n]);

//document.write("<br>");

str=str+"\r\n"

}

alert(str);

alert("БЫЛО: "+C+"\r\nСТАЛО: "+B);

</script>

</body>

</html>

Запустить скрипт можно по адресу: http://www.diofant.com/JS/NN/Test1.html