Instrukcje sterujące
- Instrukcje warunkowe
if
,else
switch
- wybór wielokrotny
- Pętle warunkowe
while
do while
for
foreach
- iteracja po elementach kolekcjibreak, continue
goto
instrukcja skoku
Instrukcja if()
if (x > 0) Console.WriteLine("Wartość dodatnia");
if (x > 0) Console.WriteLine("Wartość dodatnia"); else Console.WriteLine("Wartość ujemna");
if (x > 0) { Console.WriteLine("Wartość dodatnia"); } else { Console.WriteLine("Małe"); }
Instrukcje zagnieżdżone
if (a > 0) { if (a % 2 == 0) { Console.WriteLine("Wartość zmiennej a jest dodatnia i parzysta"); } else { Console.WriteLine("Wartość zmiennej a jest dodatnia i nieparzysta"); } }
Instrukca if else if
if (kolor == "czerwony") { // Kod zostanie wykonany, jeżeli warunek jest spełniony Console.WriteLine("Wybrałeś kolor czerwony"); } else if (kolor == "zielony") { // Kod zostanie wykonany, jeżeli warunek else if jest spełniony Console.WriteLine("Wybrałeś kolor zielony"); } else if (kolor == "niebieski") { // Kod zostanie wykonany, jeżeli warunek else if jest spełniony Console.WriteLine("Wybrałeś kolor niebieski"); } else { // Kod zostanie wykonany, jeżeli żaden powyższy warunek nie jest spełniony Console.WriteLine("Nie znam tego koloru"); }
Ćwiczenie - miejsca zerowe paraboli
Napisz program do wyznaczania miejsc zerowych równania kwadratowego
$$ y = a x^2 + bx +c$$
Program wczytuje trzy liczby rzeczywiste określające równanie kwadratowe: $a$, $b$, $c$ a następnie wypisuje informację o ilości miejsc zerowych (lub ich braku) oraz wartości miejsc zerowych $x_1$, $x_2$
Potrzebne do wykonania:
- klasa funkcji matematycznych System.Math
- obliczenie pierwiastka kwadratowego Math.Sqrt(Double)
Instrukcja wyboru switch
string kolor = Console.WriteLine(); switch (kolor) { case "czerwony": Console.WriteLine("Wybrałeś kolor czerwony"); break; case "zielony": Console.WriteLine("Wybrałeś kolor zielony"); break; case "niebieski": Console.WriteLine("Wybrałeś kolor niebieski"); break; default: Console.WriteLine("Nie znam tego koloru"); break; }
Możliwe jest przypisanie kilku przypadków do jedne sekcji instrukjci
string kolor = Console.WriteLine(); switch (kolor) { case "czerwony": case "zielony": Console.WriteLine("Wybrałeś kolor zielony lub czerwony"); break; case "niebieski": Console.WriteLine("Wybrałeś kolor niebieski"); break; default: Console.WriteLine("Nie znam tego koloru"); break; }
Pętla while
Składnia:
while(warunek) { instrukcje; }
Przykład:
int a = 0; while(a < 10) { Console.WriteLine(a); a++; }
Pętla for
Składnia:
for(inicjalizacja; warunek; inkrementacja) { instrukcje; }
Przykład:
for (int i = 0; i < 10; i++) { Console.WriteLine(i); }
Pętla while i for są sobie równoważne
Pętla do while
Składnia:
do { instrukcje; } while(warunek);
Przykład:
int i = 0; do { Console.WriteLine("{0}", i); i++; } while (i < 10);
Iteracja jest wykonana przynajmniej raz
Pętle zagnieżdżone
for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { Console.WriteLine(i + j); } }
Instrukcja break
Instrukcja break przerywa działanie pętli
for (int i = 0; i < 10; i++) { if (i == 5) break; Console.WriteLine(i); }
Wyjście programu
0 1 2 3 4
Instrukcja continue
Instrukcja continue przechodzi do kolejnej iteracji pętli
for (int i = 0; i < 10; i++) { if (i == 5) continue; // pominie krok i==5 Console.WriteLine(i); }
Wyjście programu
0 1 2 3 4 6 7 8 9
Ćwiczenie
Napisz program, który wyświetli tabliczkę mnożenia dla liczb od 1 do $N$, gdzie $N$ podaje użytkownik.
Przykład działania:
Podaj liczbę N=4 1 2 3 4 1 1 2 3 4 2 2 4 6 8 3 3 6 9 12 4 4 8 12 16
Zadanie 3: Procent składany
Napisz program, który wyznacza wartość zgromadzonego kapitału w kolejnych latach inwestycji zgodnie z zasadą procentu składanego.
Program wczytuje następujące dane wejściowe:
- wartość początkowa kapitału $V_0$ w momencie rozpoczęcia inwestycji w PLN
- średnioroczne oprocentowanie $R$ (wartość rzeczywista podana w procentach)
- ilość lat inwestycji (wartość całkowita dodatnia)
Zakładamy, że odsetki naliczane na koniec roku są całkowicie reinwestowane i powiększają kapitał oprocentowany w kolejnych latach.
Wartość kapitału $V_k$ w roku $k$ wynosi: $$ V_k = V_{k-1} + R\cdot V_{k-1}$$ gdzie $R$ jest stopą rocznego oprocentowania.
Dla podanych wartości wejściowych program wypisuje w kolejnych liniach 3 wartości:
- numer kolejnego roku
- aktualną wartość kapitału na koniec roku
- całkowity zysk względem kapitału początkowego $\frac{V_k-V_0}{V_0}$ w procentach
Przykład działania programu:
Kapitał początkowy: 100 Oprocentowanie roczne: 5,1 Ile lat: 10 1 105,10 zł 5,1% 2 110,46 zł 10,5% 3 116,09 zł 16,1% 4 122,01 zł 22,0% 5 128,24 zł 28,2% 6 134,78 zł 34,8% 7 141,65 zł 41,7% 8 148,87 zł 48,9% 9 156,47 zł 56,5% 10 164,45 zł 64,4%
Zadbaj o formatowanie wyjścia tak aby wyglądalo podobnie do powyższego przykładu.
Link aktywujący zadanie https://moodle.umk.pl/mod/assign/view.php?id=120995