Главная · Карта сайта · Поиск · Статьи · Компьютерные курсы · Обучающие программы · Открытые проекты · Веб-программирование · Создание интернет-сайта · Полезные ссылки · Глоссарий · Контакты · Декабрь 09 2016 22:15:34
Последнее опубликованное

Что такое Model-View-Controller
Pattern Model-View-Controller

Как создать свой веб-сайт
Как создать свой сайт в интернете

Разное
Статистика

Основы программирования. Массивы


Содержание курса

Шаг 4. Массивы: умножение матрицы на вектор и не только...

На этом шаге познакомимся с массивами данных и примерами их обработки. Массив в программировании – это та же переменная, но только характеризующая целый набор однотипных данных. Массивы определяются размерностью и типом элементов. На все элементы, как правило, одно общее имя, а доступ к отдельному элементу массива осуществляется по его индексу. Для хранения матрицы мы будем использовать двумерный массив, организованный по аналогии с таблицей, а для вектора – одномерный или линейный массив – столбец. Массивы крайне важны в программировании: без них никуда при обработке именно массивов однотипных данных. Примеры из жизни на полях этой страницы...

Линейный массив

Фрагмент кода

Полная версия программного кода умножения матрицы на вектор достаточно объемная, поскольку включает в себя процесс ввода и вывода данных. Здесь я приведу лишь фрагмент самого перемножения матрицы на вектор. Используем вложенный цикл for: внешний цикл осуществляет перебор сток матрицы, а вложенный – элементов в строке. Обратите внимание, что при определении переменной-массива, помимо имени и типа также указывается размер массива. В представленных фрагментах программного кода показано определение массива для хранения результата перемножения матрицы на вектор (переменная _Result). Определение массивов для хранения самих матрицы и вектора можно увидеть, скачав полные версии программ по ссылкам, размещенным ниже.

C#:
  int[] _Result = new int[_N];

  for (int i = 0; i < _N; i++)
       for (int j = 0; j < _N; j++)
            _Result[i] += _Matrix[i, j] * _Vector[j];
VB.NET:
Dim _Result(_N) As Integer

For i As Integer = 0 To _N - 1
    For j As Integer = 0 To _N - 1
       _Result(i) = _Result(i) + _Matrix(i, j) * _Vector(j)
    Next
Next
Двумерный массив

Полные версии алгоритмов

На языке C#.
На языке VB.NET.

Трехмерный массив

Резюме

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

Самостоятельно

Попробуйте самостоятельно реализовать процедуру умножения матрицы на матрицу одинаковой размерности. Для этого рекомендую вынести код ввода матрицы в отдельную процедуру. Для самого перемножения Вам потребуется уже реализовать два вложения цикла for: внешний для перебора строк в первой матрице, средний – для перебора столбцов во второй матрице, а внутренний – для перебора элементов строки в первой и элементов столбца во второй матрице соответственно. Если что-то будет не получаться, то ниже предложены готовые варианты этих программ.

Перемножение матриц

На языке C#.
На языке VB.NET.

Далее: Обработка текста. Работа со словарем.



Компьютерные курсы и курсы программирования
Основы программирования

Курс для начинающих программистов на C# и VB.NET.

SQL 25™

Построение SQL запросов и работа с базой данных.

C# Quick Guide™

Программирование на C#. Краткое руководство.

RegEx

Применение регулярных выражений.

Plug-in архитектура

Примеры программной Plug-in архитектуры.

XML и его расширения

Язык разметки XML и его расширения с примерами.

HTML и разметка гипертекста

Языки HTML, XHTML и CSS с примерами разметки.

Основы веб-дизайна

Основы веб-дизайна: решения типовых задач верстки.

Программирование на PHP

Руководство по программированию на PHP для начинающих.

Справочные материалы

Шаблоны проектирования
Каталог шаблонов проектирования программных компонентов.

Рефакторинг кода
Каталог приемов рефакторинга программного кода.

Гость
Имя

Пароль



Забыли пароль?
Запросите новый здесь
.
Coding Craft. Все права защищены © 2011. Проект Инициативного Народного Фронта Образования - ИНФО-проект.