Студопедия Главная Случайная страница Обратная связь

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

Действие. Рис. 12. Схемы алгоритмической структуры "Условный оператор".






Действие2


Действие1


 

Рис. 12. Схемы алгоритмической структуры "Условный оператор".

 

С помощью условного оператора можно разветвить про- грамму. Простую конструкцию IF-THEN следует читать так: если условие выполняется (логическое выражение принимает значение "Истина"), то действие, заданное оператором или множеством опе- раторов, выполняется. В противном случае (логическое выражение принимает значение "Ложь") действие не выполняется. В програм-


ме, если условие не выполняется, управление передается следующей строке. Конструкция IF-THEN-ELSE дает возможность выбирать одно из двух действий.

<условие>;в программе представляет собой логическое вы- ражение, состоящее из двух операндов, соединенных между собой

одной из операций отношения: < - меньше, > - больше, <= (или =<) – меньше или равно, >= (или =>) – больше или равно, = - равно, <>

(или ><) – не равно.

При расчетах углов треугольника по теореме косинусов требуется вычислять функцию арккосинус. В Бейсике нет

стандартной математической функции арккосинус. В этом случае

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

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

процедуры функцию:

Function acos(x) pi = 3.1415926

aa= Atn(Sqr(1 - x * x) / x) if aa<=0 then aa=aa+pi

if x=-1 then aa=pi acos =aa

End Function

Эту функцию будем теперь использовать в процедуре обработки события.

Самое первое действие в процедуре обработки события должно быть очистка формы от предшествующих надписей. Это делается оператором cls. Затем необходимо прочитать введенные в

поля значения координат. Для координат первой вершины это можно сделать с помощью конструкций:

x1 = Val(Text1.Text): y1 = Val(Text2.Text).

Двоеточие между двумя конструкциями выполняет роль

разделителя между операторами, когда они помещены в одну строку. Для координат остальных вершин x 2, y2, x3, y3 необходимо

поступать аналогичным образом.


После ввода координат необходимо выполнить вычисление квадратов сторон и самих сторон. Это можно сделать с помощью конструкций:

ab2 = (x2 - x1) ^ 2 + (y2 - y1) ^ 2: ab = Sqr(ab2).

Здесь знаком ^2 обозначена операция возведения в квадрат,

Sqr – вычисляет квадратный корень.

Для остальных длин сторон и их квадратов необходимо поступать аналогично.

Затем введя постоянную величину pi=3.1415926, следует

вычислить величину угла в граудусах с долями:

c = (180 / pi) * acos((bc2 + ac2 - ab2) / (2 * bc * ac)).

Здесь acos означает обращение к функции, описанной в

программе, множитель 180/pi необходим для перевода из радиан в градусы. Для вычисления остальных углов следует поступать аналогично.

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

воспользоваться конструкциями:

cg = Int(c): cm = Int((c - cg) * 60): csec = (c - (cg + cm / 60)) * 3600,где c – величина угла в градусах с долями, cg – градусы угла, cm – минуты угла, csec – секунды угла, Int – функция взятия целой части числа (отбрасывание дробной части). Для остальных углов следует поступать аналогично.

После последних вычислений необходимо выдать результат на форму. Это можно сделать с помощью оператора:

Print "c="; cg; "grad"; cm; "min"; csec; "sec";.

Для вывода остальных значений углов следует поступать

аналогично.

Таким образом, вся процедура будет иметь вид:

Private Sub Command1_Click()

Cls

x1 = Val(Text1.Text): y1 = Val(Text2.Text)

x2 = Val(Text3.Text): y2 = Val(Text4.Text)

x3 = Val(Text5.Text): y3 = Val(Text6.Text)

ab2 = (x2 - x1) ^ 2 + (y2 - y1) ^ 2: ab = Sqr(ab2)

bc2 = (x3 - x2) ^ 2 + (y3 - y2) ^ 2: bc = Sqr(bc2)

ac2 = (x3 - x1) ^ 2 + (y3 - y1) ^ 2: ac = Sqr(ac2)


 

 

* 3600

 

* 3600


pi = 3.1415926

c = (180/pi) * acos((bc2 + ac2 - ab2) / (2 * bc * ac))

a = (180/pi) * acos((ab2 + ac2 - bc2) / (2 * ab * ac)) b = (180/pi) * acos((ab2 + bc2 - ac2) / (2 * ab * bc))

cg = Int(c): cm = Int((c - cg) * 60): csec = (c - (cg + cm / 60))

ag = Int(a): am = Int((a - ag) * 60): asec = (a - (ag + am / 60)) bg = Int(b): bm = Int((b - bg) * 60): bsec = (b - (bg + bm /


60)) * 3600

Print "c="; cg; "grad"; cm; "min"; csec; "sec";

Print "a="; ag; "grad"; am; "min"; asec; "sec";

Print "b="; bg; "grad"; bm; "min"; bsec; "sec";







Дата добавления: 2015-10-02; просмотров: 476. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Основные симптомы при заболеваниях органов кровообращения При болезнях органов кровообращения больные могут предъявлять различные жалобы: боли в области сердца и за грудиной, одышка, сердцебиение, перебои в сердце, удушье, отеки, цианоз головная боль, увеличение печени, слабость...

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия