• Nie Znaleziono Wyników

Informatyka 1. INF & EIT.

N/A
N/A
Protected

Academic year: 2021

Share "Informatyka 1. INF & EIT."

Copied!
1
0
0

Pełen tekst

(1)

Informatyka 1. INF & EIT. Ćwiczenie 5.

Projektowanie funkcji Zagadnienia:

projektowanie algorytmów z wykorzystaniem funkcji; przekazywanie parametrów do funkcji przez wartości; obliczanie sum szeregów; wykres funkcji w trybie tekstowym.

1. Opracować funkcję, która oblicza średnią arytmetyczną dwóch liczb rzeczywistych przekazywanych do funkcji przez wartości za pomocą argumentów x i y. W programie głównym wywołać funkcję dla danych wejściowych wczytywanych z klawiatury. Prototyp funkcji:

double SR(double x, double y).

2. Opracować funkcję, która dla x rzeczywistego oblicza sumę szeregu E(x) = 1 + x1 / 1! + x2 / 2! + x3 / 3! + ... + xi / i! + ... .

Obliczenia należy zakończyć dla wyrazu o numerze i, dla którego | xi / i! | < EPS, gdzie EPS=1E-8 jest stałą w programie (obliczanie ex z dokładnością EPS=10-8).

Zrealizować dwa warianty funkcji:

a) obliczającą sumę szeregu w oparciu o standardową funkcję podnoszenia do potęgi pow;

b) obliczającą sumę szeregu bez użycia funkcji pow.

Porównać wyniki z wartościami otrzymanymi za pomocą standardowej funkcji exp(x).

Prototyp funkcji: double E(double x, double eps);

3. Opracować funkcję, która oblicza sumę n pierwszych wyrazów szeregu przybliżającego wartość sin(x) dla x typu rzeczywistego. Przyjąć, że x oraz n są argumentami funkcji.

S(x,n) = x1 / 1! - x3 / 3! + x5 / 5! - x7 / 7! + ... ± x(2i-1) / (2i-1)! + ...

Wartości zmiennej i są liczbami naturalnymi (i=1, 2, 3, ...). Porównać wartość funkcji S(x,n) dla wybranych x i n (np. x=2; n=8) z wartością standardowej funkcji sin(x). Dla dużych n powinno być sin(x) ≈ S(x,n). Prototyp funkcji: double S(double x, int n).

4. Opracować funkcję, która oblicza sumę n pierwszych wyrazów szeregu przybliżającego wartość arcsin(x) dla x typu rzeczywistego. Przyjąć, że x oraz n są argumentami funkcji.

A(x,n) = x + 1∗x3 / (2∗3) + 1∗3∗x5 / (2∗4∗5) +

+ 1∗3∗5∗x7 / (2∗4∗6∗7) + 1∗3∗5∗7∗x9 / (2∗4∗6∗8∗9) + ...

Porównać wartość funkcji A(x,n) dla wybranych x i n (np. x=0.9; n=8) z wartością standardowej funkcji asin(x). Dla dużych n powinno być asin(x) ≈ A(x,n). Prototyp funkcji:

double A(double x, int n).

5. Opracować funkcję, która rysuje w trybie znakowym wykres funkcji sin(x) w przedziale od 0 do k*M_PI, gdzie M_PI jest stałą pi, natomiast k jest liczbą naturalną wczytywaną z klawiatury.

Przyjąć, że: oś Y przechodzi przez początek ekranu i jest skierowana w dół ekranu, natomiast oś X przechodzi przez środek ekranu i jest skierowana w prawo. Prototyp funkcji: void Rysuj(int k).

6. Opracować funkcję, która wyznacza sumę cyfr liczby naturalnej x, np. dla x=237 suma cyfr wynosi 12. W programie głównym wywołać funkcję dla x wczytywanego z klawiatury. Prototyp funkcji: int SC(int x). Zrealizować: a) wariant iteracyjny funkcji; b) wariant rekurencyjny funkcji.

Cytaty

Powiązane dokumenty

Opracować program umożliwiający przekazanie do programu trzech liczb typu int za pomocą argumentów funkcji main(int argc, char *argv[]), gdzie argc – liczba

Nie zmieniając zawartości tablicy struktur i nie kopiując jej do innej tablicy zmodyfi- kować tablicę indeksów w taki sposób, aby kolejne pozycje w tablicy ind określały

Opracować program, który zapisze do pliku binarnego dane w formacie: rozmiar danej typu tdana (zmienna typu unsigned), liczba danych w pliku (zmienna typu long), ciąg danych

Opracować funkcję, która wyznacza wszystkie liczby pierwsze z przedziału [2,N] w oparciu o metodę „sita” (opis: wpisać wszystkie liczby z przedziału [2,N] do tablicy t[N+1],

Napisać program, który losuje k cyfr liczby binarnej do tablicy unsigned char dane[N], gdzie 1&lt;= k &lt;= N, a następnie oblicza wartość dziesiętną liczby.. Zadanie zrealizować z

przydzielić dynamicznie pamięć zmiennym typu char, int, long, float, double oraz zapamię- tać ich adresy w odpowiednich wskaźnikach. W przypadku, gdy alokacja pamięci powiedzie

a) tworzącą dynamiczną tablicę 2-wymiarową typu int A[nw][nk] o liczbie wierszy i liczbie kolumn wczytywanych do zmiennych int nw, nk; funkcja typu int** zwraca adres po-

Prototyp funkcji: void oblicz(double min, double max, int n, tx T, wskaźnik_funkcji). W programie głównym wykonać obliczenia dla funkcji sin w przedziale [-pi/2, pi/2].