Programowanie Obiektowe C#



Pobieranie 19.57 Kb.
Data02.05.2016
Rozmiar19.57 Kb.
Programowanie Obiektowe – C#

Zadania_7




  1. Opracować program, który zawiera deklarację tablicy dwuwymiarowej TT posiadającej N * M elementów typu double.Wartości N (liczba wierszy) i M (liczba kolumn) są wprowadzane z klawiatury. Program wczytuje wartości wszystkich elementów tej tablicy (kolejno wierszami) i następnie wyprowadza te elementy odwracając kolejność elementów w każdej z kolumn.

1 2


3 4

5 6


5 6

3 4


1 2





  1. Opracować program zawierający definicję klasy Tekst, która zawiera składową prywatną napis typu string. W klasie tej zdefiniować 2 konstruktory:

    • bezargumentowy : nadaje składowej napis wartość ".",

    • jednoargumentowy : argument ma typ string : przypisać go
      składowej napis,

oraz właściwość Napis umożliwiającą odczyt składowej napis oraz zapis nowej
wartości tej składowej, gdy ta nowa wartość ma przynajmniej 3 znaki.

W programie głównym należy utworzyć dwa obiekty klasy Tekst. Obiekt T1 za pomocą konstruktora bezargumentowego, obiekt T2 za pomocą konstruktora jednoargumentowego - argumentem ma być słowo "Polewka". Następnie program zmienia wartość składowej napis obiektu T1 na "Kapuśniak", a obiektu T2 na "OK", po czym wyprowadza na monitor wartości składowych napis obu tych obiektów.




  1. Opracować program, który zawiera definicję klasy Beczka o składowych prywatnych Pojemnosc i Zawartosc (liczby całkowite) . W klasie tej zdefiniować konstruktor dwuargumentowy oraz przeciążyć operatory + i * .

    • Argumentami operatora + jest obiekt klasy Beczka i liczba całkowita. Wykonanie operatora polega na zwiększeniu wartości składowej Zawartosc o podaną liczbę całkowitą, o ile suma tych dwu wartości nie przekracza wartości składowej Pojemnosc (w tym przypadku wynikiem operatora jest 0). W przeciwnym razie wartość składowej Zawartosc ma się stać równa wartości składowej Pojemnosc, a wynikiem operatora jest ilość płynu, która nie zmieściła się w beczce.

    • Argumentami operatora * są dwa obiekty klasy Beczka - wynikiem jest wartość true, gdy wartość składowej Zawartosc lewego argumentu jest większa lub równa wartości składowej Zawartosc prawego argumentu. W przeciwnym przypadku wynikiem jest false.

W programie głównym utworzyć dwa obiekty klasy beczka: B1 o składowych (1000, 250) i B2 o składowych (1500, 100). Następnie (stosując zdefiniowane operatory) zwiększyć Zawartosc beczki B1 o 850, beczki B2 o 400 i sprawdzić, która beczka ma większą Zawartosc.


  1. Opracować program, który wyznacza uporządkowany w kolejności malejącej histogram występowania liter A - Z w tekście wprowadzonym z klawiatury. W odczytywanym tekście zamienić małe litery na duże. Zastosować kolekcje Dictionary i SortedList.




  1. Plik Dane.txt zawiera ciąg liczb całkowitych - każda liczba zapisana jest w oddzielnej linii. Opracować program, który odczytuje z pliku dyskowego Dane.txt kolejne liczby i wpisuje do pliku Dodatnie.txt tylko te z nich, które maja wartości większe od 0.



  1. Zdefiniować następującą hierarchię klas.

PojazdSilnikowy




PojazdKolowy





SamochodOsobowy


Klasa PojazdSilnikowy zawiera składową dziedziczoną Moc, klasa PojazdKolowy składową dziedziczoną LiczbaKol, klasa SamochodOsobowy składową LiczbaPasazerow. Każda klasa posiada konstruktor o odpowiedniej liczbie argumentów, który dla klas pochodnych wywołuje konstruktor swojej klasy bazowej. W takiej hierarchii klas zdefiniować funkcję wirtualną Pokaz, która w klasie PojazdSilnikowy wyprowadza na monitor wartość składowej Moc, a w klasach pochodnych zawiera wywołanie funkcji z klasy bazowej i wyprowadzenie składowej specyficznej dla danej klasy. W programie głównym zadeklarować tablicę 12 obiektów klasy PojazdSilnikowy i wpisać do niej na dowolne pozycje kilka przykładowych obiektów klas znajdujących się w hierarchii dziedziczenia. Zakładając, że tablica ta jest w dowolny sposób wypełniona referencjami obiektów wymienionych klas wykonać dla każdego elementu tablicy funkcję Pokaz.




  1. Opracować program prowadzący spis samochodów (max. 125 samochodów). Każdy samochód opisany jest za pomocą obiektu klasy zawierającej markę, rok_produkcji i cenę samochodu (składowe prywatne). Dostęp do tych składowych prywatnych umożliwiają właściwości. Program realizuje następujące polecenia:

  • R : wczytanie liczby samochodów i tablicy obiektów opisujących samochody z pliku dyskowego Baza.txt,

  • N : wczytanie danych opisujących samochód z konsoli i wprowadzenie ich do kolejnej pozycji tablicy obiektów,

  • W : wyświetlanie informacji o wszystkich samochodach,

  • Z : zapis liczby samochodów i tabeli obiektów do pliku dyskowego Baza.txt,

  • K : zakończenie programu.

