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

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

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




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


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


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


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

В эволюции растений и животных. Цель: выявить ароморфозы и идиоадаптации у растений Цель: выявить ароморфозы и идиоадаптации у растений. Оборудование: гербарные растения, чучела хордовых (рыб, земноводных, птиц, пресмыкающихся, млекопитающих), коллекции насекомых, влажные препараты паразитических червей, мох, хвощ, папоротник...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

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