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-приложение определения вычисления площади одной из трех фигур – квадрата, круга или равностороннего треугольника по значению Х, интерпретируемому как сторона квадрата, радиус или сторона треугольника.


 

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

23300. Англійський романтизм 16.96 KB
  13 Англійському романтизму передував значно довший ніж у Німеччині або Франції період предромантизму. Ці дві тенденції заглиблення в суто національне провінційне сільське життя з одного боку й опанування простором далеких країн і континентів аж до космічного простору включно з іншого складають своєрідність національного варіанту романтизму. стала першим естетичним маніфестом англійського романтизму. романтизму Байрон Скотт ств.
23301. Байрон. Еволюція творчості 24.95 KB
  Байронізм. Поема Манфред Байронічна течі байронізм не прийняття дійсності відторгнення. Мазепа Цікавою особливо для українського читача є романтична поема Мазепа останній з творів про сильну особистість байронічного типу.
23302. Історія української культури 22.5 KB
  Українська наука та національна культура. Народна культура та її матеріальні і духовні складові та їх елементи. Культура і побут населення України 1. розвитку і представлений кількома історикогеографічними регіонами: Полісся та Волинь Волинська Рівненська Житомирська Чернігівська частина Київської та Сумської областей Карпати Львівська ІваноФранківська Закарпатська Чернівецька області Поділля Хмельницька Рівненська частина Житомирської областей Наддніпрянська Україна або середина Подніпровя Черкаська Кіровоградська...
23303. Культурно-мистецьке життя Київської держави 26 KB
  Запровадження християнства Образотворче мистецтво Київської держави архітектура Літературний процес Київської держави Література: 1. Перша стадія Київської держави умовно поділяється на два великих етапи згідно з археологічними розкопками та літописами: VIII початок ІХ ст. про хрещення Київської держави за князя Аскольда.
23304. Культурно-мистецьке життя Київської держави. Літературний процес 16 KB
  Літературний процес Традиції писемності давніх словян зокрема давньословянських племен Київської держави повязані з писемністю цивілізацій Давнього Світу свідченням чого є написи малюнковозвукового письма у кургані €œКамяна Могила€ у Запорізькії області в якій відображена історична самосвідомість зокрема уявлення про те як вони з Індії з Месопотамії прийшли до Карпат. Отже на території Київської держави існували цивілізації при чому в ІХХ ст. Літературні памятки Київської держави умовно поділяються на: Перекладна література:...