Студопедия

КАТЕГОРИИ:

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

Преобразование строк в числовые данные




 

Для преобразования строки в числовые данные следует использовать функцию Scan From String.

Функция Scan From Stringпреобразует строку, содержащую допустимые числовые символы, такие как «0» - «9», «+», «-», «е», «Е» и разделитель «.», в данные числового формата. Функция начинает просмотр строки, подаваемой на поле ввода данных input stringс номера символа, задаваемого на поле initial search location.Основываясь на формате строки, функция может просматривать входящую строку и искать различные типы данных, таких как числовые или логические данные. Для увеличения количества полей вывода данных следует изменить размер иконки функции.

Например, при значениях на полях ввода данных «Напряжение: 14,1» функция выдает результат 14.1, как показано на рисунке 8.

 

Рисунок 8 – Строка-шаблон для вывода

 

В формате строки % – указывает начало формата строки, f – указывает тип данных с плавающей запятой. Для создания и редактирования формата строки следует в контекстном меню выбрать пункт Edit Scan String.

 

Таблицы

 

Элемент управления Таблица, расположенный в палитре Controls=>List & Tableпредназначен для создания таблиц на лицевой панели. Каждая ячейка находится в строке и столбце таблицы. Поэтому таблица представляет собой двумерный массив строк. На рис. 9 показана таблица и ее составные части.

 

Рисунок 9 – Таблица и ее составные части

1. Ячейка таблицы

2. Заголовок столбца

3. Вертикальная полоса прокрутки

4. Горизонтальная полоса прокрутки

5. Заголовок строки

6. Индекс по горизонтали

7. Индекс по вертикали

 

 

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

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

 

Индивидуальные задания

 

Вариант 1 (нечетные номера компьютеров)

 

Задание 1.Сортировка столбцов таблицы по возрастанию.

Обработайте таблицу в ВП таким образом, чтобы имелась возможность сортировать различные столбцы таблицы по возрастанию. Саму сортировку осуществите с помощью функции Sort ID Array,которая находится в палитре Functions=>Array.

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

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

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

 

Рисунок 10 – Пример заполненной данными таблицы

 

По умолчанию заголовки столбцов и строк не видны. Чтобы заголовки столбцов стали видны в свойствах таблицы (диалоговое окно свойств вызывается из контекстного меню пунктом Properties)поставьте флажок напротив Show Column Headers.Кроме этого, чтобы появилась возможность редактировать заголовки, включите в контекстном меню таблицы опцию Editable Headers.

Как осуществить сдвиг столбца, по которому будет проводиться сортировка? Сдвиг столбца осуществите с помощью Rotate ID Arrayиз той же палитры Functions=>Array.

Одномерный массив, который подается на вход функции Rotate ID Array,представляет собой строки таблицы. Каждую строку получите с помощью цикла For.

Если для каждой строки в отдельности поменять элементы местами, то в целом в таблице местами поменяются столбцы. Допустим, как и на рис. 10, необходимо сортировать таблицу по третьему столбцу (отсчет начинается с нуля). Иначе говоря, столбец с отчествами надо поместить на первое место. Функция Rotate ID Arrayперемещает nэлементов из начала в конец, если n > 0. И наоборот перемещает n элементов из конца в начало, если n < 0. Если на вход n подан 0, функция строку не изменяет. Столбцы таблицы надо сдвинуть на 2 столбца влево до сортировки, и на 2 столбца вправо после.

Поэтому до использования функции сортировки необходимо подать -2 на вход n функции Rotate ID Array,а после +2.

Преобразование массива в кластер и кластер в массив осуществляют функции Array To ClusterиCluster To Arrayсоответственно. При преобразовании кластера в массив никаких дополнительных операций проводить не требуется. А при преобразовании массива в кластер следует указать размер кластера. Предполагается, что структура таблицы известна заранее. Делается это через пункт cluster sizeконтекстного меню функции. В данном случае размер кластера равен 4.

Итак, вы разбили таблицу на отдельные строки. В каждой строке в цикле Forпоменяли местами столбцы. Сформировали из элементов строки кластер. На выходе из цикла Forсобрали из кластеров массив. Отсортировали массив кластеров по первому элементу в кластере. Опять использовали цикл For, в котором из каждого элемента массива кластеров получили одномерный массив. Поменяли местами столбцы обратно. На выходе цикла Forсобрали отсортированные строки в таблицу. Остается вывести этот результат в ту же таблицу. Вариант с новой таблицей на лицевой панели в виде элемента индикации, безусловно, возможен. Однако такой способ отображения информации при работе с таблицами по вполне понятным причинам не является общепринятым. Необходимо, чтобы отсортированная таблица отображалась в исходной таблице. В таких случаях удобно использовать локальные переменные. Локальную переменную для любого элемента управления или индикации можно создать из контекстного меню элемента, выбрав пункт Create=>Local Variable.Этот пункт контекстного меню доступен как на лицевой панели, так и на блок-диаграмме. После того, как вы создали локальную переменную, ее терминал появится рядом с терминалом элемента управления или индикации на блок-диаграмме (рис. 11).

 

Рисунок 11 – Локальная переменная и элемент управления/индикации

 

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

 

Задание 2.Сортировка столбцов таблицы по убыванию. При этом управление должно осуществляться с лицевой панели ВП.

 

Задание 3.Сделать возможным выбор столбца пользователем по его номеру или по его названию.

 

 

Вариант 2 (четные номера компьютеров)

 

Задание 1.Сортировка строк таблицы по возрастанию (см. пример в варианте №1).

 

Задание 2.Сортировка строк таблицы по убыванию. При этом управление должно осуществляться с лицевой панели ВП.

 

Задание 3.Сделать возможным выбор строки пользователем по ее номеру или по ее названию.

 










Последнее изменение этой страницы: 2018-06-01; просмотров: 135.

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