Студопедия — Действие. Рис. 12. Схемы алгоритмической структуры "Условный оператор".
Студопедия Главная Случайная страница Обратная связь

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

Действие. Рис. 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; просмотров: 452. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

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

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

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