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

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

Действие. Рис. 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 оперирует с двумя категориями...

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

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

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