onomato90

Pętle (by Piotrek)

Jul 15th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.06 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace petle
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             //Pętla while
  14.             // wykona się tylko wtedy, gdy warunek będzie spełniony
  15.             Console.WriteLine("Pętla while()");
  16.             int warunekWhile = 0;
  17.             while(warunekWhile < 25)
  18.             {
  19.                 Console.WriteLine(warunekWhile);
  20.                 warunekWhile++;
  21.                 if (warunekWhile % 5 == 0)
  22.                     Console.WriteLine("Zwróciło 0");
  23.             }
  24.  
  25.             //Pętla do...while()
  26.             // wykona się zawsze przynajmniej jeden raz
  27.             Console.WriteLine("Pętla do...while()");
  28.             // Klasa Random - pseudolosowy generator liczb;
  29.             // najpierw zmienną o typie Random
  30.             Random zmiennaLosowa = new Random();
  31.  
  32.             // warunek dla pętli (typ logiczny bool - może przyjmować tylko
  33.             //wartość false (fałsz), lub true (prawda)
  34.             bool warunek = false;
  35.            
  36.             int liczba = 0;
  37.  
  38.             // Słowo do - początek pętli
  39.             do
  40.             {
  41.                 Console.WriteLine("W pętli do...while()");
  42.                 // Convert - klasa Convert konwertuje podstawowe typy danych;
  43.                 // wywołujemy metodę ToIn32; jako argument tej metody przesyłana
  44.                 //jest losowana liczba z zakresu od -100 do 100
  45.                 liczba = Convert.ToInt32(zmiennaLosowa.Next(-10, 10));
  46.                 Console.WriteLine("Wylosowano: {0}", liczba);
  47.                 if (liczba < 10 && liczba > 0)
  48.                 {
  49.                     Console.WriteLine("Ok");
  50.                     warunek = true;
  51.                 }
  52.                 else
  53.                 {
  54.                     warunek = false;
  55.                     Console.WriteLine("Wychodzimy");
  56.                 }
  57.             } while (warunek); // wykonuje, dopóki warunek ma wartość true
  58.  
  59.             //Pętla foreach
  60.            
  61.             int[] tab = new int[4];
  62.             Random rnd = new Random();
  63.             // wypełniamy tablicę losowymi liczbami
  64.             for (int i = 0; i < tab.Length; i++)
  65.                 tab[i] = rnd.Next(-10, 10);
  66.             // Początek pętli foreach
  67.             // pętla wykorzystywana najczęściej przy kolekcjach danych
  68.             // w nawiasach zwykłych najpierw tworzymy zmienną,
  69.             // do której przypisywana jest za każdym razem wartość poszczególnych
  70.             // elementów tablicy
  71.             foreach (int element in tab)
  72.             {
  73.                 Console.WriteLine("Pętla foreach()");
  74.                 Console.WriteLine("\n" + element);
  75.             }
  76.  
  77.  
  78.             // continue i break;
  79.             // continue
  80.             // po napotkaniu tego słowa kluczowego program
  81.             // przeskakuje do wykonania następnej iteracji
  82.  
  83.             Random rnd2 = new Random();
  84.             int[] tab2 = new int[10];
  85.             for (int i = 0; i < tab2.Length; i++)
  86.                 tab2[i] = rnd2.Next(-100, 100);
  87.  
  88.             // wypisujemy - dla przykładu - całą tablicę
  89.             Console.WriteLine("Cała tablica:");
  90.             for(int i = 0; i < tab2.Length; i++)
  91.             {
  92.                 Console.WriteLine(tab2[i]);
  93.             }
  94.  
  95.             // Przykład działania continue
  96.             // korzystam z dzielenia modulo (%);
  97.             // w tym przypadku zwracana jest reszta z dzielenia przez 2
  98.             // Jeśli wynik jest równy 0, mamy liczbę parzystą.
  99.             // Program omija kolejne linijki kodu w pętli i wykonuje kolejną iterację
  100.             Console.WriteLine("\nInstrukcja continue");
  101.             for(int i = 0; i < tab2.Length; i++)
  102.             {
  103.                 Console.WriteLine("Początek...");
  104.                 if (tab2[i] % 2 != 0)
  105.                     continue;
  106.                    
  107.                 Console.WriteLine("wartość tab2: {0}", tab2[i]);
  108.             }
  109.  
  110.             // break
  111.             // Ponownie wypisujemy całość wylosowanej tablicy
  112.             for (int i = 0; i < tab2.Length; i++)
  113.                 Console.WriteLine(tab2[i]);
  114.             // break powoduje natychmiastowe wyskoczenie z pętli,
  115.             // pętla dalej nie jest już wykonywana
  116.             // w tym przypadku również sprawdzamy, czy mamy do czynienia
  117.             // z liczbą parzystą - jeśli tak, to wyskakujemy z pętli
  118.             // efekt jest taki, że zostaną wypisane tylko liczby nieparzyste,
  119.             // do momentu wystąpienia pierwszej liczby parzystej
  120.             Console.WriteLine("\nInstrukcja break");
  121.             for (int i = 0; i < tab2.Length; i++)
  122.             {
  123.                 if (tab2[i] % 2 == 0)
  124.                     break;
  125.                 Console.WriteLine(tab2[i]);
  126.             }
  127.  
  128.             // Instrukcja switch
  129.             // switch - służy do porównywania zmiennej z wieloma wartościami
  130.             // w tym przypadku najpierw w pętli do...while() prosimy użytkownika o wpisanie
  131.             // liczby - po wpisaniu liczby wywoływany jest switch. Do switcha
  132.             // przekazujemy wartość wprowadzoną przez użytkownika.
  133.             // Jeśli użytkownik wpisze "1", wywoływane są instrukcje, znajdujące się w blodu case 1:
  134.             // jeśli wpisze "2", wykonywane są instrukcje z bloku case 2:
  135.             // itd
  136.             // należy pamiętać o umieszczeniu słowa break na koncu instrukcji dla każdego bloku case idefault
  137.             // blk default wykonywany jest wtedy gdy wporwadzona przez użytkownika wartość nie pasuje do żadnego case.
  138.             bool wykonajPetle = true;
  139.             int liczbaWyb;
  140.             do
  141.             {
  142.                 Console.WriteLine("\nWpisz liczbę od 1 do 4, 6 - wyjście");
  143.                 liczbaWyb = Int32.Parse(Console.ReadLine());
  144.                 switch(liczbaWyb)
  145.                 {
  146.                     case 1:
  147.                         Console.WriteLine("Wybrano 1");
  148.                         // można użyć wielu instrukcji                        
  149.                         break; // kończymy case 1
  150.                     case 2:
  151.                         Console.WriteLine("Wybrano 2");
  152.                         break;
  153.                     case 3:
  154.                         Console.WriteLine("Wybrano 3");
  155.                         break;
  156.                     case 4:
  157.                         Console.WriteLine("Wybrano 4");
  158.                         break;
  159.                     case 5:
  160.                         Console.WriteLine("Wyjście");
  161.                         break;
  162.                     default:
  163.                         Console.WriteLine("Błąd, nieprawidłowy wybór");
  164.                         break;
  165.                 }
  166.                 if (liczbaWyb == 6) // jeśli użytkownik wpisał 6, wyskakujemy z pętli
  167.                     wykonajPetle = false;
  168.             } while (wykonajPetle);
  169.  
  170.             Console.WriteLine("Koniec programu");
  171.             Console.ReadKey();
  172.         }
  173.  
  174.     }
  175. }
Add Comment
Please, Sign In to add comment