using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Macierz
{
private double[] macierz = new double[4];
public Macierz(double[] mac)
{
macierz = mac;
}
public double obliczWyznacznik()
{
return macierz[0] * macierz[3] - macierz[1] * macierz[2];
}
public bool sprawdzCzyJednostkowa()
{
if (macierz[0] == 1 && macierz[1] == 0 && macierz[2] == 0 && macierz[3] == 1)
return true;
return false;
}
}
class PracownikSklepu
{
private string imie, nazwisko, stanowisko;
private char plec;
private double zarobki;
PracownikSklepu(string imie, string nazwisko, double zarobki = 2500, char plec = 'm')
{
this.imie = imie;
this.nazwisko = nazwisko;
this.plec = plec;
this.zarobki = zarobki;
}
public string Stanowisko
{
get
{
return stanowisko;
}
set
{
stanowisko = value;
}
}
public string Nazwisko
{
get
{
return nazwisko;
}
}
public double Zarobki
{
get
{
return zarobki;
}
}
public void ileZarabia()
{
string info;
if (zarobki <= 2000)
info = "Zarabia bardzo mało!";
else if (zarobki >= 3500)
info = "Zarabia bardzo dużoooo!";
else
info = "Zarabia średnio!";
Console.WriteLine(info);
}
class Stoper
{
DateTime[] czas = new DateTime[2];
public void Start()
{
czas[0] = DateTime.Now;
}
public void Stop()
{
czas[1] = DateTime.Now;
}
public void wyswietlCzas()
{
if (czas[1] != null)
Console.WriteLine("Pomiar: "+(czas[1]-czas[0]));
else
Console.WriteLine("Nie zakończono stopera!");
}
}
class Program
{
static void Main(string[] args)
{
Stoper s = new Stoper();
s.Start();
for (int i = 0; i < 100000; i++) new Random();
s.Stop();
s.wyswietlCzas();
Console.ReadKey();
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
public class Ksiazka
{
public string tytul;
public string autor;
public Ksiazka(string tyt, string aut="Nieznany")
{
tytul = tyt;
autor = aut;
}
}
class Kolo
{
double promien;
const double pi = 3.1416;
public Kolo(double r)
{
//promien = r;
}
public void obliczObwod()
{
Console.WriteLine("Obwód koła wynosi: {0}", 2 * pi * promien);
}
public void wyswietlPromien()
{
Console.WriteLine("Promień wynosi: {0}", promien);
}
}
class Walec
{
double promien;
double wysokosc;
const double pi = 3.1416;
public Walec(double r, double h)
{
promien = r;
wysokosc = h;
}
public void obliczPolePodstawy()
{
Console.WriteLine("Pole podstawy walca wynosi: {0}", pi * promien * promien);
}
public double obliczPolePodstawy(double promien)
{
return (pi * promien * promien);
}
public void obliczObjetosc()
{
Console.WriteLine("Objętość wynosi: {0}", obliczPolePodstawy(promien) * wysokosc);
}
}
class Punkt
{
double x, y;
public Punkt(double x, double y)
{
this.x = x;
this.y = y;
}
public void obliczOdleglosc()
{
Console.WriteLine("Wynik: {0}", Math.Abs(Math.Sqrt(x * x + y * y)));
}
public void obliczOdleglosc(double A, double B, double C)
{
Console.WriteLine("Wynik: {0}", Math.Abs((A*x + B*y + C)/Math.Sqrt(A*A + B*B)));
}
}
class Pracownik
{
string imie, nazwisko;
int rok_zatrudnienia;
public Pracownik(string imieN, string nazwiskoN, int rok_zatrudnieniaN)
{
imie = imieN;
nazwisko = nazwiskoN;
rok_zatrudnienia = rok_zatrudnieniaN;
}
public int ilePracuje()
{
if (rok_zatrudnienia > DateTime.Now.Year)
return 0;
return DateTime.Now.Year - rok_zatrudnienia;
}
public void wyswietlDane()
{
Console.WriteLine("Pracownik {0} {1} pracuje juz lat: {2}.",imie,nazwisko,ilePracuje());
}
}
class Przestepca
{
DateTime dataRozpoczecia;
int wymiarKary;
public Przestepca(DateTime dataRozpoczecia, int wymiarKary)
{
this.dataRozpoczecia = dataRozpoczecia; //słowo kluczowe "this" wskazuje na bieżącą klasę - klasa odwołuje się do własnego pola -tutaj konieczne z uwagi na konflikt nazw (pola nazywają się tak samo, jak argumenty konstruktora)
this.wymiarKary = wymiarKary;
}
public void sprawdzCzyZakonczyl()
{
DateTime dataZakonczenia = dataRozpoczecia.AddMonths(wymiarKary);
/*
DOKOŃCZ
*/
}
}
class Program
{
static void Main(string[] args)
{
Pracownik hehlel = new Pracownik("Jan", "Kowal", 2007);
hehlel.wyswietlDane();
Console.ReadKey();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
public class Ksiazka
{
public string tytul;
public string autor;
public Ksiazka(string tyt, string aut="Nieznany")
{
tytul = tyt;
autor = aut;
}
}
class Kolo
{
double promien;
const double pi = 3.1416;
public Kolo(double r)
{
//promien = r;
}
public void obliczObwod()
{
Console.WriteLine("Obwód koła wynosi: {0}", 2 * pi * promien);
}
public void wyswietlPromien()
{
Console.WriteLine("Promień wynosi: {0}", promien);
}
}
class Walec
{
double promien;
double wysokosc;
const double pi = 3.1416;
public Walec(double r, double h)
{
promien = r;
wysokosc = h;
}
public void obliczPolePodstawy()
{
Console.WriteLine("Pole podstawy walca wynosi: {0}", pi * promien * promien);
}
public double obliczPolePodstawy(double promien)
{
return (pi * promien * promien);
}
public void obliczObjetosc()
{
Console.WriteLine("Objętość wynosi: {0}", obliczPolePodstawy(promien) * wysokosc);
}
}
class Punkt
{
double x, y;
public Punkt(double xt, double yt)
{
x = xt;
y = yt;
}
public void obliczOdleglosc()
{
Console.WriteLine("Wynik: {0}", Math.Abs(Math.Sqrt(x * x + y * y)));
}
public void obliczOdleglosc(double A, double B, double C)
{
Console.WriteLine("Wynik: {0}", Math.Abs((A*x + B*y + C)/Math.Sqrt(A*A + B*B)));
}
}
class Pracownik
{
string imie, nazwisko;
int rok_zatrudnienia;
public Pracownik(string imieN, string nazwiskoN, int rok_zatrudnieniaN)
{
imie = imieN;
nazwisko = nazwiskoN;
rok_zatrudnienia = rok_zatrudnieniaN;
}
public int ilePracuje()
{
if (rok_zatrudnienia > DateTime.Now.Year)
return 0;
return DateTime.Now.Year - rok_zatrudnienia;
}
public void wyswietlDane()
{
Console.WriteLine("Pracownik {0} {1} pracuje juz lat: {2}.",imie,nazwisko,ilePracuje());
}
}
class Przestepca {
}
class Program
{
static void Main(string[] args)
{
Pracownik hehlel = new Pracownik("Jan", "Kowal", 2007);
hehlel.wyswietlDane();
Console.ReadKey();
}
}
}
Ćwiczenia
1. Przeanalizuj działanie poniższego kodu. Czym różni się działanie dwóch wykorzystanych metod?
static void zwiekszWartosc(int liczba) //przekazywanie argumentu przez wartość
{
liczba++;
Console.WriteLine(liczba);
}
static void zwiekszWartosc(ref int liczba) //przekazywanie argumentu przez referencję
{
liczba++;
Console.WriteLine(liczba);
}
static void Main(string[] args)
{
int liczba = 5;
Console.Write("Wynik metody1: ");
zwiekszWartosc(liczba);
Console.Write("Zmienna po działaniu metody1: ");
Console.WriteLine(liczba);
Console.Write("Wynik metody2: ");
zwiekszWartosc(ref liczba);
Console.Write("Zmienna po działaniu metody2: ");
Console.WriteLine(liczba);
Console.ReadKey();
}
UWAGA:
Tablice są domyślnie przekazywane przez referencję.
2. Wyobraź sobie, że tworzysz system, który przetwarza dane pracowników firmy, w której pracuje 50 kobiet i 3 mężczyzn. W systemie ma istnieć metoda, która wyświetla imię, nazwisko i płeć pracownika, wprowadzanego przez użytkownika.
static void wyswietlDane(string imie, string nazwisko, char plec = 'K')
{
Console.WriteLine("Imię: {0} Nazwisko: {1} Płeć: {2}", imie, nazwisko, plec);
}
static void Main(string[] args)
{
wyswietlDane("Anna", "Kowalska");
wyswietlDane("Jan", "Nowak", 'M');
Console.ReadKey();
}
UWAGA:
Argumenty przyjmujące wartości domyślne muszą być umieszczone na końcu listy argumentów w deklaracji metody.
3. Napisz program, zawierający metodę pozwalającą na wyliczenie silni z liczby naturalnej.
a) rozwiązanie iteracyjne (obliczanie krok po kroku)
// SAMODZIELNIE
b) rozwiązanie rekurencyjne (obliczanie przez wywołanie samej siebie)
static int silnia(int liczba)
{
if (liczba == 0 || liczba == 1)
{
return 1;
}
else
{
return liczba * silnia(liczba - 1);
}
}
static void Main(string[] args)
{
Console.WriteLine(silnia(4));
Console.ReadKey();
}
-
Zadania
1. Napisz metodę przelicznikWalut(), która będzie przeliczała przekazaną jako argument wartość w złotówkach na dowolną walutę. Domyślnie metoda ma przeliczać złotówki na Euro, ale może to być również dowolna inna waluta o nazwie i kursie określonym przez użytkownika w argumentach metody.
Przykłady wywołań:
a)
przelicznikWalut(2.25)
WYNIK:
2,25 PLN to 0,54 EUR
b)
przelicznikWalut(2.25,0.279,"USD")
WYNIK:
2,25 PLN to 0,63 USD
2. Napisz program, w którym przetestujesz, czy rzeczywiście tablice domyślnie przekazywane są przez referencję.
3. W firmie, w której pracujesz dotychczas pracownikom przypisywano identyfikatory według schematu: imie_nazwisko_unikatowyNumer, np. Jan_Nowak_21. Nastąpiły zmiany organizacyjne i od teraz identyfikator ma przyjmować postać: małaPierwszaLiteraImieniaNazwiskoMałąLiterąNumer, np. jnowak21. Tobie zlecono przygotowanie programu, który automatycznie przerobi stare identyfikatowy na nowe. Napisz metodę, która przyjmuje argument typu string (stary identyfikator) przez referencję i generuje nowy identyfikator.
Wskazówka:
Metoda char.ToLower(char c) pozwala na zamianę pojedynczego znaku na mały.
4. Napisz program, który wylicza wartość n-tego wyrazu ciągu Fibonacciego z użyciem metody rekurencyjnej.
5. Liczby trójkątne tworzą ciąg nieskończony: 1,3,6,10,15,21,28,... n-ty wyraz ciągu otrzymujemy dodając n do poprzedniego wyrazu. Napisz program (przy użyciu rekurencji), który prosi o podanie wartości n i zwraca n-ty wyraz ciągu liczb trójkątnych.
6. Napisz program z metodą, która przyjmuje jako argument jednowymiarową tablicę liczb całkowitych. Wewnątrz metody program ma pytać użytkownika o to, który element tablicy chce wyświetlić (użytkownik podaje indeks). Zabezpiecz program przed podaniem indeksu spoza zakresu tablicy. Wykorzystaj w tym celu konstrukcję try-catch-finally (poznaną na zajęciach na temat instrukcji warunkowych), wychwytującą wyjątek IndexOutOfRangeException.
7. Co będzie wynikiem uruchomienia poniższych programów? Odpowiedz, nie uruchamiając kodu, a następnie sprawdź poprawność swojej odpowiedzi.
a)
static int obliczWyraz(int n)
{
if (n == 1)
{
return 3;
}
else
{
return (2 * obliczWyraz(n - 1));
}
}
static void Main()
{
Console.WriteLine(obliczWyraz(4));
Console.ReadKey();
}
b)
static void obliczN(ref int n)
{
n = n++ / 2;
n = n >= 3 ? 2 : 9;
n %= 3;
++n;
}
static void Main()
{
int liczba = 5;
obliczN(ref liczba);
Console.WriteLine(liczba);
Console.ReadKey();
}
c)
static void sprawdzWyraz(string napis, string napis2 = "czekolada")
{
if (napis.Length == napis2.IndexOf('e'))
{
Console.WriteLine("TAK!");
}
else
{
Console.WriteLine("NIE!");
}
}
static void Main()
{
sprawdzWyraz("xD");
sprawdzWyraz("ciastko", "karmel");
Console.ReadKey();
}
int[,] macierz = { { 124, 2 }, { 13, 14 }, { 300, 67 } };
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 2; j++)
{
Console.Write(macierz[i, j] + "\t");
}
Console.WriteLine("");
}
Console.WriteLine("");
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
{
Console.Write(macierz[j, i] + "\t");
}
Console.WriteLine("");
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PiotrekApp
{
class Program
{
static void Main(string[] args)
{
/*
Console.WriteLine("podaj x1 i y1");
int x1 = int.Parse(Console.ReadLine());
int y1 = int.Parse(Console.ReadLine());
Console.WriteLine("podaj x2 i y2");
int x2 = int.Parse(Console.ReadLine());
int y2 = int.Parse(Console.ReadLine());
x1 = (x1 - x2) * (x1 - x2);
y1 = (y1 - y2) * (y1 - y2);
Console.WriteLine("Odp: "+(Math.Sqrt(x1+y1)));
//*/
/*
int x;
Console.WriteLine("Podaj liczbe całkowitą");
while (!int.TryParse(Console.ReadLine(), out x))
{
Console.WriteLine("Podaj liczbe całkowitą!");
}
Console.Clear();
Console.WriteLine("Pierwiastek z liczby "+x+" to "+Math.Sqrt(x));
//*/
/*
bool correctly;
string type;
do
{
Console.WriteLine("Czy posiadasz bagaż rejestrowany?");
type = Console.ReadLine();
if (!(type == "t" || type == "n"))
correctly = false;
else
correctly = true;
Console.Clear();
} while (!correctly);
if (type == "t")
Console.WriteLine("Udaj się do stanowiska odprawy bagażowej");
else
Console.WriteLine("Udaj się do stanowiska kontroli bezpieczeństwa");
//*/
///*
int liczba = int.Parse(Console.ReadLine());
int sum = 0;
fot(int i = 1; i <= liczba / 2; i++){
if (liczba % i == 0)
sum += i;
}
if(sum == liczba)
//DOKONCZYĆ!
//*/
/*
Console.WriteLine(Fibonacci(6));
Console.WriteLine(Fibonacci(3));
Console.WriteLine(Fibonacci(1));
//*/
///*
//*/
///*
//*/
Console.ReadKey();
}
static int Fibonacci(int n) {
if(n == 0) return 0;
if(n == 1) return 1;
int m = 0;
int l1 = 0;
int l2 = 1;
for (int i = 2; i <= n; i++)
{
m = l1 + l2;
l1 = l2;
l2 = m;
}
return m;
}
static int Licz(int liczbaDoPodzialu, int[] monety, int startowyIndexMonet)
{
if (liczbaDoPodzialu - monety[startowyIndexMonet] >= 0)
{
Console.WriteLine(monety[startowyIndexMonet] + ",");
Licz(liczbaDoPodzialu - monety[startowyIndexMonet], monety, startowyIndexMonet);
}
//if (liczbaDoPodzialu - monety[startowyIndexMonet])
Console.WriteLine("");
return 0;
}
}
}
using System;
using System.Threading;
namespace ConsoleApp1
{
class Program
{
public void Wl(string s)
{
Console.WriteLine(s);
}
static void Main(string[] args)
{
/*
//zad 1 i 2
Console.WriteLine("Podawaj liczby, zero zakończy działanie programu!");
float sum = 0;
int howMuch = 0;
float i;
while ((i = int.Parse(Console.ReadLine())) != 0)
{
sum += i;
howMuch++;
}
if (howMuch > 0)
{
Console.WriteLine("Wynik końcowy sumowania liczb: " + sum + "!");
Console.WriteLine("Średnia liczb: " + (sum / howMuch) + "!");
}
else
Console.WriteLine("Nie podano żadnych liczb różnych od zera");
//*/
/*
//zad 3
Console.WriteLine("Podaj liczbę całkowitą, policzymy z niej silnię!");
int sum = 1;
int liczb = int.Parse(Console.ReadLine());
if (liczb >= 0)
{
Console.WriteLine("Silnia z " + liczb);
Console.Write("1"); //dzialanie
for (int i = 2; i <= liczb; i++)
{
Console.Write(" * " + i); //dzialanie
sum *= i;
}
Console.Write(" = " + sum + "\n"); //dzialanie
Console.WriteLine("("+liczb + "!) = " + sum+"\n");
}
else
Console.WriteLine("Podana liczba jest mniejsza od zera");
//*/
/*
//zad 4 i 5
Console.WriteLine("Podaj tryb (4, 5a, 5b, 5c)");
string tryb = Console.ReadLine();
Console.WriteLine("Podaj liczbę całkowitą dodatnią!");
byte liczba = byte.Parse(Console.ReadLine());
switch (tryb)
{
case "4":
{
for (int i = 1; i <= liczba; i++)
{
for (int j = 1; j <= liczba; j++)
{
Console.Write(i * j + "\t");
}
Console.Write("\n");
}
}
break;
case "5a":
{
for (int i = 1; i <= liczba; i++)
{
for (int j = 1; j <= liczba; j++)
{
Console.Write("*");
}
Console.Write("\n");
}
}
break;
case "5b":
{
for (int i = 1; i <= liczba; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("*");
}
Console.Write("\n");
}
}
break;
case "5c":
{
for (int i = 1; i <= liczba; i++)
{
for (int j = 1; j <= liczba; j++)
{
if(i>j)
Console.Write(" ");
else
Console.Write("*");
}
Console.Write("\n");
}
}
break;
default:
Console.WriteLine("Nieprawidłowy tryb");
break;
}
//*/
/*
//zad 6
Random los = new Random();
int liczba = los.Next(1, 51);
int liczbamoja;
Console.WriteLine("Podaj liczbę");
while ((liczbamoja = int.Parse(Console.ReadLine())) != liczba)
{
if (liczbamoja > liczba)
Console.WriteLine("Za dużo!");
else
Console.WriteLine("Za mało!");
Console.WriteLine("Podaj liczbę");
}
Console.Clear();
Console.WriteLine("Trafiony, samolot zestrzelony! Liczba " + liczba + " została odgadnięta");
//*/
/*
//zad 7
Console.WriteLine("Podaj liczbę dodatnią całkowitą plix");
byte liczba = byte.Parse(Console.ReadLine());
if (liczba > 0) {
if (liczba == 1)
Console.WriteLine("Liczba pierwsza");
else {
int i = 2;
bool znalezionoDzielnik = false;
while (i<liczba && !znalezionoDzielnik)
{
if (liczba%i == 0)
{
znalezionoDzielnik = true;
break;
}
i++;
}
if (znalezionoDzielnik)
Console.WriteLine("Nie jest pierwszą");
else
Console.WriteLine("Jest pierwszą");
}
}
else
Console.WriteLine("Liczba nie może być pierwszą - mniejsza od zera!");
//*/
/*
//zad 8
Console.WriteLine("Podaj literki po kolei");
int i = 0;
char znak;
string ciag = "";
while (i < 5)
{
if(char.TryParse(Console.ReadLine(),out znak))
{
i++;
if (znak == 'x')
break;
else
ciag += znak;
}
else
Console.WriteLine("Nieprawidłowy znak, podaj ponownie: ");
}
Console.WriteLine(ciag);
//*/
///*
//zad 9
Console.WriteLine("Podaj liczbe godzin");
byte liczba = byte.Parse(Console.ReadLine());
int i = 0;
char znak;
string ciag = "";
Console.WriteLine(ciag);
//*/
Console.ReadKey();
}
}
}
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
/*
//zad 1 i 2
Console.WriteLine("Podawaj liczby, zero zakończy działanie programu!");
float sum = 0;
int howMuch = 0;
float i;
while ((i = int.Parse(Console.ReadLine())) != 0)
{
sum += i;
howMuch++;
}
if (howMuch > 0)
{
Console.WriteLine("Wynik końcowy sumowania liczb: " + sum + "!");
Console.WriteLine("Średnia liczb: " + (sum / howMuch) + "!");
}
else
Console.WriteLine("Nie podano żadnych liczb różnych od zera");
//*/
/*
//zad 3
Console.WriteLine("Podaj liczbę całkowitą, policzymy z niej silnię!");
int sum = 1;
int liczb = int.Parse(Console.ReadLine());
if (liczb >= 0)
{
Console.WriteLine("Silnia z " + liczb);
Console.Write("1"); //dzialanie
for (int i = 2; i <= liczb; i++)
{
Console.Write(" * " + i); //dzialanie
sum *= i;
}
Console.Write(" = " + sum + "\n"); //dzialanie
Console.WriteLine("("+liczb + "!) = " + sum+"\n");
}
else
Console.WriteLine("Podana liczba jest mniejsza od zera");
//*/
/*
//zad 4 i 5
//*/
Console.WriteLine("Podaj tryb (4, 5a, 5b, 5c)");
string tryb = Console.ReadLine();
Console.WriteLine("Podaj liczbę całkowitą dodatnią!");
byte liczba = byte.Parse(Console.ReadLine());
switch (tryb)
{
case "4":
{
for (int i = 1; i <= liczba; i++)
{
for (int j = 1; j <= liczba; j++)
{
Console.Write(i*j+"\t");
}
Console.Write("\n");
}
}
break;
default:
Console.WriteLine("Nieprawidłowy tryb");
break;
}
Console.ReadKey();
}
}
}
Czynności negatywnie wpływające na pracę strony i działające na niekorzyść, bądź wręcz szkodę użytkowników, są zabronione i będą karane!
Administrator strony nie bierze odpowiedzialności za dodawane treści
Wszystkie treści, zwłaszcza łamiące zasady dobrej etyki, mogą zostać zmoderowane w każdej chwili po uprzednim kontakcie z Administratorem
FAQ | Wykonał Piotr Greczka | Facebook twórcy (kontakt)