Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Алгоритмы обработки двумерных информационных массивов

Поиск

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

Элемент многомерного массива обозначается именем массива с индексами, например, Х(i, j). Индексы представляют собой выражения целого типа. Обращаться к элементам массива можно в произвольном порядке, задавая значения индексов. Причем, первый индекс всегда нумерует строки, второй столбцы.

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

Рассмотрим пример алгоритма реализующего ввод двумерного массива по строкам в виде блок-схемы (рис. 18):

 

 

Рис. 18 Фрагмент блок-схемы ввода двумерного массива по строкам

В этом примере элементы массива вводятся по строкам в следующем порядке:

Х 11, Х 12,..., Х 1m

Х 21, Х 22,..., Х 2m

.......................

Хn 1, Х n2,..., Х nm

Для каждого значения счетчика внешнего цикла i, вложенный цикл выполняется заданное количество (m) раз.

Пример 10. Выпуск продукции в тыс. руб. представлен таблицей

Таблица 4 – Исходные данные для примера 10

№ месяца Вид продукции      
         
         
       

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

а) Обозначения переменных:

n – количество видов продукции;

m – количество месяцев;

VР(n, m) – массив выпуска продукции;

i – счётчик цикла, вид продукции; j – номер месяца;

S(i) – общий выпуск продукции i-того вида;

Max(i) – максимальный выпуск продукции i-того вида;

K(i)– месяц соответствующий максимальному выпуску продукции.

б) Тип переменных:

n, m, i, j – простые переменные целого типа;

VР(n, m), Max(n), S(n) – массив вещественного типа;

K(n) – массив целого типа;

VP(i, j), K(i), Max(i), S(i) – переменные с индексом;

в) Классификация по группам:

исходные данные: n, m, VР(n, m)

промежуточные результаты: i, j; результаты: S(i), K(i), Max(i).

г) Система расчетных формул:

1) нахождение общего выпуска продукции каждого вида:

i = 1 начальное значение вида продукции
S(i) = 0 обнуление суммы выпуска i-того вида продукции
j = 1 начальный номер месяца
S(i) = S(i) + VP(i, j) накопление суммы в цикле
j = j + 1 следующее значение номера месяца  
       

Если j≤m, то повторять действия, иначе выход из цикла

 
 


i = i + 1 следующее значение вида продукции

Если i≤n, то повторять действия, иначе выход из цикла

2) нахождение максимального выпуска продукции каждого вида и месяца с максимальным выпуском:

i = 1 начальное значение вида продукции
Max(i) = VP(i, 1) за начальное значение максимума выбираем выпуск i-той продукции за 1-ый месяц
K(i) = 1 начальный номер месяца
j = 2 начальный номер следующего элемента
Если VP(i, j)>Max(i), то Max(i) = VP(i, j); K(i) = j формирование нового максимума и его номера  
j = j + 1 следующее значение номера месяца  
         

Если j≤m, то повторять действия, иначе выход из цикла

 
 


i = i + 1 следующее значение вида продукции

Если i≤n, то повторять действия, иначе выход из цикла


Представим алгоритм нахождения общего выпуска продукции каждого вида в виде блок-схемы (рис.19):

Рис. 19 Блок-схема алгоритма к примеру 10-1)

Представим алгоритм нахождения максимального выпуска продукции каждого вида в виде блок-схемы (рис.20):

 


Рис. 20 Блок-схема алгоритма к примеру 10-2)

Примечание. В блок-схемах (рис. 19, рис. 20) приведён укрупнённый цикл вывода массива в виде одного блока.

ЯЗЫК ПРОГРАММИРОВАНИЯ VBA

Алгоритмический язык(язык программирования) предназначен для описания алгоритмов и представляет собой набор символов, систем правил написания (синтаксиса) и истолкования конструкций из этих символов (семантики).

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

К основным возможностям VBA можно отнести реализацию максимально гибкого и удобного интерфейса для приложения, создание самых разнообразных многоуровневых и всплывающих меню, обработку событий мыши и клавиатуры, работу с графикой. Разработчик может использовать в про­грамме как стандартные, так и встроенные диалоги, приме­няющиеся для организации обратной связи с пользователем. Приложение может осуществлять работу с таймером, обраба­тывать файлы и каталоги на жестком диске, а также предос­тавлять доступ к базам данных. В языке VBA имеется возможность внедрения в приложение различных объектов, которые поддерживаются другими программами. Помимо этого, разработчик может реализовать связь одного или не­скольких компьютеров, на которых установлено созданное приложение, с сетью Internet.

Редактор VBA активизируется из приложения MS Excel одним из следующих способов:

- командой меню Сервис/Макрос/Редактор Visual Basic;

- комбинацией клавиш [Alt]+[F11];

- щелчком по кнопке панели инструментов Редактор Visual Basic.

