Funkcja różnicowa w C ++

Funkcja różnicowa w C ++
Podczas obliczania lub wykonywania dowolnej operacji możemy potrzebować dowolnej funkcji, aby obliczyć całkowity czas, który minął do teraz lub zapewnić różnicę czasu w sekundach. W C ++ mogą istnieć różne sposoby wykonywania tego zadania niewłaściwie. Ale omówimy wbudowaną funkcję C ++, czyli funkcja difftime (), ponieważ nazwa wskazuje, że oblicza różnicę w czasie. Ta funkcja jest zdefiniowana w bibliotece . Więc ilekroć będziemy gotowi obliczyć czas, będziemy potrzebować tej biblioteki w kodzie źródłowym.

Składnia Difftime ()

Double Difftime (Time_Obj End, Time_Obj Start);

Funkcja przyjmuje w niej dwa parametry. Są to obiekty zadeklarowane przez obiekt czasu „Time_Obj”. Jednym z nich jest „koniec”, który pokazuje czas końcowy każdego procesu. Jednocześnie drugi to „start”, który reprezentuje czas rozpoczęcia. Wartość zwracająca funkcję difftime () zwraca różnicę między czasem w sekundach uzyskanych z dwóch obiektów, jak opisano powyżej.

Ta funkcja jest powiązana z wbudowanym czasem funkcji () w C ++, ponieważ funkcja ta zwraca bieżący czas kalendarza. Jest to również obecne w pliku nagłówka C++.

Wdrożenie funkcji difftime ()

Przykład 1 # difftime () dla produktów

Aby znaleźć różnicę między dwa razy w sekundach, konieczne jest dodanie biblioteki, w której definiowana jest funkcja difftime (). W języku programowania C ++ należy użyć tej biblioteki.

#włączać
#włączać

Jak omówiono wcześniej, w programie głównym konieczne są dwa obiekty, start i wykończenie, aby obliczyć różnicę między czasami. Te dwa obiekty są zadeklarowane za pomocą Time_Time.

Time_t start, zakończ

Deklarowana jest inna zmienna z produktem nazwy długiego typu danych. Ilekroć logika, którą chcemy zastosować w programie, zostanie to zapisane w treści obiektów początkowych i wykończenia.

Czas (i start);
Czas (i wykończenie);

Ponieważ obiekt czasu rozpoczęcia rozpoczyna się i trwa, gdy funkcja/ operacja jest w toku po zakończeniu procesu, gotowy obiekt zauważa czas zakończenia. Na przykład w tym programie wyjaśniono poniżej, użyliśmy prostej zagnieżdżonej pętli, aby obliczyć iloczyn dwóch wartości. Te dwie wartości zaczynają się od 0 i kończą się na dużej wartości. Zewnętrzna pętla „dla” kończy się przed 1000, a pętla wewnętrzna kończy się na 30000; Wewnątrz pętli „dla”, ciało w każdej iteracji, liczba z zewnętrznego i liczba z pętli wewnętrznej są mnożone. Zmienne „i” i „j” są oznaczone każdą liczbą po każdej iteracji, nowa liczba w każdym cyklu. Wynikowy jest przechowywany w zmiennej „produktu”

Produkt = i * j;

Wymagany czas, który chcemy uzyskać, jest obliczany na podstawie funkcji różnej. Ponieważ ta funkcja zawiera dwa parametry, więc funkcja będzie:

Diftime (zakończ, start);

Ta funkcja zwróci czas uzyskany przez odejmowanie czasu rozpoczęcia od czasu zakończenia.

Teraz zapisz kod źródłowy z rozszerzeniem C. Używamy kompilatora G ++ do kompilacji pliku C ++ i wykonania go. Plik, którego tu użyliśmy, to „DIF. C ', który zawiera kod źródłowy, jest kompilowany, a wyjście jest przechowywane w pliku wyjściowym przez „-O”.

$ g ++ -o dif dif.C
$ ./dif

Możesz zobaczyć, że wymagany czas wynosi 0 sekund. Oznacza to, że zagnieżdżona pętla obliczy produkt za 0 sekund. W powyższym kodzie wartość w zewnętrznej pętli jest mniejsza niż wewnętrzna, więc różnica czasu wynosiła zero, ponieważ można ją łatwo obliczyć. Co jeśli wartość w wewnętrznej pętli staje się mniejsza niż zewnętrzna pętla? Wyjaśnimy dalej. Reszta wymagań jest takie same. Produkt zostanie obliczony w pętli. Użyjemy obiektów Start i Finish, aby zwrócić uwagę na wartości początkowe i końcowe.

Teraz zapisz kod i uruchom go. Podczas egzekucji zobaczysz, że zajmie to trochę czasu. W porównaniu z poprzednią sytuacją zajmuje to tylko zerowe sekundy, a wynik był wyświetlany nagle, ale w tym przypadku wydaje się, że musi być więcej niż zero sekund.

Po pewnym oczekiwaniu zobaczysz wynikowe stwierdzenie. Zgodnie z tym pętle zajęły 62 sekundy, aby zostać wykonane, aby można było obliczyć produkt dwóch wartości podczas każdej iteracji.

Przykład 2 # difftime () dla zagnieżdżonych pętli

W przeciwieństwie do poprzedniej instrukcji, użyliśmy innej biblioteki tutaj.

Nie ma potrzeby określania „iostream” i „ctime” ani żadnej innej biblioteki za pomocą tej biblioteki. Obie zmienne są inicjowane. W tym przykładzie trzykrotnie użyliśmy zagnieżdżonych pętli. Każda zagnieżdżona pętla kończy się i zaczyna się następna zagnieżdżona pętla. Każda pętla wewnątrz zagnieżdżonej pętli ma inną wartość dla zmiennej i; Dla zmiennej J wartości są takie same dla pętli wewnętrznej.

Ponadto nie obliczyliśmy niczego ani żadnej operacji. Miało miejsce tylko wykonanie pętli. Zmienne początkowe i końcowe będą obserwować czas początkowy i końcowy.

Po każdym wykonaniu, na koniec, funkcja difftime () jest wywoływana w celu wykonania odpowiedzi.

Różnica (zakończenie, start)

Wykonamy kod źródłowy, aby zobaczyć sekundy zużyte podczas wykonywania trzech zagnieżdżonych pętli.

W ogóle potrwa to 10 sekund dla wszystkich trzech pętli.

Przykład 3 # difftime () przez pewien czas między datami

Aby obliczyć różnicę czasu od początku programu do końca, jest już opracowane. Naszym obawą o dyskusję jest obliczenie różnicy w sekundach od jednego konkretnego dnia. Tutaj daty nie są prawidłowo wymienione. Ale program przyniesie bieżącą datę z systemu. Tutaj obliczymy różnicę w czasie w sekundach od Nowego Roku do tej pory.

Obiekt biblioteki czasowej jest używany do pobrania bieżącego czasu, aby można było obliczyć różnicę. Tutaj nie potrzebujemy zmiennych początkowych i końcowych osobno.

Tutaj inicjowana jest struktura czasu „Nowy Rok”. Użyjemy zmiennej „teraz”, aby uzyskać bieżący czas.

Już czas);

Obiekt „TM” struktury noworocznej zadeklaruje godziny, min, sekundy i miesiąc jako zero. Różnica funkcji zostanie wywołana, która zajmie teraz (aktualny czas), a kolejna wbudowana funkcja wewnątrz parametru, aby uzyskać nowy rok w kilka sekund.

Sekundy = difftime (teraz, MkTime (& Newyear));

Teraz wykonaj program; Zobaczysz, że 6036632 sekundy są przekazywane do tej pory zgodnie z bieżącą datą twojego systemu.

Wniosek

„difftime () C ++” jest funkcją, która dotyczy pobierania czasu w sekundach uzyskanych przez odejmowanie czasu rozpoczęcia od czasu zakończenia; Te dwie zmienne typu obiektu czasowego są używane do zapewnienia czasu w sekundach. Teraz podsumowując artykuł, porozmawiamy o niektórych przykładach, które zawarliśmy w artykule. Ta funkcja pomaga również w zapewnieniu czasu z określonej daty do tej pory, jak omówiono powyżej w przykładzie.