You are on page 1of 1

Analiza programu implementującego obliczenie całki oznaczonej

funkcji
𝒇(𝒙) = 𝟐( 𝒆^𝒙/(𝟏 + 𝒆^𝒙)) − 𝟏
metodą prostokątów, trapezów i Simpsona
Wymagania na program:
1. Aplikacja w języku Python uruchamiana w Shellu IDLE
2. Parametrami wejściowymi są:
 liczba podziałów - n
 wartości krańcowe przedziału – a, b
3. Na wyjściu program wypisuje następujące wartości:
 Wzór funkcji, której całkę oblicza,
 Metodę obliczeń
 liczbę podziałów - n
 wartości krańcowe odcinka – a, b
 wartość obliczonej całki.
4. Program musi być podzielony na jednostki strukturalne (funkcje), zgodnie z
zasadami
programowania strukturalnego.
1. Napisz w języku Python program spełniający podane powyżej wymagania
Napisz program, który implementuje algorytmy opisane diagramami z Zadania 1.
Uwaga:
 W programie nie wolno używać list
 Zbuduj pętle w sposób omówiony na wykładzie.
2. Wykonaj podstawowy test programu
W oparciu o materiał z wykładu wykonaj podstawowy test programu i potwierdź
poprawność
implementowanego algorytmu.

Umieść w sprawozdaniu szczegółowy opis testów, jakie wykonałaś/eś. Zamieść uzyskane
wyniki i wyjaśnij na czym polegała weryfikacja poprawności algorytmu i programu.

Napisz, co było przesłanką do uznania, że oprogramowany algorytm jest poprawny.

Napisz, co było przesłanką do uznania napisanego przez Ciebie programu za poprawny.

Jeżeli skorzystałaś/eś z zewnętrznego źródła, jako weryfikatora wyników, to wskaż
je i zamieść
w sprawozdaniu informacje z tego źródła. Dołącz zrzuty ekranu potwierdzające dane
umieszczone w sprawozdaniu. (Powołanie się na źródło bez dowodu nie będzie
zaliczone.)
3. Przeanalizuj algorytm
Wykonaj obliczenia dla następujących parametrów:
𝑎𝑏 = −2, 𝑏 = 1
𝑛𝑛 = 5, 10, 100, 10000
Przeanalizuj wyniki
Algorytmy i struktury danych – zadanie zaliczeniowe AiSD7_Z1
6/9

Umieść w sprawozdaniu tabelę zawierającą zestawienie wyników uzyskanych dla każdego
z
algorytmów dla wartości liczby podziałów n wynoszących 5, 10, 100, 10000 przy
założeniu, że
całka jest obliczana w przedziale <-2, 1>.

Porównaj wyniki i sformułuj wnioski. Który z algorytmów dawał najlepszy wynik przy
najmniejszej liczbie iteracji i dlaczego?

You might also like