Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o

Podobné prezentace


Prezentace na téma: "NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o"— Transkript prezentace:

1 NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA: Objektově orientované programování v C# ČÍSLO PROJEKTU:CZ.1.07/1.5.00/ NÁZEV ŠABLONY: V/2-Inovace a zkvalitnění výuky směřující k rozvoji odborných kompetencí žáků středních škol

2 Cvičení 12 C# pole objektů v hlavním programu. class Zakaznik {
Program bude simulovat jízdy zákazníků Taxi. Program bude používat instance třídy Zakaznik s parametry ujeté km a doba čekání. class Zakaznik { double km; int minuty; public Zakaznik(double km, int minuty) this.km = km; this.minuty = minuty; }

3 Cvičení 12 C# pole objektů v hlavním programu. class Taxi { int ID;
Naše Taxi mají své ID, pevně stanovenou taxu za 1 km a každých započatých 5 minut čekání. Za jednu směnu mají maximálně 8 zákazníků. class Taxi { int ID; public static double zaKm=0; public static double zaPetMinut=0; public Zakaznik[] jizdy = new Zakaznik[8]; public Taxi(int ID) this.ID = ID; } Taxy za km a 5 minut je stejná pro všechny Taxi a proto jsou proměnnými třídy – static.

4 Cvičení 12 C# pole objektů v hlavním programu.
Taxy za jízdu a čekání nastavíme pomocí setterů. public static void setZaKm(double kolik) { zaKm = kolik; } public static void setZaMinuty(double kolik) zaPetMinut = kolik; Mohli bychom vytvořit jeden společný setter, ale předpokládáme, že nebudeme měnit obě položky najednou.

5 Cvičení 12 C# pole objektů v hlavním programu. public double uctenka()
Zákazník musí dostat po ukončené jízdě účtenku. public double uctenka() { Console.WriteLine("Ujeto {0} km, doba čekání {1} minut", km, minuty); double pom = km * Taxi.zaKm; if (minuty / 5 == 0) pom += minuty / 5 * Taxi.zaPetMinut; else pom += (minuty / 5 +1) * Taxi.zaPetMinut; Console.WriteLine("Celková částka: {0:f} korun.\n", pom); return pom; }

6 Cvičení 12 C# pole objektů v hlavním programu. Taxi axi = new Taxi(1);
V hlavním programu vytvoříme taxík a nastavíme taxy za jízdu a čekání. Taxi axi = new Taxi(1); Taxi.setZaKm(7.60); Taxi.setZaMinuty(0.40); Vytvoříme potencionální zákazníky a náhodně jim nastavíme délku jízdy a dobu čekání. Random nah = new Random(); double km; int cekani; Zakaznik[] lide = new Zakaznik[12]; for (int i = 0; i < 12; i++) { km = nah.Next(50, 2000) / 10; cekani = nah.Next(1, 20); lide[i] = new Zakaznik(km, cekani); } Instance Zákazníků se vkládájí přímo do pole.

7 for (int i = 0; i < 8; i++) { axi.jizdy[i] = lide[nah.Next(0, 11)];
Cvičení 12 C# pole objektů v hlavním programu. Nakonec ze všech zákazníků vybereme náhodně 8 do našeho taxi a spočítáme jeho celkovou tržbu. double celkem = 0; for (int i = 0; i < 8; i++) { axi.jizdy[i] = lide[nah.Next(0, 11)]; celkem += axi.jizdy[i].uctenka(); } Console.WriteLine("Výdělek za den: {0:f} korun.", celkem);

8 Cvičení 12 C# pole objektů v hlavním programu.
Zpracovala: Ing. Adéla Tomalová Cílová skupina: žák SŠ Rok vytvoření: 2012 Anotance: práce s více poli stejného objektu. Předpokládaný přínos (výstup): vytvoření více polí a přesun objektů z jednoho do druhého . Předpokládaný čas: 15 minut V textu nebyly použity materiály jiných autorů.


Stáhnout ppt "NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o"

Podobné prezentace


Reklamy Google