Van een toestel krijgen we het stroomverbruik als functie van de tijd gegeven, en hieruit willen we bepalen wanneer het toestel ingeschakeld werd, en wanneer het opnieuw uitgeschakeld werd. Hiertoe gebruiken we een eenvoudige aanpak: zodra de stroomwaarde een gegeven grenswaarde $$grens$$ overschrijdt, veronderstellen we dat het toestel ingeschakeld is. Wanneer de stroomwaarde vervolgens terug een waarde aanneemt die niet groter is dan $$grens$$, veronderstellen we dat het toestel uitgeschakeld werd. Wanneer de stroomwaarde dus gelijk is aan de waarde $$grens$$, veronderstellen we het toestel uitgeschakeld. Het toestel is aangeschakeld voor stroomwaarden strikt groter dan de waarde $$grens$$.

Gegeven is een NumPy-rij die gehele getallen bevat, en waarbij deze getallen de stroomwaarden voorstellen. Deze getallen zijn allen positief of 0. Gevraagd wordt om in deze rij te vinden wanneer het toestel voor het eerst ingeschakeld werd, en wanneer het voor het eerst weer uitgeschakeld werd. Je mag veronderstellen dat het toestel initieel niet ingeschakeld is, en dat het op het eind van de periode wel degelijk uitgeschakeld is. Dit wordt verder geïllustreerd in onderstaande figuur.

Aangeschakeld

Aangeschakeld/div>

Schrijf een functie aangeschakeld() met twee argumenten, namelijk:

Het resultaat van deze methode is een tuple van twee gehele getallen, waarbij het eerste het moment van inschakelen voorstelt, en het tweede het moment van uitschakelen. Deze momenten worden voorgesteld door de index in de NumPy-rij.

Argumenten

Een NumPy-rij met gehele getallen en een grenswaarde (geheel en strikt positief)) die vectoren voorstellen.

Resultaat

Een tuple met moment (index) van inschakelen en het moment van uitschakelen (index).

Voorbeeld

 
aangeschakeld(np.array([1, 1, 2, 1, 1, 3, 2, 1, 4, 6, 8, 8, 9, 9, 9, 10, 9, 8, 7, 6, 6, 6, 5, 2, 1, 2, 1]), 5) = (9, 21)