Вернуться из редактора VBA в приложение можно, нажав комбинацию клавиш [Alt]+[F11] или соответствующий значок приложения.

Ввод программы в память компьютера осуществляется с помощью клавиатуры, из внешней памяти или из компьютерной сети в о кно редактирования кода Листа. Открывается окно редактирования кода Листа двойным щелчком на соответствующем значке в окне проекта, например, на значке Лист1 (рис. 21).

Рис. 21 Окно редактирования кода Лист1

Программу, которая написана на алгоритмическом языке, компьютер не может выполнить непосредственно. Такая форма записи понятна человеку, но недоступна для обработки вычислительному средству. Поэтому нужен «посредник» для перевода программы с языка, понятного человеку, на язык, «понятный» машине. Такими посредниками являются специальные программы, которые называются трансляторами (от англ. translator - переводчик) и компиляторами (от англ. compiler - составитель). Для каждого языка программирования существует свой транслятор (или компилятор). В этих программах содержатся все правила и конструкции соответствующего алгоритмического языка, а также способы преобразования этих конструкций на машинный язык.

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

Тестирование - установление факта достоверности получаемых результатов. Правильность работы программы устанавливается с помощью специальных контрольных просчетов – тестов. Для тестов подбираются наборы исходных данных, для которых заранее известен результат. Анализ результатов тестирования (сравнение ожидаемых результатов с полученными при вычислении) позволяет выявить ошибки в алгоритме и программе.

Элементы языка

Язык программирования VBA служит для написания кода программы. Он, как и другие языки, имеет свой алфавит. В него входят:

1. Прописные и строчные буквы латинского алфавита (А - Z, a - z);

2. Прописные и строчные буквы кириллицы (А - Я, а -я);

3. Цифры от 0 до 9;

4. Неотображаемые символы (пробел, табуляция, переход на новую строку);

5. Специальные символы, участвующие в построении конструкций языка:

Таблица 5 – Специальные символы

. - точка
; - точка с запятой
: - разделитель операторов в одной строке
, - запятая
“” - кавычки
- апостроф
[ ] - квадратные скобки
() - круглые скобки
{ } - фигурные скобки
_ - пробел-подчёркивание
@ - амперсант, суффикс денежных единиц
& - логическое «и», суффикс длинного целого
% - целочисленный суффикс
! - вещественный суффикс
# - суффикс удвоенной точности
$ - строковый суффикс

6. Знаки арифметических операций:

+ - сложение
- - вычитание
* - умножение
/ - деление
\ - знак целочисленного деления
^ - возведение в степень

7. Знаки логических отношений:

< - меньше
> - больше
= - равно
>= - больше либо равно (³)
<= - меньше либо равно (£)
<> - не равно (¹)

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

Величина – это элемент данных с точки зрения их семантического (смыслового) содержания или обработки. Смысловое (семантическое) разбиение данных производится во время постановки задачи и разработки алгоритма ее решения (входные, выходные и промежуточные).

Исходные (входные) – это данные, известные перед выполнением алгоритма, из условия задачи.

Выходные данные – результат решения задачи.

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

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

С понятием величины связаны следующие характеристики:

- Идентификатор (имя) – это обозначение величины и место в памяти. При наборе идентификаторов с клавиатуры регистр буквы (строчная или прописная) не играет роли. Буквы А и а воспринимаются одинаково, хотя у них разные коды, поэтому MATR, matr, Matr – одно и тоже имя.

- Тип – множество допустимых значений,принимаемых величинами этого типа см. таблицу 1; набор операций, допустимых над данной величиной; объем памяти, отводимой под неё.

- Значение – динамическая характеристика, которая может многократно меняться в ходе исполнения алгоритма. Во время выполнения алгоритма в каждый конкретный момент величина имеет некоторое значение или не определена. Так постоянной или константой называется величина, значение которой не изменяется в процессе исполнения алгоритма, а остается одним и тем же, указанным в тексте алгоритма; переменной называется величина, значение которой меняется в процессе исполнения алгоритма.

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

Для явного определения переменных существуют два способа. Первый (предпочтительный) способ предполагает использование следующего оператора:

Dim Имя1 As [Тип], Имя2 Аs [Тип],

Dim (размер) - ключевое слово, которое сообщает, что декларируется переменная и резервируется область памяти для ее хранения;

Имя - имя переменной (идентификатор);

As (как) - ключевое слово, которое сообщает, что определяется тип данных для переменной;

Тип - тип данных объявляемой переменной.

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

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

Синтаксис явного объявления переменных с помощью суффикса:

Dim Имя_Переменной Суффикс

Например:

Dim Фамилия$ - объявляется переменная типа «строка» String;

Dim Среднее_значение! - объявляется переменная типа Single;

Dim Hoмep% - объявляется переменная типа «целое» Integer.



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 200; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.156.84 (0.007 с.)