36903

Разработка приложений с разветвляющимися алгоритмами

Лабораторная работа

Информатика, кибернетика и программирование

Lbel1 Cption При х = Lbel2 Cption Функция вычисляется по формуле: Lbel3 Cption Получен результат Y = Lbel4 Cption Lbel5 Cption Лабораторная работа 2.Вариант 37 Text1 Text Text2...

Русский

2013-09-23

359 KB

11 чел.

PAGE  6

Лабораторная работа №2 Разработка приложений с разветвляющимися алгоритмами

Цель работы: изучение возможностей разработки приложений с разветвляющимися алгоритмическими структурами, изучение правила использования операторов условного перехода и выбора, контроля за их выполнением с использованием объектов Visual Basic: ключ, переключатель

Задача 1

Вводится значение х. Вычислить Y по формуле:

Y = (x-1)/(x-2)                      при    -2 < x <= 5

Y = x^2.1 – 3*x + 2              при           x>= 7.1

В остальных случаях, а также при х=2  значение Y не определено

Вывести значения х и Y с пояснениями, по какой формуле вычислялся результат, или же с сообщением о том, что результата нет.

Вывод выполнить в 2-х вариантах: 1)в метки и текстовое окно, 2) в графическое окно.

Создаем форму со следующими элементами (рис.1):

Имя элемента        Свойство           Значение.

Label1                      Caption              При х =

Label2                      Caption              Функция вычисляется по формуле:

Label3                      Caption              Получен результат  Y =

Label4                      Caption

Label5                      Caption              Лабораторная работа 2.Вариант 37

Text1                        Text

Text2                        Text

Command1               Caption            Запуск (вывод в текст окно)

Command2               Caption            Окончание

Command3               Caption            Запуск (вывод в графическое  окно)

Picture1                     Picture

         

                                                Рис. 1

Значение х предполагается вводить в текстовое окно по имени Text1. Если значение х позволяет получить значение Y по одной из формул, то результат вычисления выводится в текстовое поле Text2, а формула, по которой делается вычисление, выводится в Label4. Если же результат получить невозможно, то в метку Label2  выводится текст «Функция не определена», в метку  Label3 – «результата нет», а элементы  Label4 и Text2 не выводятся на экран (делаются невидимыми). Это осуществляется путем присвоения в процедуре свойству    Visible этих элементов значения False. Все это делается в процедуре, запускаемой при нажатии кнопки Command1 («Запуск (вывод в текст окно)»).

Процедура, связанная с кнопкой «Запуск (вывод в графич. Окно)» (имя кнопки - Command3), вычисляет значение Y и выводит значение аргумента и функции в графическое окно по имени Picture1.

На рис.2 представлен текст процедуры по имени Command1_Click(), запускаемой при нажатии кнопки с именем Command1.  Описываем явно две локальные переменные – x и y как вещественные переменные обычной точности.

Присваиваем переменной х значение, введенное в текстовое окно Text1 (значение свойства Text этого окна). Так как вводимое в текстовое окно значение имеет тип строки символов, то необходимо его преобразовать в числовое значение с помощью стандартной функции Val.

       

                                      Рис. 2.

Все метки и текстовые окна пока считаем видимыми и присваиваем свойству Caption меток значения, которые они должны иметь в большинстве случаев. Метку, в которой будет выводиться формула, пока оставляем пустой.

Затем записываем многострочный условный оператор, описывающий алгоритм вычисления и вывода значения Y. Структура такого оператора:

If    условие1     Then

      Операторы 1

 Else    условие 2    Then

        Операторы 2

Else

         Операторы 3

End If

В нашем случае надо описать разветвление на 3 ветви. Если значение х находится в диапазоне от -2 до 5 и не равно 2 (до этого уже додумываемся сами, так как в формуле для вычисления присутствует деление на (х-2)), то нужно вычислить Y  по формуле   (X-1)/(X-2), вывести полученное значение и вывести эту формулу. Эта ветвь реализуется группой «Операторы 1»

Если значение х больше или равно 7.1, то надо вычислить Y  по формуле  x^2.1-3*x+2, вывести результат вычисления и соответствующую формулу. Эта ветвь реализуется группой «Операторы 2»

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

Условие1 описывается логическим выражением, состоящим из трех операций сравнения, связанных между собой логическими операциями AND:

