Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Пакет Microsoft Office

  Все выпуски  

RFpro.ru: Пакет Microsoft Office


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Гаряка Асмик
Статус: Профессионал
Рейтинг: 4688
∙ повысить рейтинг »
Валерий Ахметович Набиуллин aka ValeryN
Статус: Мастер-Эксперт
Рейтинг: 3560
∙ повысить рейтинг »
Kom906
Статус: Студент
Рейтинг: 2328
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программное обеспечение / Пакет Microsoft Office

Номер выпуска:890
Дата выхода:15.10.2010, 15:00
Администратор рассылки:Ерёмин А.А. (Мастер-Эксперт)
Подписчиков / экспертов:343 / 293
Вопросов / ответов:1 / 3

Вопрос № 180262: Здравствуйте! Подскажите как в MS Excel оформить это задание: Составить программу вычисления Y: Y=0.3*Sin(x^2)-1/x при |x|<=0.5 Y=x^2/(Sin(x)+5) при |x|>5 Напечатать:


Вопрос № 180262:

Здравствуйте!
Подскажите как в MS Excel оформить это задание:
Составить программу вычисления Y:
Y=0.3*Sin(x^2)-1/x при |x|<=0.5
Y=x^2/(Sin(x)+5) при |x|>5
Напечатать:
при x=.... функция вычисляется по формуле.... Результат=...

Задание выполнить (с использованием операций логики ЕСЛИ...),значения x-задать самостоятельно в столбик (от -6 до 5)
Спасибо

Отправлен: 10.10.2010, 14:37
Вопрос задал: Миронычев Виталий (Посетитель)
Всего ответов: 3
Страница вопроса »


Отвечает lamed (Профессор) :
Еще раз здравствуйте, уважаемый Миронычев Виталий! :)
Файл с примером приведен здесь.180262.zip (11.2 кб)

Текст функции и тестирующей программы
Код:
Option
Explicit

Sub main()
'Тестирующая программа
Dim s As String
Dim i As Double
s = ""
For i = -2 To 2 Step 0.5
s = s & y(CDbl(i)) & vbNewLine
Next
MsgBox (s)

End Sub

Function y(ByVal x As Double) As String
Dim t As Double
Dim Formula As String
If Abs(x) = 0 Then
y = "ошибка деления на ноль"
Else
If Abs(x) <= 0.5 Then
t = 0.3 * Sin(x ^ 2) - 1 / x
Formula = "0.3 * Sin(x ^ 2) - 1 / x"
Else
t = x ^ 2 / (Sin(x) + 5)
Formula = "t = x ^ 2 / (Sin(x) + 5)"
End If
y = "при x=" & x & " функция вычисляется по формуле " & Formula & " Результат= " & t
End If
End Function

Задавайте вопросы, если что-то требует уточнения.


Ответ отправил: lamed (Профессор)
Ответ отправлен: 10.10.2010, 16:31
Номер ответа: 263413

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 263413 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Отвечает Megaloman (Профессионал) :
    Здравствуйте, Миронычев Виталий.
    Если значение x содержится в клетке B4, то формула, например, в С4 имеет вид
    Код:
    ="При x="&ТЕКСТ(B4;"#0,000")&" функция вычисляется по формуле: "&ЕСЛИ(ABS(ОКРУГЛ(B4;2))<=0,5;"Y=0.3*Sin(x^2)-1/x.
     Результат="&ЕСЛИ(ABS(ОКРУГЛ(B4;12))<>0;ТЕКСТ(0,3*SIN(B4*B4)-1/B4;"#0,######");"Деление на нуль");ЕСЛИ(ABS(ОКРУГЛ(B4;2))>5;"Y=x^2/(Sin(x)+5).  Результат="&ТЕКСТ(B4*B4/(SIN(B4)+5);"#0,######");"Функция не определена!"))
    Здесь учтено, что область определения функции |x|<=0.5 и |x|>5 , для остальных х функция не определена. Учтено, что при x=0 у нас возникает ошибочная ситуация - деление на нуль. Для более читаемого результата применил функцию ТЕКСТ, с помощью которой результат выдаю с 6 знаками после запятой (можно с любой другой значностью), а значение х - с тремя. Функцию ОКРУГЛ применяю потому, что при вачислении х с шагом получится не нуль в каком-то далёком знаке после запятой за счёт ограниченной значности при вычислениях, точно также и для остальных х.
    Готовый файл прикрепил к ответу
    Прикрепленный файл: загрузить »

    -----
    Нет времени на медленные танцы

    Ответ отправил: Megaloman (Профессионал)
    Ответ отправлен: 10.10.2010, 18:24
    Номер ответа: 263423

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 263423 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Ответ поддержали (отметили как правильный): 2 чел.



    Отвечает Посетитель - 339087 (2-й класс) :
    Здравствуйте, Миронычев Виталий!
    x ответ
    -6 6,818936682
    -5 4,195388102
    -4 0
    -3 0
    -2 0
    -1 0
    0 #ДЕЛ/0!
    1 0
    2 0
    3 0
    4 0
    5 6,186471548
    x в столбце С , формула в любом другом: =ЕСЛИ(ИЛИ(ABS(C12)<0,5;ABS(C12)=0,5);0,3*SIN(C12*C12)-(1/C12);ЕСЛИ(ИЛИ(ABS(C12)>5;ABS(C12)=5);(C12*C12)/(SIN(C12)+5);0))

    Ответ отправил: Посетитель - 339087 (2-й класс)
    Ответ отправлен: 11.10.2010, 09:22
    Номер ответа: 263445

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 263445 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFPRO.RU, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.22 от 13.10.2010

    В избранное