W powyższym kodzie utworzono wyliczenie dni tygodnia.

Podobne dokumenty
Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Aplikacje w środowisku Java

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Microsoft Visual C++.NET Edycja polska: Wydawnictwo RM

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Funkcje. Wprowadzenie. Mirosław Ochodek

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Algorytmy z powrotami. Algorytm minimax

Język ludzki kod maszynowy

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

5.9 Modyfikacja gry Kółko i krzyżyk

Wprowadzenie do języka Java

Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba.

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Podstawy Programowania C++

Typy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Tablice. Jones Stygar na tropie zmiennych

Programowanie obiektowe

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Metody Metody, parametry, zwracanie wartości

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

MATERIAŁY DO ZAJĘĆ II

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Optymalizacja systemów

EGZAMIN 2 (14 WRZEŚNIA 2015) JĘZYK C++

1 Podstawy c++ w pigułce.

Programowanie obiektowe

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Optymalizacja systemów

TEMAT : KLASY DZIEDZICZENIE

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

C++ - [4-7] Polimorfizm

Σ. MiNI/MatLic/AiPP/ /Kolokwium-IB (20)

Budowa i generowanie planszy

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

do drukowania tekstu służy funkcja echo <?php echo "hello world!";?> jeżeli użyjemy jej kilka razy: <?php

Część 4 życie programu

Egzamin z Podstaw informatyki i programowania 2007/2008

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5

Programowanie 3 - Funkcje, pliki i klasy

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Rozdział 4 KLASY, OBIEKTY, METODY

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Tworzenie aplikacji w języku Java

Kurs programowania 2 - listy

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Laboratorium 1 - Programowanie proceduralne i obiektowe

Wprowadzenie do szablonów klas

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

Programowanie Komputerów

Programowanie w języku Java

DYNAMICZNE PRZYDZIELANIE PAMIECI

Oczywiście plik musi mieć rozszerzenie *.php

Programowanie w języku Java

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

*W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do 6.0)

Wykład 12. Programowanie serwera MS SQL 2005 w C#

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

Smarty PHP. Leksykon kieszonkowy

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

JDK można pobrać ze strony

Zaawansowane aplikacje WWW - laboratorium

Język C++ Różnice między C a C++

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Aplikacje w środowisku Java

> C++ wskaźniki. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

EGZAMIN PROGRAMOWANIE II (10 czerwca 2010) pytania i odpowiedzi

Algorytmy i struktury danych. wykład 1

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Projektowanie aplikacji internetowych laboratorium

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie obiektowe

Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach

Wykład 5 Okna MDI i SDI, dziedziczenie

Wykład 2 Składnia języka C# (cz. 1)

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

Przypomnienie o klasach i obiektach

Wykład 3 Składnia języka C# (cz. 2)

Programowanie obiektowe

Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006)

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

1 Podstawy c++ w pigułce.

Klasy i obiekty cz II

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Transkrypt:

Typ wyliczeniowy (zwane również enumeration lub enum) jest to typ danych składający się z zestawu nazwanych wartości. Do zmiennej, która została zadeklarowana jako typ wyliczeniowy może być przypisane wyliczenie jako wartość. Wyliczenia uczynią kod bardziej czytelnym. using System; class CSharpApp enum Days Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday static void Main() Days dni = Days.Monday; if (dni == Days.Monday) Console.WriteLine("To jest poniedziałek"); Console.WriteLine(dni); W powyższym kodzie utworzono wyliczenie dni tygodnia. enum Days Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday Typ wyliczeniowy jest tworzony ze słowem kluczowym enum. Poniedziałek, wtorek... Dni tygodnia są numerowane 0.. 6. Days dni = Days.Monday; Zmienna dni jest zadeklarowana jako typ Days. Jest ona inicjowana na poniedziałek. if (dni == Days.Monday) Console.WriteLine("To jest poniedziałek");

