Przejdź do głównej zawartości

Funkcja, Makro, MsgBox, InputBox i równanie funkcji.

Napisać funkcję użytkownika, która opisuje podaną zależność
          | x + a     dla  -a <= x <= 0
f(x) = | -x + a    dla   0 <= x <= a           a > 0
          | 0           dla pozostałych x

Zastosować funkcję w arkuszu. Następnie napisać procedurę przypisaną do obiektu w arkuszu, która dla zadanych wartości a oraz x wprowadzanych przez użytkownika wywołuje funkcję i wyświetla wynik w oknie MsgBox. Umieścić w arkuszu okno InputBox lub kontrolki do wprowadzania wartości wejściowych.

Funkcja:

Function Funkcja(a As Integer, x As Integer)
    If -a <= x And x <= 0 Then
        Funkcja = x + a
    ElseIf x >= 0 And x <= a Then
        Funkcja = (-x) + a
    Else
        Funkcja = 0
    End If
End Function

Makro:
 
Sub Makro1()
    Dim x As Integer, a As Integer
    x = InputBox("Podaj x", "Podaj x")
    a = InputBox("Podaj a", "Podaj a")
    MsgBox Funkcja(a, x), , "Wynik"
End Sub

Później należy tylko dodać w arkuszu przycisk albo kształt. Najechać na niego, wcisnąć prawy przycisk myszki i przypisać Makro1

Komentarze

Popularne posty z tego bloga

Rekurencyjny algorytm szybkiego potęgowania O(log n)

/* Title: Rekurencyjny algorytm szybkiego potęgowania o złożoności O(log n) */ #include <stdio.h> int potegowanie(int podstawa, int wykladnik); int main() { int wynik = potegowanie( 2, 6 ); /* 2^6 */ printf( "Wynik potegowania 2^6: %i\n", wynik ); /* Wynik 64 */ return 0; } int potegowanie( int podstawa, int wykladnik ) { if( wykladnik == 0 ) /* Potęgowanie podstawy o wykładniku równym 0 */ { return 1; } else if( wykladnik % 2 == 1 ) /* Dla wykładnika nieparzystego */ { return podstawa * potegowanie( podstawa , wykladnik - 1 ); } else /* Dla wykładnika parzystego */ { return potegowanie( podstawa * podstawa, wykladnik / 2 ); } }