Студопедия — Использование циклов при работе с массивами
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Использование циклов при работе с массивами






Чтобы “пробежаться” по элементам массива, удобно использовать цикл For…Next. Вы знаете, что этот цикл увеличивает переменную - счетчик на каждом шаге цикла. Можно использовать переменную – счетчик цикла в качестве индекса массива, установив при этом нижний и верхний индексы массива равными, соответственно, нижней и верхней границам цикла For…Next.

Ввод/вывод элементов массива

Пусть в программе описана переменная-массив:

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

Ввод и вывод элементов двумерного массива. При вводе и выводе элементов двумерного массива (матрицы) тоже удобно использовать оператор FOR. Только теперь необходимо уже два оператора FOR, так как у матрицы каждый элемент имеет два индекса – номер строки и номер столбца. Ниже приведен пример программы, иллюстрирующей ввод элементов массива размером 5х3 с клавиатуры с последующим выводом элементов массива на экран в виде матрицы.

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

1. Выбираем в качестве минимального значения первый элемент массива (min:= V[1];)

2. Сравниваем значение переменной min со вторым элементом массива. Если оказывается, что V[2] меньше чем min, т.е. если выполняется условие (V[2]<min), тогда в качестве min берем значение V[2]. В противном случае, значение переменной min оставляем без изменения.

3. Циклически повторяем действия п.2 для третьего, четвертого и т.д. элементов. По завершению цикла переменная min будет содержать минимальный элемент массива.

Основные понятия объектно-ориентированного программирования. Элементы объектно-ориентированного программирования. Инкапсуляция, наследование, полиморфизм.

Абстракция

Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция — это набор всех таких характеристик.

Инкапсуляция

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

Наследование

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

Полиморфизм

Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.

Класс

Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности (объекта). Фактически он описывает устройство объекта, являясь своего рода чертежом. Говорят, что объект — это экземпляр класса. При этом в некоторых исполняющих системах класс также может представляться некоторым объектом при выполнении программы посредством динамической идентификации типа данных. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.

Объект

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

Прототип

Прототип — это объект-образец, по образу и подобию которого создаются другие объекты. Объекты-копии могут сохранять связь с родительским объектом, автоматически наследуя изменения в прототипе; эта особенность определяется в рамках конкретного языка.

Объе́ктно-ориенти́рованное, или объектное, программи́рование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. В случае языков с прототипированием вместо классов используются объекты-прототипы.

Визуальное программирование: среда систем, элементы систем (форма, панель свойств, панель инструментов). Компоненты программ. Свойства, события, метода. Этапы построения приложения.

Основные этапы создания приложений с графическим интерфейсом пользователя в среде GUIDE

Разработка приложения в среде визуального программирования GUIDE состоит из следующих этапов:

Создание заготовки для окна приложения.

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

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

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

При создании элементов управления в окне приложения каждому из них задается некоторый тэг (имя) для обращения к этому элементу управления в подфункциях. Тэги, задаваемые автоматически в среде GUIDE, лучше изменять так, чтобы по тэгу легко было догадаться о назначении элемента управления. Например, при создании пункта XGrid меню Grid в примере, описанном в разд. Создание и программирование меню и контекстного меню, мы дадим пункту меню тэг mnGrid_XGrid, а при создании пункта XGrid контекстного меню мы дадим пункту меню тэг cmnAxes_XGrid. Следует отличать тэг объекта от надписи на нем. Тег в нашем случае - cmnAxes_XGrid, а надпись - XGrid.

При выборе пользователем пункта меню возникает его событие Callback и происходит обращение к соответствующей подфункции в m-файле. Ее имя состоит из двух частей, разделенных знаком подчеркивания: тэга и названия события. Например, при выборе пользователем пункта XGrid (с тэгом cmnAxes_XGrid) контекстного меню осей произойдет обращение к автоматически сгенерированной подфункции

Автоматически создаваемый заголовок подфункции

Очень важно понимать, как узнавать и изменять свойства элементов управления в подфункциях обработки событий. Первый входной аргумент подфункции обработки события hObject содержит указатель на тот объект, событие которого произошло. В нашем примере входной аргумент hObject подфункции cmnAxes_XGrid_Callback содержит указатель на пункт меню cmnAxes_XGrid.

Для того, чтобы узнать, включил или выключил флаг пользователь, выбрав этот пункт меню, нам понадобится получить значение свойства Checked этого пункта. Для получения значения свойств объектов в MATLAB предназначена функция get. Ее первым входным аргументом является указатель на объект, значение свойства которого мы хотим получить, а во втором входном аргументе указывается название этого свойства, заключенное в апострофы: state = get(hObject, 'Checked')

У пункта свойства Checked пункта меню, снабженного флагом, может быть всего два строковых значения:

'on' - флаг поставлен;

'off' - флаг сброшен.

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

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

содержит указатель на пункт XGrid (с тэгом mnGrid_XGrid) меню Grid.

Для задания значения некоторому свойству объекта служит функция set, в ее первом входном аргументе записывается указатель на объект, во втором входном аргументе - название свойства в апострофах, а в третьем - значение свойства. Например: set(handles.mnGrid_XGrid, 'Checked', 'off')

выключит флаг у пункта XGrid (с тэгом mnGrid_XGrid) меню Grid. Это все понадобится нам для программирования согласованного поведения элементов управления.

 







Дата добавления: 2015-12-04; просмотров: 167. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

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

Искусство подбора персонала. Как оценить человека за час Искусство подбора персонала. Как оценить человека за час...

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

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

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

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия