Аватар для mrs.Anastacia
0 / 0 / 0
Регистрация: 11.01.2012
Сообщений: 13

Написать программу для вычисления значения функции с использованием операторов ветвления If и выбора Select Case

11.01.2012, 18:33. Показов 10283. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Во вложении функция.
Задание: Написать программу для вычисления значения функции с использованием операторов ветвления If и выбора Select Case.
Вот первая программа с использованием If
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Command1_Click()
 
Dim x As Double  
Dim y As Double 
x = CDbl(Text1.Text)
If x < -3.14 / 2 Then
    y = 0
ElseIf x > 3.14 / 2 Then
    y = 1
Else
    y = Sin(x)
End If
Label1.Caption = CStr(y)
End Sub

Вот вторая программа с использованием Select Case
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Command1_Click()
 
Dim x As Double  
Dim y As Double 
x = CDbl(Text1.Text)
Select Case x
    Case Is < -3.14 / 2
        y = 0
    Case -3.14 To 0
        y = -Sin(x)
    Case Is > 3.14 / 2
        y = 1
 
End Select
Label1.Caption = CStr(y)
End Sub
Проблема в том, что у меня не получается вставить еще одно условие в первой программе про "y=-sin(x)", а во второй программе про "y=sin(x)". А они оба должны быть и в той, и в той программе.

Подскажите пожалуйста, что надо исправить?
Изображения
 
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.01.2012, 18:33
Ответы с готовыми решениями:

Составить программы вычисления и печати значения функции f(x) с использованием операторов условного перехода IF и case
Составить программы вычисления и печати значения функции f(x) с использованием операторов условного перехода IF и оператора вы- бора...

Вычисление значения функции с использованием операторов ветвления if
Я только учусь, помогите пожалуйста... третий день не могу построить этот график... спасибо всем кто ответит!)

Составить программу вычисления значения функции с использованием оператора CASE
Помогите пожалуйста. Составить программу вычисления значения функции с использованием оператора CASE при целом x и вещественных a,b,c ...

8
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
12.01.2012, 10:10
1. Elseif x > -3.14 and x < 0
y = -Sin(x)
2.Case Else

Добавлено через 14 часов 42 минуты
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Private Sub Command1_Click()
Dim x As Double
Dim y As Double
x = CDbl(Text1.Text)
If x < -3.14 / 2 Then
    y = 0
ElseIf x > 3.14 / 2 Then
    y = 1
ElseIf x > -3.14 / 2 And x < 0 Then
    y = -Sin(x)
Else
    y = Sin(x)
End If
Label1.Caption = CStr(y)
End Sub
 
Private Sub Command2_Click()
 
Dim x As Double
Dim y As Double
x = CDbl(Text1.Text)
Select Case x
    Case Is < -3.14 / 2
        y = 0
    Case -3.14 To 0
        y = -Sin(x)
    Case Is > 3.14 / 2
        y = 1
    Case Else
        y = Sin(x)
End Select
Label1.Caption = CStr(y)
End Sub
1
Эксперт Hardware
 Аватар для Linoge
3205 / 1915 / 324
Регистрация: 25.10.2011
Сообщений: 5,564
12.01.2012, 10:16
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Command1_Click()
pi = 4 * Atn(1)
Dim x#, y#
x = CDbl(Text1)
If x < -pi / 2 Then
    y = 0
ElseIf x < 0 Then
    y = -Sin(x)
ElseIf x < pi / 2 Then
    y = Sin(x)
Else
    y = 1
End If
Label1 = y
End Sub
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Command2_Click()
pi = 4 * Atn(1)
Dim x#, y#
x = CDbl(Text1)
Select Case x
    Case Is < -pi / 2
        y = 0
    Case -pi / 2 To 0
        y = -Sin(x)
    Case 0 To pi / 2
        y = Sin(x)
    Case Else
        y = 1
End Select
Label1 = y
End Sub
2
 Аватар для mrs.Anastacia
0 / 0 / 0
Регистрация: 11.01.2012
Сообщений: 13
13.01.2012, 17:45  [ТС]
Спасибо! Я в принципе так и делала, только меня смущало, что у результата не было минуса, спустя неделю до меня дошло-таки, что - на - дает + надо брать отпуск, срочно
К этому же рисунку еще один вопрос:
1) Вычислить значения табличной функции для всех значений аргумента на интервале [–3, 3] с шагом 0,2. Результат выдать на экран в виде таблицы.
2) Программно найти самую левую на интервале [–2, 2] (с точностью 0,1) точку, в которой значение функции принимает отрицательное значение, и самую правую точку на том же интервале, в которой значение функции принимает положительное значение.
Левую отрицательную я нашла, а вот с правой положительной - проблемы..

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Function f(x As Double) As Double
Select Case x
    Case Is < -3.14 / 2
        f = 0
    Case -3.14 To 3.14
        f = -Sin(x)
    Case Is > 3.14 / 2
        f = 1
End Select
End Function
 
 
Private Sub Command1_Click()
Dim x As Double              
Dim y As Double              
Dim found As Boolean     
For x = -3 To 3 Step 0.2
        y = f(x)
    Print Round(x, 2), Round(y, 5)      
Next x
 
found = False
For x = -2 To 2 Step 0.1
     y = f(x)
     If y < 0 Then
        found = True
        Print "Самая левая точка с отриц. значением функции ", Round(x, 1), y
        Exit For
     End If
Next x
If Not found Then Print "Нет точки с отрицательным значением функции"
End Sub
0
Эксперт Hardware
 Аватар для Linoge
3205 / 1915 / 324
Регистрация: 25.10.2011
Сообщений: 5,564
13.01.2012, 23:02
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Function f(ByVal x As Double) As Double  'обрати внимание на передачу аргумента
Select Case x
    Case Is < -3.14 / 2
        f = 0
    Case -3.14 To 3.14
        f = -Sin(x)
    Case Is > 3.14 / 2
        f = 1
End Select
End Function
 
 
Private Sub Command1_Click()
Form1.Cls
For x = -30 To 30 Step2
    Print Round(x / 10, 2), Round(f(x / 10), 5)
Next x
 
found_right = False
found_left = False
 
For x = -20 To 20
    If f(x / 10) > 0 Then found_right = True: y1 = f(x / 10): x1 = x / 10
    If f(x / 10) < 0 And Not found_left Then found_left = True: _
    y2 = f(x / 10): x2 = x / 10
Next
 
Print "Ïðàâîå çíà÷åíèå " & IIf(found_right, "x=" & x1 & " y=" & Round(y1, 5), "íå íàéäåíî")
Print "Ëåâîå çíà÷åíèå " & IIf(found_left, "x=" & x2 & " y=" & Round(y2, 5), "íå íàéäåíî")
End Sub
Добавлено через 17 минут
цикл по инту чтоб не округлять x
0
 Аватар для mrs.Anastacia
0 / 0 / 0
Регистрация: 11.01.2012
Сообщений: 13
17.01.2012, 21:36  [ТС]
не идет
Миниатюры
Написать программу для вычисления значения функции с использованием операторов ветвления If и выбора Select Case  
0
Эксперт Hardware
 Аватар для Linoge
3205 / 1915 / 324
Регистрация: 25.10.2011
Сообщений: 5,564
17.01.2012, 21:39
Цитата Сообщение от mrs.Anastacia Посмотреть сообщение
не идет
Пробел после step
0
 Аватар для mrs.Anastacia
0 / 0 / 0
Регистрация: 11.01.2012
Сообщений: 13
17.01.2012, 22:39  [ТС]
я аж покраснела
а почему мой ответ различен с твоим про самую левую с отрицательным значением?
они же вроде одинаковы должны быть...
0
Эксперт Hardware
 Аватар для Linoge
3205 / 1915 / 324
Регистрация: 25.10.2011
Сообщений: 5,564
17.01.2012, 23:21
Потому что Round(x, 1)
потому что при цикле по не целой переменной, x будет смещаться не ровно на 0.1
выведи в своей задаче
Visual Basic
1
Print "Ñàìàÿ ëåâàÿ òî÷êà ñ îòðèö. çíà÷åíèåì ôóíêöèè " & x & " " & y
поэтому и предложил цикл на инте
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.01.2012, 23:21
Помогаю со студенческими работами здесь

Составить программу вычисления значения функции с использованием оператора CASE
Составить программу вычисления значения функции с использованием оператора CASE при целом x и вещественных a,b,c: y=\begin{cases} ...

Составить программу вычисления значения функции с заданной точностью с использованием операторов WHILE и REPEAT
Составить программу вычисления значения функции с заданной точностью с использованием операторов WHILE и REPEAT..UNTIL. Ряд: ...

Составить программу для вычисления функции, используя оператор выбора case
Введите три целых положительных числа a, b, c. Определите остаток k от деления на 5 величины M, равной: M=(a+sqr(b)+c)/c, вычислите...

Составить программу вычисления функции двумя способами (If Then Else и Select Case)
помогите пожалуйста очень срочно надо 7 вариант

Составить программу для решения задачи, используя оператор выбора Select-Case
Составить программу для решения задачи, используя оператор выбора Select-Case. Составить программу, которая по знаку арифметической...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru