graph TB
Start([Start]) --> Init["Ustaw kodowanie (chcp 65001)"]
Init --> Load["Wczytaj nazwy funkcji z pliku"]
Load --> Loop{Sprawdź poprawność wyboru}
Loop -->|Tak| WyborGranic["Wybierz sposób wprowadzenia granic"]
WyborGranic --> Wprowadz["Wprowadź granice całkowania"]
Wprowadz --> Oblicz["Oblicz i zaprezentuj wynik"]
Oblicz --> Loop
Loop -->|Nie| Koniec([Koniec programu])
graph TB
Start([Start]) --> Menu["Wyświetl menu funkcji"]
Menu --> Wybor{"Wybór funkcji"}
Wybor -->|a-g| Granice{"Sposób wprowadzenia granic"}
Wybor -->|x| Koniec([Koniec])
Granice -->|Z pliku| Plik{Sprawdź plik}
Granice -->|Ręcznie| Reczywnie["Podaj a i b"]
Plik -->|Istnieje| Wczytaj["Załaduj granice"]
Plik -->|Nie istnieje| Blad["Błąd: Brak pliku"]
Reczywnie --> Warunek{"a < b?"}
Warunek -->|Nie| Reczywnie
Warunek -->|Tak| Podzialy["Podaj liczbę podziałów n"]
Wczytaj --> Podzialy
Podzialy --> Walidacja{"n > 0?"}
Walidacja -->|Nie| BladN["Błąd: Niepoprawne n"]
Walidacja -->|Tak| Obliczenia["Oblicz metodą trapezów"]
Obliczenia --> Prezentacja{"Sposób prezentacji"}
Prezentacja -->|Plik| Zapis["Zapisz do pliku"]
Prezentacja -->|Ekran| Wyswietl["Wyświetl wynik"]
Prezentacja -->|Oba| Oba["Zapisz i wyświetl"]
Zapis --> Koniec
Wyswietl --> Koniec
Oba --> Koniec