(X > -2) And (x <= 5) And (x <> 2)

Это выражение имеет значение «Истина» (True), если имеет значение «истина» каждое из сравнений, записанных в скобках. В этом случае выполняются операторы первой ветви «Операторы 1», а именно, оператор Y=(x-1)/(x-2) –  вычисление Y, оператор Label4.Caption=” (x-1)/(x-2) “ – вывод записи формулы в метку, оператор   Text2.Text = Format(y, “###0.0000”) – вывод значения Y в текстовое окно.

При присваивании свойству Text значения переменной вещественного типа нужно осуществить преобразование числового значения в строковое. Здесь это сделано с использованием стандартной функции Format, обеспечивающей вывод результата в заданном формате с нужной точностью. Первый аргумент этой функции задает выводимое значение, второй – шаблон вывода значения. В частности, этот шаблон требует вывода 4 цифр в дробной части числа.

Если выполняется «условие 2», то результат вычисляется по другой формуле, другая формула выводится в метку и другой результат выводится в текстовое окно. Операторы аналогичные – присваивание значений свойству Caption элемента Label4 и  свойству Text элемента   Text2.

Если значение х не позволяет вычислить  Y ни по одной из указанных формул, то срабатывает ветвь Else условного оператора. Тогда, чтобы не оставлять текстовое окно для вывода результата пустым, делаем его невидимым путем присваивания свойству Visible этого элемента значения False («ложь»).  Делаем невидимым также элемент Label4, поскольку нет формулы, которую туда следует выводить. Меняем также надписи в метках, присваивая свойству  Caption элементов Label2  и  Label3 соответствующие значения.      

На рис. 3 представлены тексты процедур, связанных с кнопками Command2  Command3. Процедура окончания состоит из одного оператора End.

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

На форме создано графическое окно по имени Picture1, не связанное с каким-то изображением. Для вывода в него используется метод Print. Структура обращения к этому методу:       

 Picture1.Print    список выводимых выражений
В списке указываются выражения, значения которых надо вывести, разделенные символами-разделителями («;» или «,»). Если в конце списка нет символа-разделителя, то каждый
Print начинает вывод на следующей строке. Для очистки содержимого графического окна используется метод Cls, в виде :

          Имя окна. Cls (Для нашего примера Picture1.Cls).

Для реализации разветвлений в алгоритме здесь использовано 2 условных оператора. Первый проверяет, удовлетворяет ли значение х условиям, необходимым для расчета по 1-й формуле. Если условия выполняются, то вычисляется значение Y и выводится в графическое окно, после чего делается переход на конец процедуры.

                                      Рис. 3.

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

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

        

                                            Рис. 4

На рис.4 показана форма после ввода значения х и поочередного нажатия кнопок запуска.

Задача 2

Даны два числа. Вычислить их сумму, разность, произведение и частное.

Код программы: Private Sub Command1_Click()

   If Option1.Value Then X = Val(Text1) + Val(Text2)

   If Option2.Value Then X = Val(Text1) - Val(Text2)

   If Option3.Value Then X = Val(Text1) * Val(Text2)

   If Option4.Value Then X = Val(Text1) / Val(Text2)

   If Check1.Value Then Picture1.Print Format(X, "#.000") Else Picture1.Print X

End Sub

Private Sub Command2_Click()

End

End Sub

Объект

Свойство

Значение

Form1

Command1

Command2

Frame1

Frame2

Frame3

Frame4

Label1

Label2

Option1

Option2

Option3

Option4

Check1

Caption

BackColour

Caption

Caption

BackColour

Caption

Caption

Caption

Caption

BackColour

Caption

Caption

BackColour

Caption

Caption

Caption

Caption

BackColour

Caption

BackColour

Задание1

&H00C0FFC0&

Вычислить!

Выход

Ввод данных

Выбор операции над числами

Вывод результата

Выбор округления

Введите число A

Введите число B

Сложение

Вычитание

Умножение

Деление

Округлять до тысячных

Контрольные вопросы.

  1.  Запишите синтаксис и принцип работы условного оператора IF
  2.  Запишите функциональное назначение элемента управления CheckBox
  3.  Запишите функциональное назначение элемента управления OptionButton.

Содержание отчета

  1.  Проект формы приложения в 2-х вариантах: для случая использования в решении условного оператора IF или оператора выбора CASE; для случая использования в решении ключа CheckBox и переключателя OptionButton.
  2.  Таблица описания элементов для каждой формы соответственно.
  3.  Копии экранов решения задачи.
  4.  Распечатка кодов программы.
  5.  Ответы на контрольные вопросы.
  6.  Выводы.

Варианты индивидуальных заданий.

  1.  Разработать Windows-приложение, которое запрашивает время суток и выводит в окне соответствующее приветствие пользователю (пожелание доброго дня, утра, вечера или спокойной ночи.
  2.  Дано натуральное число, определяющее возраст человека в годах. Составить Windows-приложение вывода в форму этого числа с добавлением соответственно «год», «года» или «лет».
  3.  Предприятие, практикующее почасовую оплату, выплачивает ее каждую неделю в соответствии с почасовым тарифом, к которому применяется коэффициент К, получаемы по следующей таблице:

Первые 39 часов

К=1

С 40-го по 44-й час

К=1,2

С 45-го по 49-й час

К=1,5

После 49-го часа

К=1,8

Составить Windows-приложение определения недельной зарплаты по сумме отработанных часов, считая, что часовой тариф равен 2 грн/час.

  1.  Составить Windows-приложение, которое по номеру дня недели выводит в окно расписание занятий вашей группы в соответствующий день.
  2.  Составить Windows-приложение вычисления основных геометрических фигур. Предусмотреть выбор фигуры пользователем из имеющегося перечня и задания ее параметров. В окне результатов отобразить формулу, по которой был выполнен расчет.
  3.  Муниципальные власти заказали для жителей города электронный справочник, содержащий следующие разделы: кинотеатры, театры, музеи, концертные залы, выставочные залы. Составить Windows-приложение, которое будет выводить афишу, соответствующую выбранному из списка разделу.
  4.  Составить Windows-приложение определения стоимости разговора по городскому телефону с учетом 20% скидки, предоставляемой по субботам и воскресеньям. Длительность и стоимость минуты разговора предусмотреть вводом с клавиатуры.
  5.  Составить Windows-приложение проверки знания даты начала Второй мировой войны. Предоставить пользователю четыре с варианта ответов. В случае неверного ответа пользователя, вывести правильный.
  6.  Составить Windows-приложение, которое после введенного с клавиатуры числа (в диапазоне от 1 до 999), обозначающего денежную единицу, дописывает слово «рубль» в правильной форме.
  7.  Составить Windows-приложение, которое запрашивает у пользователя номер дня недели и выводит окно из сообщений : «рабочий день», «суббота» или «воскресенье». В случае если пользователь укажет недопустимое число, предусмотреть вывод сообщения «Ошибка ввода»
  8.  Составить Windows-приложение определения состояния воды в зависимости от температуры.
  9.  Составить Windows-приложение определения кислотности раствора в зависимости от цвета индикатора (лакмуса).
  10.  Составить Windows-приложение определения вычисления площади одной из трех фигур – квадрата, круга или равностороннего треугольника по значению Х, интерпретируемому как сторона квадрата, радиус или сторона треугольника.


 

А также другие работы, которые могут Вас заинтересовать

38680. ДЕФОРМАЦИЯ ТОНКОЛИСТОВЫХ ДЕТАЛЕЙ В ПРОЦЕССЕ ЛАЗЕРНОЙ РЕЗКИ 3.88 MB
  ТЕХНОЛОГИИ РАЗМЕРНОЙ ЛАЗЕРНОЙ ОБРАБОТКИ. Физические основы лазерной обработки. Физическая модель лазерной обработки. Физические явления ограничивающие качество лазерной обработки.
38681. Социально – психологические факторы формирования профессиональной установки молодежи на ССУЗ технического профиля 742.5 KB
  Влияние престижа профессии на установки молодежи. Основные направления ориентации на рабочие профессии. Все чаще при выборе профессии заметную роль играют: желание завоевать определенное социальное положение и мотив материальной заинтересованности. намерения значительной части выпускников школ недостаточно соотносятся с потребностью общества в квалифицированных рабочих в следствие чего –неудовлетворенность выбором профессии смена профессии текучесть кадров молодых рабочих.
38682. Программа повышения конкурентоспособности на примере одного из молочных предприятий края Закрытого акционерного общества «Вемол» 855.5 KB
  В настоящее время все большее количество исследователей уделяют внимание вопросам изучения конкурентоспособности продукции отдельных компаний городов регионов стран технологий работников и даже научнометодических документов и нормативных актов. Конкуренция: вынуждает производителей реагировать на изменение предпочтений потребителей а также на изменения макроэкономического характера; вынуждает производителей постоянно искать и находить новые виды товаров и услуг которые нужны потребителям и могут лучшим образом удовлетворить их...
38683. Как писать диссертацию 141.5 KB
  Магистерская диссертация после защиты которой студенту присваивается квалификация магистр сельского хозяйства должна не только выявить уровень знаний выпускника но и определить его способность к владению навыками самостоятельной научноисследовательской работы умение формулировать и решать научные задачи выбирать методы исследования обрабатывать полученные данные вести библиографическую работу представлять научную продукцию в форме отчетов статей анализировать технологии производства и разрабатывать модели устойчивого развития...
38684. ИССЛЕДОВАНИЕ Я-КОНЦЕПЦИИ УЧАЩИХСЯ ПОДРОСТКОВОГО ВОЗРАСТА КАК СРЕДСТВА КАЧЕСТВЕННОЙ ОЦЕНКИ ОБРАЗОВАТЕЛЬНЫХ СИСТЕМ 182 KB
  Штейнера в образовательном процессе; важностью формирования Яконцепции для регуляции всех форм активности организации поведения коммуникации деятельности включая познавательную деятельность; проблемой зависимости содержания Яконцепции учащихся подросткового периода взросления от принципов построения школьного обучения и воспитания; отсутствием экспериментальных исследований направленных на выявление характера связи между различными образами Я в единой структуре Яконцепции. В качестве основания оценивания работы образовательной системы...
38685. ПОЛИТИКА СОВЕТСКОГО ГОСУДАРСТВА В СФЕРЕ РЫБНОЙ ПРОМЫШЛЕННОСТИ ВО ВТОРОЙ ПОЛОВИНЕ XX ВЕКА (НА МАТЕРИАЛАХ НИЖНЕГО ПОВОЛЖЬЯ) 157 KB
  Нижнее Поволжье исторически являлось основным центром по обеспечению рыбной продукцией населения России поэтому исследование проблем связанных с развитием этого центра историей рыбной отрасли не теряет своей актуальности для историков. В ряду исторических сочинений проблема государственной политики в отношении рыбной промышленности занимает одно из приоритетных мест. В советский период был накоплен бесценный опыт реформирования рыбной отрасли который может быть востребован современной практикой решающей во многом сходные задачи...
38686. Антизомби 593 KB
  Только опытный психолог может разобраться в мотивах поведения человека его поступков и устремлений. ценности личной свободы прав человека укоренились в сознании миллионов но существуют еще дикие рабские государства например Северная Корея где полоумный и циничный диктатор зомбирует миллионы с помощью современных средств информации держит их в материальной и духовной нищете и угрожает миру применением современных средств массового уничтожения. Как формируются и от чего зависят политическое мировоззрение человека его взгляды и...
38687. ПРАКТИЧЕСКИЙ КУРС АНГЛИЙСКОГО ЯЗЫКА 5.17 MB
  Образец 1: Techer: How mny books hve you red this yer Student: Mny. White nd hve tlk with Mrs. to hve tlk поговорить; также: to hve smoke покурить: to hve swim поплавать значение однократного действия to be gld радоваться e. djectives which hve two forms of comprison Positive Comprtive Superltive fr old frther более дальний further 1.
38688. МОРФОМЕТРИЧЕСКАЯ СТРУКТУРА ПОПУЛЯЦИЙ ЖУЖЕЛИЦ (COLEOPTERA, CARABIDAE) В АНТРОПОГЕННЫХ ЛАНДШАФТАХ 701.5 KB
  Среди животных быстро и адекватно реагирующих на изменения в окружающей среде особую группу составляют жужелицы Coleopter Crbide. Жужелицы одни из немногих видов почвенных обитателей педобионтов которые встречаются в импактных зонах промышленных источников и могут быть использованы для оценки антропогенных влияний на биоту. С помощью анализа динамики морфометрической структуры популяций жужелиц создается возможность проследить процесс адаптации к меняющимся условиям среды.