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

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

Výukový materiál zpracován v rámci projektu

Podobné prezentace


Prezentace na téma: "Výukový materiál zpracován v rámci projektu"— Transkript prezentace:

1 Výukový materiál zpracován v rámci projektu
EU peníze školám Název školy Střední škola elektrostavební a dřevozpracující, Frýdek-Místek, příspěvková organizace Adresa školy Pionýrů 2069, Frýdek-Místek Název operačního programu OP Vzdělávání pro konkurenceschopnost Registrační číslo CZ.1.07/1.5.00/ Označení vzdělávacího materiálu VY_32_INOVACE_10_29ŠebM-8 Název tematické oblasti (sady) Technická cvičení -Základy programování v jazyce C# Název vzdělávacího materiálu Program Semafor Druh učebního materiálu Cvičení v prostředí Microsoft Visual Studio Anotace Téma je určeno žákům studijního oboru elektro na získání základních znalostí a vědomostí v algoritmizaci a programování. Klíčová slova algoritmus,vývojový diagram,zdrojový text programu Vzdělávací obor, pro který je materiál určen 26-41-M/01 Elektrotechnika Ročník IV. Typická věková skupina 18 let Speciální vzdělávací potřeby žádné Autor Ing.Milan Šebestík Zhotoveno, (datum/období) 1.9. až Celková velikost 248 kB Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Milan Šebestík Použitá literatura: Radek Vystavěl : Moderní programování,Dostupné z portálu

2 Semafor Příklad 11 Navrhněte program, který bude řídit postupné rozsvěcování světel semaforu. Jednotlivé barvy světel se budou rozsvěcovat ve stejném režimu, jaký je provoz na křižovatce. Semafor bude mít čtyři časové úseky barev,které se budou postupně za sebou střídat: červená červená + žlutá zelená žlutá

3 Režim č.: Barva Délka trvání[s] 1 červená 5 2 červená+žlutá 3 zelená 4
Jednotlivé časové úseky se budou postupně střídat ve čtyřech režimech. Délku trvání jednotlivých režimů udává následující tabulka: Režim č.: Barva Délka trvání[s] 1 červená 5 2 červená+žlutá 3 zelená 4 žlutá

4 Princip algoritmu 1.Pro generování jednotlivých časových úseků režimů semaforu budeme používat časovače.Při každé jeho vyvolané události budeme inkrementovat proměnnou „a“ jako počítadlo režimů a současně volat metodu panel1.Refresh() pro znovu vykreslení plochy panelu. 2.Proměnná „a“ jako počítadlo režimů je zároveň rozhodovacím výrazem pro více- násobnou alternativu Switch.V každé větvi case se pomocí příkazů pro kreslení elipsy vykreslují tři barevné kruhy červený,žlutý a zelený. Pro zhasnutí barvy kruh černý. 3.Součástí každé větve case je také nastavení intervalu časovače pro daný režim. dvěma tlačítky „Start“ a „Stop“ se řídí vypínání a zapínání semaforu.Při vypnutí se aktivuje poslední větev case,kdy dochází ke zhasnutí všech světel semaforu.

5 Navržené uživatelské rozhraní

6 Zdrojový text programu 1.část
public partial class Form1 : Form { int a = 0; public Form1() InitializeComponent(); } private void timer1_Tick(object sender, EventArgs e) a++; if (a == 5) a = 1; panel1.Refresh(); // Proměnná "a" jako počítadlo režimů semaforu

7 Zdrojový text programu 2.část
private void panel1_Paint(object sender, PaintEventArgs e) { Graphics kp = e.Graphics; switch (a) case 1: timer1.Interval = 5000; kp.FillEllipse(Brushes.Red, 20, 20, 50, 50); kp.FillEllipse(Brushes.Black, 20, 90, 50, 50); kp.FillEllipse(Brushes.Black, 20, 160, 50, 50); break; case 2: timer1.Interval = 1000; kp.FillEllipse(Brushes.Yellow, 20, 90, 50, 50);

8 Zdrojový text programu 3.část
case 3: timer1.Interval = 5000; kp.FillEllipse(Brushes.Black, 20, 20, 50, 50); kp.FillEllipse(Brushes.Black, 20, 90, 50, 50); kp.FillEllipse(Brushes.Green, 20, 160, 50, 50); break; case 4: timer1.Interval = 1000; kp.FillEllipse(Brushes.Yellow, 20, 90, 50, 50); kp.FillEllipse(Brushes.Black, 20, 160, 50, 50); case 6: }

9 Zdrojový text programu 4.část
private void button1_Click(object sender, EventArgs e) { timer1.Enabled = true; a = 0; } private void button2_Click(object sender, EventArgs e) timer1.Enabled = false; a = 6; panel1.Refresh();


Stáhnout ppt "Výukový materiál zpracován v rámci projektu"

Podobné prezentace


Reklamy Google