Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Разветвляющийся вычислительный процесс
Пример 3. Определить попадание точки с координатами (x, y) в область S (см. рис. 2). Сформулируем логическое условие попадания точки с координатами (x, y) в область S. Уравнение окружности, которая ограничивает область S в первом и втором квадранте системы координат XOY имеет вид: . Введём логическую переменную FLAG: типа BOOLEAN;
Тогда величину FLAG, которая принимает значение TRUE, в том случае, когда точка с координатами (x, y) принадлежит области S, можно найти по формуле: FLAG : = (X > = -A) AND (X < = A) AND ((Y < = (A * A – X * X) ^ (1 / 2) AND (Y > = 0)) OR ((Y < 0) AND (Y > = B)))- Либо, учитывая приоритеты выполнения операций, можно записать FLAG : = X > = -A AND X < = A AND (Y < = (A * A – X * X) ^ (1 / 2) AND Y > = 0 OR Y < 0 AND Y > = B) Код программы: Sub pr1_1() Dim A As Double, B As Double Dim X As Double, Y As Double Dim Flag As Boolean
A = InputBox(“введите A “) B = InputBox(“введите B “) X = InputBox(“введите X “) Y = InputBox(“введите Y “) FLAG: = (X > = -A) AND (X < = A) AND _ ((Y < = (A * A – X * X) ^ (1 / 2) AND (Y > = 0)) OR ((Y < 0) AND (Y > = B))) If Flag Then MsgBox(“Точка внутри области”) Else MsgBox(“Точка вне области”) EndIf End Sub Пример 4. Для заданного с клавиатуры значения X вычислить Y по формуле: (2-5) Эту задачу можно решить двумя способами. Первый способ предусматривает использование трех операторов IF сокращенной формы. Алгоритм решения достаточно прост (см. блок-схему на рис. 5). Последовательно проверяется три взаимно исключающих друг друга условия, образующих полную группу событий. Для любого x только одно условие примет значение TRUE, остальные два условия равны FALSE. Таким образом, оператор присвоения выполнится только один раз, и этот оператор будет соответствовать условию, имеющему значение TRUE. Программная реализация – PR4_1. Второй способ предусматривает использование двух вложенных операторов IF полной формы. Алгоритм этого способа реализован в виде блок-схемы на рис. 5.б. Программная реализация – PR4_2. В соответствии с данной блок-схемой написан код процедуры pr4_2. В данной процедуре используется один оператор If c вложенными проверками условий. Возможен ещё один способ решения задачи – с использованием нескольких операторов, следующих друг за другом. Блок-схема такого алгоритма представлена на рис. ЧЧ, а код – в процедуре pr4_1.
Пример 5. Составить программу, которая по введенному значению X вычисляет и выводит значение Y = F(X), где F(X) задана графически на рис. 6. Эта задача отличается от задачи, описанной в предыдущем примере, только тем, что нужно самому составить формулу для функции F(X). В предыдущей задаче эта формула Глядя на график (см. рис. 6) нетрудно увидеть, что на нем изображена кусочно-линейная функция, содержащая три прямых линии. Первая прямая имеет уравнение Y = –X–1 и определена для X ≤ 0. Вторая линия определена на отрезке 0 ≤ X ≤ 1 и имеет уравнение Y = X – 1. Третья прямая линия имеет уравнение Y = 0 и определена для X ≥ 1. С учетом выше сказанного, искомая формула будет иметь вид: (2-6) Sub pr5_1() Dim X As Double, Y As Double X = InputBox(“введите X “) If X > = 1 Then Y = 0 ElseIf (X < = 0) Then Y = -X - 1 Else Y = X – 1 End If MsgBox(“Y= “ & Y End Sub
Пример 6. Составить программу, которая по введенному значению X вычисляет и выводит значение Y = F(X), где F(X) задана графически на рис. 7. Задача аналогична предыдущей, отличается от неё лишь тем, что при X< -2 значение функции Y не определено.
Sub pr6_1() Dim X As Double, Y As Double X = InputBox(“введите X “) If X > = 1 Then Y = 0 MsgBox(“Y= “ & Y) ElseIf X < = 0 Then Y = -X – 1 MsgBox(“Y= “ & Y) ElseIf (X > 0) And (X < 1) Then Y = X – 1 MsgBox(“Y= “ & Y) Else MsgBox(“Решение не определено “) End If
End Sub
Другой вариант решения той же задачи заключается в том, что используем дополнительную переменную логического типа mist, которая первоначально содержит значение false, а при вводе Х< -2 меняет своё значение на true. Анализируя значение mist, выводим либо значение переменной Y, либо сообщение о том, что задача не имеет решения.
Sub pr6_2() Dim X As Double, Y As Double, mist As Boolean mist = false X = InputBox(“введите X “) If X > = 1 Then Y = 0 ElseIf X < = 0 Then Y = -X – 1 ElseIf (X > 0) And (X < 1) Then Y = X – 1 Else Mist = true End If If mist MsgBox(“Решение не определено “) Else MsgBox(“Y= “ & Y) End If End Sub
Пример 8. Для заданного целого положительного K и значения вещественного числа X вычислить Y = F(X) по формуле: (2-15) Алгоритм решения этой задачи описан с помощью блок-схемы:
Sub pr6_1() Dim X As Double, Y As Double, K As Integer X = InputBox(“X=“) K = InputBox(“K=“) Select Case K Case 2, 3 Y = X ^ K + X + 1 Case 4 To 10 Y = 1 / Abs(X + 1) Case Is > 10, Is < 2 Y = Abs(X + K) ^ (1 / 2) + Abs(X - K) ^ (1 / 2) End Select MsgBox(“Y= “ & Y) End Sub
|