wcześniejsze wyjście z pętli FOR
wcześniejsze wyjście z pętli FOR
Cześć
Jestem początkujący i od razu mam takie pytanie. Mam pętle FOR która wykonuje się 10.000 razy, ale w pewnych okolicznościach chcę wyjść z tej pętli wcześniej, zanim indeks dojdzie do 10.000. Jak to zrobić ? Wymyśliłem zastąpienie FOR pętla WHILE, ale jestem ciekawy czy istnieje możliwość wcześniejszego wyjścia właśnie z pętli FOR.
Jestem początkujący i od razu mam takie pytanie. Mam pętle FOR która wykonuje się 10.000 razy, ale w pewnych okolicznościach chcę wyjść z tej pętli wcześniej, zanim indeks dojdzie do 10.000. Jak to zrobić ? Wymyśliłem zastąpienie FOR pętla WHILE, ale jestem ciekawy czy istnieje możliwość wcześniejszego wyjścia właśnie z pętli FOR.
Re: wcześniejsze wyjście z pętli FOR
To raczej niemożliwe i moim zdaniem bez sensu, przecież w pętli while też masz terminal z nr bierzącej iteraji, więc można whilem zrobić wszystko to co forem, że tak powiem - wystarczy dołożyć warunek "> od liczby iteracji" jaka nas interesuje. Nie kombinuj -> tego co wymyślono w prehistorii programowania się nie zmienia. :lol:
Pozdrawiam
Re: wcześniejsze wyjście z pętli FOR
To nie jest kombinowanie. Myślę, że zbyt płytko traktujesz temat. W sumie nie ma róąnicy czy problem dotyczy pętli FOR czy czegokolwiek innego.
Być może pytanie powinno brzmieć:
Jak przerwać wykonywanie się działającego właśnie VI ?
Być może pytanie powinno brzmieć:
Jak przerwać wykonywanie się działającego właśnie VI ?
Re: wcześniejsze wyjście z pętli FOR
Smooth ma rację. Pętla FOR ma ściśle zdefiniowany sposób dzialania, który mówi o tym, że: - pętla wykona się tyle razy ile wynosi wartość N wprowadzona do górnego terminala (jawna deklaracja pętli) - wykona się tyle razy ile jest elementów w tablicy wprowadzonych przez indeksowany tunel (niejawna deklaracja pętli). Różnica jest, jak najbardziej widoczna w ścisłych definicjach.
Pętla WHILE ma działanie pozwalające na wyjście programu z kodu zawartego wewnątrz pętli (warunek STOP).
Istnieje sposób który pozwoli na "wykonanie" kodu wewnatrz pętli FOR w sposób o jakim myślisz, ale jego zastosowanie świadczy o: - nieznajomości dzialania pętli FOR i WHILE - (i/lub) nieprzemyśleniu struktury programu
Pętla WHILE ma działanie pozwalające na wyjście programu z kodu zawartego wewnątrz pętli (warunek STOP).
Istnieje sposób który pozwoli na "wykonanie" kodu wewnatrz pętli FOR w sposób o jakim myślisz, ale jego zastosowanie świadczy o: - nieznajomości dzialania pętli FOR i WHILE - (i/lub) nieprzemyśleniu struktury programu
Re: wcześniejsze wyjście z pętli FOR
A więc chciałbym poznać ten sposób.
Re: wcześniejsze wyjście z pętli FOR
A poza tym - każdy program można napisać w Pascalu nie używając instrukcji GOTO. Mimo to twórcy tego języka przewidzieli możliwość jej stosowania w przypadkach gdy:
- znacznie ułatwi to życie potencjalnemu programiście
- nastąpi nieprzewidziana przez nich sytuacja
Widocznie byli bardziej pokorni niż niektórzy użytkownicy tego forum.
Tak więc zapomnijmy o pętli FOR ... zadam to pytanie w inny sposób:
W jaki sposób można awaryjnie przerwać działanie VI który aktualnie się wykonuje ?
Przykładem testowym niech będzie .... pętla FOR ....
- znacznie ułatwi to życie potencjalnemu programiście
- nastąpi nieprzewidziana przez nich sytuacja
Widocznie byli bardziej pokorni niż niektórzy użytkownicy tego forum.
Tak więc zapomnijmy o pętli FOR ... zadam to pytanie w inny sposób:
W jaki sposób można awaryjnie przerwać działanie VI który aktualnie się wykonuje ?
Przykładem testowym niech będzie .... pętla FOR ....
Re: wcześniejsze wyjście z pętli FOR
Odpowiem tak: "Proponuję zatem Pascala" (poprostu gotuj) ;)gość pisze:A poza tym - każdy program można napisać w Pascalu nie używając instrukcji GOTO. Mimo to twórcy tego języka przewidzieli możliwość jej stosowania w przypadkach...
...który nie przemyślał struktury programu.gość pisze: gdy: - znacznie ułatwi to życie potencjalnemu programiście
...czyli wystąpi konieczność zastosowania pętli WHILE (warunek STOPu związany z ogólnie mówiąc błędem programowym lub sprzętowym).gość pisze: - nastąpi nieprzewidziana przez nich sytuacja
Skoro pojawiło się rzeczowe pytanie:gość pisze:Tak więc zapomnijmy o pętli FOR ... zadam to pytanie w inny sposób W jaki sposób można awaryjnie przerwać działanie VI który aktualnie się wykonuje ?
VIServer, węzeł,
metoda Abort VI.
Re: wcześniejsze wyjście z pętli FOR
Proponuję zatem zgłębienie problemu Pascala. Tylko ja sam znam klikanaście przypadków kiedy użycie GOTO diametralnie poprawiało czytelność kodu lub wręcz umożliwiło jego wykonanie.
W LabVIEW też zapewne można znaleźć wiele przypadków, kiedy zaproponowana przez Ciebie metoda "Abort VI" będzie użyteczna.
Dziekuję za zainteresowanie tematem.
W LabVIEW też zapewne można znaleźć wiele przypadków, kiedy zaproponowana przez Ciebie metoda "Abort VI" będzie użyteczna.
Dziekuję za zainteresowanie tematem.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: wcześniejsze wyjście z pętli FOR
Długa dyskusja na ten temat jest tutaj. Konkluzje to: 1. Przydałoby się zwiększenie funkcjonalności fora... 2. ... , ale póki break'a w forze nie ma, to żaden problem przystosować do tego while'a, bo w końcu po to on jest.
(...) -"A więc chciałbym poznać ten sposób." -"Case" Przy tym sposobie warto się zastanowić gdzie tego Case'a wstawić i pamiętać, że w LV pętla While to, w nomenklaturze C, Do-While.
Pozdrawiam:)
(...) -"A więc chciałbym poznać ten sposób." -"Case" Przy tym sposobie warto się zastanowić gdzie tego Case'a wstawić i pamiętać, że w LV pętla While to, w nomenklaturze C, Do-While.
Pozdrawiam:)
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: wcześniejsze wyjście z pętli FOR
Oto nastała światłość (lepiej późno, niż wcale)! Życzeniu Gościa i wielu innych użytkowników LV (w tym mnie) stało się zadość - w LabView 8.5 pojawił się w końcu upragniony break w pętli for.
(To tak tytułem aktualizacji tego wątku.)
(To tak tytułem aktualizacji tego wątku.)
- Koza
- Administrator
- Posty: 152
- Rejestracja: 20 gru 2006 00:00
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Olsztyn
Re: wcześniejsze wyjście z pętli FOR
Pozwolę sobie przypomnieć raz jeszcze Użytkownikom forum, że jest możliwość składania propozycji zmian/ulepszeń w produktach NI. Jak widać na przykładzie pętli for można sugerować pewne rozwiązania ułatwiające pracę z LabVIEW (i nie tylko).
Tutaj link:
http://digital.ni.com/applications/psc. ... t?OpenForm
(wymaga logowania).
Pozdrawiam,
Koza
Tutaj link:
http://digital.ni.com/applications/psc. ... t?OpenForm
(wymaga logowania).
Pozdrawiam,
Koza
Re: wcześniejsze wyjście z pętli FOR
A tutajlink do opisu nowej funkcjonalności pętli FOR.