Do obsługi opcji zastosować kolekcję Dictionary.



  1. Opracować program, który zawiera definicję klasy Drukarka o prywatnych składowych Kolor (typu bool) i PrędkoscDruku (typu double). Składowe te należy udostępnić za pomocą właściwości - dla składowej Kolor właściwość tylko do odczytu, dla składowej PrędkośćDruku sprawdzać, czy nowa wartośc tej składowej znajduje się w przedziale [1,100]. Klasa Drukarka ma zawierać konstruktor dwuargumentowy. W klasie tej zrealizować interfejs IComparable dla porównywania obiektów klasy Drukarka. Porównanie to ma przebiegać następująco:

    • drukarka kolorowa jest zawsze lepsza (większa) od czarno-białej,

    • gdy dwie drukarki mają taką samą składową Kolor, to porównuje się prędkości druku (im większa tym lepsza).

W programie głównym utworzyć kolekcję danych List, wpisać do niej kilka przykładowych obiektów klasy Drukarka, posortować te obiekty i wyprowadzić listę posortowanych obiektów.


  1. Plik wejściowy zawiera ciąg liczb całkowitych oddzielonych spacjami. Opracować program, który z takiego pliku wejściowego (zapytać o nazwę) przepisuje do pliku wyjściowego (też zapytać o nazwę) tylko te liczby całkowite, które są większe od 137.


  1. Sortowanie wyrazów

Opracować program, który wczytuje wyrazy z pliku (zapytać o nazwę pliku), a następnie sortuje je alfabetycznie. Wyrazy rozpoczynające się na tę samą literę powinny zostać posortowane od najkrótszego do najdłuższego. Posortowane wyrazy należy zapisać do pliku wynikowego (zapytać o nazwę pliku).





  1. Opracować program, w którym zdefiniowana jest klasa Osoba o składowych:
    Nazwisko oraz RokUrodzenia i który udostępnia następujące opcje:

  • 1 : wprowadzenie danych nowej osoby, utworzenie obiektu klasy Osoba
    i dopisanie go do pliku Wszyscy,

  • 2 : wprowadzenie danych osoby wzorcowej,

  • 3 : przepisanie z pliku Wszyscy do pliku Starsi tych obiektów klasy Osoba,
    które są większe od podanego wzorca; obiekt1 > obiekt2 gdy pierwsza litera
    nazwiska z obiektu1 jest na dalszej pozycji alfabetu, niż pierwsza litera nazwiska
    z obiektu2 (gdy pierwsze litery są równe to dodatkowo porównuje się składowe
    RokUrodzenia).

  • 4 : wyprowadzenie na konsolę wszystkich obiektów ze wskazanego pliku (Wszyscy
    lub Starsi),

  • 0 : koniec programu.

W definicji klasy Osoba należy przeciążyć operator > .


  1. Opracować program, w którym zdefiniowana jest klasa Telewizor o składowych: Marka, oraz Przekatna i który udostępnia następujące opcje:

    • 1 : wprowadzenie danych nowego telewizora,
      utworzenie obiektu klasy Telewizor i zapisanie go do pliku Oferta,

    • 2 : wyświetlenie z pliku Oferta tych obiektów klasy Telewizor, które
      mają przekątną ekranu równą lub o ±3 różną podanej wartości
      (wczytanej z klawiatury),

    • 3 : wyprowadzenie wszystkich obiektów z pliku Oferta,

    • 0 : koniec programu.



  1. Opracować program, w którym zdefiniowana jest klasa Samochód o składowych: Marka, MocSilnika i który udostępnia następujące opcje:

  • a : wprowadzenie danych nowego samochodu, utworzenie obiektu klasy Samochód
    i zapisanie go do pliku Baza,

  • b : wprowadzenie danych samochodu wzorcowego,

  • c : przepisanie z pliku Baza do pliku Wybrane tych obiektów klasy Samochód, które
    są gorsze od podanego wzorca; obiekt1 < obiekt2 gdy marka obkiektu1 jest taka
    sama jak marka obiektu2 i gdy MocSilnika obiektu1 jest mniejsza od MocySilnika
    obiektu2 (zrealizować interfejs IComprable),

  • d : wyprowadzenie wszystkich obiektów ze wskazanego pliku (Baza lub Wybrane),

  • x : koniec programu.


Pobieranie 19.57 Kb.





©absta.pl 2020
wyślij wiadomość

    Strona główna