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


 

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

33820. Бахаизм 19.62 KB
  Городом в котором сформировалась первая бахаистская община был Багдад сейчас столица Ирака. Бабизм от имени своего основателя Баба став важным идейным источником бахаизма в дальнейшем прекратил своё существование причём именно его последователи и образовали первые общины бахаи. Главная идея бабизма унаследованная бахаизмом состояла в утверждении что Мухаммад был последним пророком Бога не для всей истории человечества а только для определённого исторического этапа что после него новый этап открывают два пророка одним из...
33821. Синтоизм 13.96 KB
  В японской религии синто или синтоизме как называют её европейцы к числу божеств именуемых ками относятся божественные предки японского народа; духи гор рек камней деревьев огня ветра; божествапокровители отдельных местностей и ремёсел; божества олицетворяющие человеческие добродетели; духи умерших. Само название религии синто состоит из двух иероглифов: син и то . Таким образом дословный перевод синто путь богов . Что же стоит за столь необычным названием Строго говоря синто языческая религия.
33822. Шаманизм 15.02 KB
  Шаманизм особенно широко распространен в племенных культурах которые развиваясь на значительных удалениях друг от друга создали системы поверий поразительно схожие между собой. Шаманом называется человек который погружаясь в особое исступленное состояние сознания обретает способность общаться с оберегающими и помогающими духами и черпать из потусторонних источников значительную силу. Главной целью шаманизма является лечение тела и рассудка. Шаманизм представляет собой сложное явление и его часто ошибочно приравнивают к магии...
33823. Рели́гия 16.96 KB
  С усложнением общества изменялись формы компенсации: обращаясь к религии и твердо веря в ее догматы человек стремился найти в ней утешение избавиться с ее помощью от несправедливостей и обид социального неустройства и политических преследований. Но суть функции оставалась неизменной: в религии люди и особенно религиозно активные слои населения отшельники аскеты монахи суфии и т. Компенсирующая функция религии тесно связана с другой ее функцией – интегрирующей.
33824. Подходы к происхождению человека 14.81 KB
  История религии. История религии начиная с ее самых простых примитивных форм представляет собой этот длинный путь человеческого богопознания. Все предшествующие формы религии представляют собой ни что иное как подготовительные формы на пути человечества к истинной религии.
33825. Родоплеменные религии: тотемизм, табу, магия, фетишизм и анимизм 25.8 KB
  С этой обрядностью связаны все важные этапы в жизни человека: рождение посвящение введение юноши в число взрослых охотников смерть. Наряду с тотемизмом и табу значительное место в жизнедеятельности первобытного человека занимала магия греч. mgic колдовство чародейство совокупность представлений и обрядов в основе которых лежит вера в таинственные силы с помощью которых путем определенных символических действий возможно оказать влияние на людей предметы ход событий в нужном для человека направлении. Он считал что магия не...
33826. Зороастризм и маздеизм 19.6 KB
  Но в наиболее ранних персидских текстах ахеменидских надписях о нем не упоминается хотя в этих текстах есть немало связываемых с его именем идей в частности в связи с прославлением АхураМазды. Будем условно именовать ее маздеизмом – по имени АхураМазды. Третьей в верховной первоначальной триаде древнеиранских богов была Ардвисура Анахита богиня воды и плодородия воспринимавшаяся в качестве дочери АхураМазды. Хотя его подчас считают не имеющим прямого отношения к маздеизму и тем более зороастризму более поздние мифы приписывают именно...
33827. Индуизм — ведущая религия Древней Индии 23.27 KB
  Исследователи выявляют несколько исторических форм индуизма. Основы индуизма заложены в ведической религии которую принесли на территорию полуострова Индостан племена ариев вторгшиеся туда в середине II тысячелетия до н. Во втором направлении индуизма вишнуизме образ бога Вишну предстает прежде всего как хранителя мирового порядка. Третий член троицы высших божеств индуизма Брахма рассматривается как первопричина мира и творец человечества из различных частей которого произошли разные касты: из уст брахманы из рук кшатрии из бедер ...
33828. Легенда о Будде 22.32 KB
  Умерь свои страсти будь добрым и благожелательным – и это перед каждым а не только перед посвященными брахманами как в брахманизме откроет путь к истине а при условии длительных дальнейших усилий в этом направлении – к конечной цели буддизма нирване. Даже многие известные брахманы отказывались от своего учения и становились в число проповедников буддизма. Словом число последователей буддизма нарастало как снежный ком и в короткий срок согласно легенде это учение стало наиболее влиятельным и популярным в древней Индии. Если...