Министерство образования и науки РФ Федеральное агентство по образованию Саратовский государственный технический университет СОЧЕТАНИЕ ЦИКЛИЧЕСКИХ И УСЛОВНЫХ СТРУКТУР В LABVIEW Методические указания к выполнению лабораторной работы по дисциплине «Среды инженерного проектирования и вычислительного моделирования» студентами специальности 220400 и направления 230100 Одобрено редакционно-издательским советом Саратовскогогосударственного технического университета Саратов 2010 Цель работы: ознакомиться с возможностями организации сочетания циклических и условных структур в среде программирования LabVIEW. Примеры решения поставленных задач Задача № 1. Составить программу поиска четырехзначных чисел, которые при делении на 133 дают в остатке 125, а при делении на 134 дают в остатке 111. Решение. Интерфейс виртуального прибора представлен на рис. 1. а) б) в) Рис. 1. Вид панелей виртуального прибора: а - соответствует блок-диаграмме с вариантом True, б – лицевой панели, в - блок-диаграмме с вариантом False 2 Для решения данной задачи учитывается следующее: 1. Исходными данными является количество итераций цикла. 2. Цикл начинает «считать» со значения счетчика равного 1000 (первое четырехзначное число числового ряда положительных целых чисел). 3. Значение, полученное от счетчика цикла, делится на 133 и 134 и вычисляется остатки от этих делений (функция Quotient & Remainder). 4. Проверяется равенство полученных остатков значениям, заданным условием задачи (функция Equal?), что является входным условием структуры Case Structure. 5. Если оба условия выполняются одновременно (функция And), входное условие структуры Case Structure принимает значение True и выполняется ее одноименный вариант (рис. 1-а), в противном случае выполняется вариант False структуры Case Structure (рис. 1-в). 6. Для подсчета количества результатов, полученных в пределах заданного количества итераций, используются сдвиговые регистры (Shift Register) циклической структуры For Loop, накапливающие количество совпадений полученных остатков от делений с заданными значениями 125 и 111. Задача 2. Известно число студентов, учащихся на первом курсе, на втором курсе, ... на пятом курсе. Определить общее число студентов, учащихся на первом, третьем и пятом курсах ВУЗа. Решение. Интерфейс виртуального прибора представлен на рис. 2. Хотя в условии задачи говорится о том, что число студентов известно, на самом деле о конкретных значениях ничего не сказано. Поэтому исходные данные о количестве студентов будем моделировать с помощью функции Random Number (0-1), т.е. число студентов задается случайным образом (случайная величина подчиняется равномерному закону распределения – СВравном.), например, из интервала значений от 100 до 150. Для этого используется выражение Число студентов = СВравном. 50 + 100. полученное число является вещественным, для округления его используется функция Round To Nearest. Моделирование числа студентов 1 – 5 курсов осуществляется в цикле для того, чтобы каждое из пяти значений не повторялось. С этой целью используется структура Case Structure, у которой на терминал условия подается значение счетчика циклической структуры For Loop, меняющееся в пределах от 0 до 4. При таком входном условии структура Case Structure имеет смысл как структура варианта (или выбора): она имеет 5 поддиаграмм (вариантов, пронумерованных от 0 до 4), на каждой из которых помещен терминал числового индикатора для вывода числа студентов каждого курса (рис. 2-в). 3 а) б) в) Рис. 2. Вид панелей виртуального прибора: а - соответствует лицевой панели, б – блокдиаграмме с поддиаграммой варианта 0 структуры Case Structure, в – виду поддиаграмм вариантов 1-4 структуры Case Structure Добавление вариантов структуры Case Structure осуществляется через контекстное меню данной структуры, вызванное щелчком по ее границе, путем выбора опций Add Case After или Add Case Before. Для удаления ненужной поддиаграммы необходимо использовать опцию контекстного меню Delete This Case. Для накопления суммы числа студентов используются сдвиговые регистры (Shift Register) циклической структуры For Loop. Поскольку 4 учитывается численность студентов только нечетных курсов, необходимо проверять при суммировании значения счетчика цикла: если оно равно 0, 2 или 4 (что соответствует 1, 3, и 5 курсу), то значения числа студентов отправляются в сумматор (функция Add), иначе – значение, накопленное в сумматоре, передается в следующую итерацию. В качестве такой проверки используется функция Quotient & Remainder, возвращающая остаток от деления, в данном случае, от деления значения счетчика цикла на 2: если остаток равен нулю (функция Equal To 0?), то это значит, что значение счетчика цикла равно 0, 2 или 4. В качестве условной структуры для данной проверки используется функция Select. Варианты задач для самостоятельной работы Исходные данные для своего варианта определите исходя из последней цифры в зачетной книжке (если последняя цифра 0, Ваш вариант 10). Задачи раздела 1 1. Дано натуральное число. Получить все его делители. 2. Вывести на экран все целые числа от 100 до 200, кратные трем. 3. Дано натуральное число. Найти сумму его делителей. 4. Вывести на экран все целые числа от а до b, кратные некоторому числу с. 5. Дано натуральное число. Найти сумму его четных делителей. 6. Найти сумму положительных нечетных чисел, меньших 50. 7. Дано натуральное число. Определить количество его делителей. 8. Найти сумму целых положительных чисел из промежутка от а до b, кратных четырем. 9. Дано натуральное число. Определить количество его нечетных делителей. 10. Дано натуральное число. Найти количество его делителей, больших d. Задачи раздела 2 1. Моделировать стоимости каждой единицы товара (количество единиц товара вводится с клавиатуры, стоимости единицы товара варьируются в пределах от 800 до 1200 рублей). Найти общую стоимость тех товаров, которые стоят дороже 1000 рублей. 2. Моделировать количество страниц в каждом из нескольких периодических изданиях (их количество вводится с клавиатуры, количество страниц варьируются в пределах от 4 до 30). Если число страниц не более 16, то такое периодическое издание газета, иначе – журнал. Найти общее число страниц во всех периодических изданиях и количество смоделированных газет и журналов. 3. Моделировать данные о количестве осадков, выпавших за неделю 5 (количество осадков варьируется в пределах от 0 до 20 мм). Определить общее количество осадков, выпавших во второй, в четвертый и т. д. день недели. 4. Моделировать экзаменационные оценки по информатике каждого студента группы. Определить количество пятерок. 5. Моделировать данные о температуре воздуха в течение месяца (температура воздуха варьируется в пределах от -5 до 5°С). Определить, сколько раз температура опускалась ниже 0°С. 6. Моделировать год рождения каждого человека из группы людей (численность группы ввести с клавиатуры, год рождения варьируется в пределах от 1980 до текущего года). Определить число людей, родившихся до 1985 года, и число людей, родившихся после 1990 года. 7. Для каждой из 16 команд-участниц 1/16 чемпионата по футболу моделировать количество ее выигрышей и количество ее проигрышей. (количество выигрышей и количество проигрышей варьируется в пределах от 0 до 16) Определить, сколько команд имеют больше выигрышей, чем проигрышей. 8. Известна масса каждого человека из некоторой группы людей (численность группы ввести с клавиатуры, масса каждого человека варьируется в пределах от 60 до 120 кг). Людей, имеющих массу более 100 кг, будем условно называть полными (известно, что в группе есть, по меньшей мере, один такой человек). Определить среднюю массу полных людей и среднюю массу остальных людей. 9. В компьютер по очереди поступают результаты спортсменовучастников соревнований по лыжным гонкам, уже пришедших к финишу (время, затраченное на прохождение дистанции гонки, варьируется в пределах от 30 до 50 мин.). Выводить в числовой индикатор лучший результат после моделирования результата очередного спортсмена. 10. Моделировать рост каждого человека из группы (численность группы ввести с клавиатуры, рост каждого человека варьируется в пределах от 160 до 200 см). На сколько рост самого высокого из них превышает рост самого низкого? Форма отчетности Создать файл документа Microsoft Word. В нем отразить в виде отчета: фамилию-имя студента, № учебной группы и № зачетной книжки, формулировки решенных задач, скрин-шоты виртуальных приборов, пояснения к решению задач или блок-схему алгоритма. Носитель с файлом-отчетом сдать преподавателю. 6 РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА 1. Тревис Дж. LabVIEW для всех. М.: ДМК Пресс; ПриборКомплект, 2005. 544 с. 2. Суранов А.Я. LabVIEW: справочник по функциям. М.: ДМК Пресс, 2005. 512 с. ISBN 5-94074-207-6 7