Powrót do C#

Pętla for, foreach

Pętla for wykonuje zestaw instrukcji określoną liczbę razy i ma składnię:

 

Najpierw deklarujemy zmienną, która jest inicjatorem, może znajdować się wewnątrz lub na zewnątrz pętli, ale musi być wskazana. Następnie warunek oblicza jego wartość, a instrukcja jest wykonywane, jeśli warunek jest spełniony. Po wykonaniu pętli następuje aktualizacja zmiennej, nazywany również zmienną kontrolującą pętlę. Jego stan jest ponownie oceniany, a działanie pętli powtarza się, zatrzymując dopiero wtedy, gdy warunek stanie się fałszywy.

Inicjatorem jest zmienna „i”, deklarujemy jej wartość, następnie określamy warunek, który będzie rozpatrywany, w tym wypadku pętla jest wykonywana, kiedy zmienna i jest mniejsza lub równa 10, przyrost określa ostatni element 'x++’ który można zapisać jako 'x=x+1′. Inicjator, nie musi znajdować się w pętli, można zadeklarować go wcześniej:

Przyrost można umieścić wewnątrz instrukcji:

Również warunek można umieścić w pętli, należy w tym celu zastosować instrukcję IF:

Utworzenie pętli bez elementów składowych (głównie warunku) lub nieprawidłowo skonstruowany warunek spowoduje zapętlenie.

Dlatego bardzo ważna jest konstrukcja warunku i jego przyrostów. Jeśli chcielibyśmy, aby nasza pętla liczyła od 10 do zera jej konstrukcja będzie podobna, zmienią się tylko jej składowe:

Tak jak wcześniej „i++ <=> i=i+1„, tak teraz „i– <=> i=i-1” . Jeśli dobrze skonstruujemy składowe naszej pętli, możemy policzyć wszystko, tak jak to sobie zaplanujemy. Poniższy przykład wyświetli w kolumnie wszystkie znaki tekstu:

Wszystkie powyższe przykłady wyświetlają elementy zwiększone lub zmniejszone o jeden. Nic nie stoi na przeszkodzie, aby zwiększać zmienną inicjującą pętle o jedną dziesiętną wartość:

Odmianą pętli for jest pętla foreach, która w dosłownym znaczeniu można przetłumaczyć jako „dla każdego”, różnica polega na tym, że określamy tylko warunek. Podczas tworzenia tego typu pętli trzeba być zorientowanym, co chcemy zrobić, jakie elementy chcemy wykorzystać i jak ich użyć. Jeśli chcielibyśmy wyświetlić wszystkie znaki tekstu, wtedy konstrukcja pętli foreach będzie wyglądała następująco:

Jeśli chcielibyśmy wyświetlić elementy tablicy, do wyświetlenia konkretnego elementu należy podać indeks, który jest liczbą całkowitą:

Jak widzicie, pętla foreach realizuje wyłącznie przyrosty wzrostu o jeden, jeśli chodzi o tablice, można skonstruować tak warunek, że bez zmian w tabeli możemy uzyskać pętle foreach malejącą:

Dla dwu wymiarowej tablicy prościej było, by wykorzystać pętle for i w nią wpisać pętle foreach.

Znając wymiary tablicy, utworzyłem nową tablicę jedno wymiarową, w którą wpisałem elementy z listowanego indeksu, następnie tablicę tą odwróciłem, używając metody Reverse. Więcej wymiarów, oznaczałoby większe skomplikowanie naszego algorytmu, również musielibyśmy się zastanowić, w jaki sposób chcielibyśmy taką tablicę odwrócić. Wrócimy do tablic w późniejszych rozdziałach.


  1. Napisz algorytm wyświetlający wszystkie liczby pierwsze z zakresu od 1 do 1000.
  2. Napisz algorytm wyświetlający liczby pierwsze z zakresu od 2 do 1000. Liczbą pierwszą nazywamy liczbę, która ma dokładnie dwa dzielniki naturalne: jedynkę i siebie samą. Oczywiście możesz posłużyć się metodą jaką chcesz,.Podpowiedz z mojej strony może być taka, że jeśli liczby mniejsze od połowy liczby analizowanej nie są jej dzielnikiem wtedy nie posiada ona dzielnika, jeśli weźmiemy liczbę 11 zaczynając analizę od jednego na 6 kończąc, nie znajdziemy dzielnika (prócz 1), liczby większe od 6, nie mogą być jej dzielnikiem. Oczywiście wszystkie liczby parzyste również odpadają ponieważ mają dzielnik jakim jest 2.

 

Permalink do tego artykułu: https://visualmonsters.cba.pl/c/petla-for-foreach/