Kod jest bardziej czytelny niż w przypadku porównywania zmiennej dni do jakiegoś numeru. Console.WriteLine(dni); Powyższa linia wyświetla słowo poniedziałek na konsoli. Domyślnym typem podstawowym każdego elementu w elemencie enum jest int. Za pomocą dwukropka, można określić innego typu liczbowego integralną. using System; class CSharpApp public enum Sezon : byte Wiosna = 1, Lato = 2, Jesien = 3, Zima = 4 static void Main() Sezon s1 = Sezon.Wiosna; Sezon s2 = Sezon.Jesien; Console.WriteLine(s1); Console.WriteLine(s2); Pory roku mogą być łatwo wykorzystane jako teksty stałe. Możemy określić podstawowy typ dla wyliczenia oraz możemy podać dokładne wartości dla nich. public enum Sezon : byte Wiosna = 1, Lato = 2, Jesien = 3, Zima = 4 Za pomocą dwukropka i typu danych określamy typ podstawowy dla enum. Nadajemy również każdemu elementowi określoną liczbę. Console.WriteLine(s1); Console.WriteLine(s2); Te dwie linie wydrukują wartości enum na konsoli. Podstawowe wartości numerycznych można sprawdzać przy rzutowanie typu podstawowego. Sezon tensezon = Sezon.Wiosna; byte SezonLiczba = (byte) tensezon; 2 S t r o n a

Tablice int[] array = new int[5]; int[] array2 = 1, 3, 5, 7, 9 ; Tablice wielowymiarowe int[,] array = new int[4, 2]; int[,] array2d = new int[,] 1, 2, 3, 4, 5, 6, 7, 8 ; Zadanie 1 1. Utwórz nowy projekt dla aplikacji konsolowej. 2. Dodaj typ wyliczeniowy ruch, z trzema możliwymi wartościami: o o o kolko, krzyzyk, brak. Ostatnia z wartości oznacza, że ruch nie został jeszcze wykonany. Typ wyliczeniowy może być dodany w obrębie klasy z metodą main, w innej klasie lub poza klasą. Od tego, w którym miejscu zostanie on dodany zależy reszta kodu programu. 3. Dodaj typ wyliczeniowy gracz, określający, kto wykonuje ruch (kółko, czy krzyżyk). 4. Dodaj typ wyliczeniowy rezultatgry o następujących możliwych wartościach: remis, nierozstrzygnieta, wygrywakolko, wygrywakrzyzyk. Zadanie 2 Utwórz klasę o nazwie plansza. Klasa ta zawiera 9cio elementową jednowymiarową tablicę obiektów ruch. Dodatkowo klasa ta zawiera następujące metody: bool zaznaczruch(int x, int y, ruch znak) rezultatgry sprawdzrezultat() string ToString() static gracz zmiengracza(gracz aktualnygracz) 3 S t r o n a

Zadanie 3 Napisz metodę bool zaznaczruch(int x, int y, ruch znak). Metoda zaznacz ruch, zaznacza na podstawie współrzędnych x wiersza oraz y kolumny. Przyjmijmy, że numeracja wierszy i kolumn rozpoczyna się od 1. Jeśli pod podanym polem został już zaznaczony ruch, to metoda zwraca wartość false, w przeciwnym przypadku zwraca wartość true. Zadanie 4 Napisz metodę string ToString(). Metoda ToString zwraca w postaci tekstowej stan szachownicy, np w taki sposób: X. O. X O O. X Metoda będzie służyła do wyświetlania stanu tablicy. Za każdym razem kiedy chcemy wyświetlić planszę po prostu wykonujemy metodę ToString() na obiekcie klasy plansza. W dalszej części instrukcji zostaną dokładnie opisane metody, jakie należy zaimplementować. Zadanie 5 Napisz metodę rezultatgry sprawdzrezultat(), która określa rezultat gry. Przyjmijmy, że poszczególne elementy tablicy typów wyliczeniowych ruch oznaczają następujące pola szachownicy: 4 S t r o n a

Sprawdzanie rezultatu gry polega na: 1. Sprawdzeniu, czy istnieje wiersz, kolumna lub przekątna, dla której zaznaczone są same kółka lub krzyżyki. Jeśli tak to rezultat gry jest odpowiednio: wygralokolko, wygralkrzyzyk 2. Sprawdzenie, czy wszystkie pola są zaznaczone. Jeśli tak, to oznacza to remis, w przeciwnym przypadku gra nie została jeszcze rozstrzygnięta i można wykonywać kolejne ruchy. Zadanie 6 Napisz metodę static gracz zmiengracza(gracz aktualnygracz). Metoda jako argument przyjmuje aktualnego gracza i zwraca wynik przeciwny. Przykładowo jeśli jako argument podamy gracz Kolko jako wynik metody otrzymamy gracz Krzyzyk i odwrotnie. Zadanie 7 Zaimplementuj algorytm działania programu, przedstawiony na poniższym rysunku. 5 S t r o n a

6 S t r o n a