Vytvoríme si nový projek WPF application.
Vytvorí sa nám "MainWindow" (okno aplikácie)
-v okne aplikácie si vytvoríme 2 x textBox
1. bude mať názov textBox1 - ten bude slúžiť na zadávanie čísla
2. bude mať názov textBox2 - ten bude slúžiť na výsledok či je číslo prvočíslo alebo nie
-dalej v okne aplikácie vytvoríme tlačítko (Button) s názvom Button1 v ktorom zmeníme zobrazovaný text z "Button" na "Je prvocislo?"
Dvojklikom na novovytvorené tlačítko Button1 nás editor prenesie do samotnej programovej časti našej aplikácie a zároveň vytvorí metódu button1_click().
Do metódy button1_click zapíšeme nasledujúci kód:
int cislo = 0; //deklarujeme si novu premennu string vysledok; //deklarujeme si novu textovu premennu cislo = System.Int32.Parse(textBox1.Text);//do premennej cislo sa ulozi cislo ktore zadal uzivatel do textBox1 vysledok = metodaPrvocislo(cislo); //do premmenej vysledok ulozim vystup z metody metodaPrvocislo textBox2.Text = vysledok.ToString(); //zapisem vysledok do texBox2
Ďalej vytvoríme metódu metodaPrvocislo ktorá bude vyzerať nasledovne:
private string metodaPrvocislo (int cislo)//Vstup do metody bude typu int, vystup metody bude string { //zistenie ci ide o prvocislo int pomocneCislo; //deklarujeme si novu premennu if (cislo <= 1) return "Nie"; //vsetky cisla mensie ako 2 sa nepovazuju za prvocisla if (cislo == 2) return "Ano"; //2 je prvocislo if (cislo % 2 == 0) return "Nie"; //kazde parne cislo okrem 2 nieje prvocislo for (pomocneCislo = 3; pomocneCislo < cislo/2; pomocneCislo = pomocneCislo+2) { if (cislo % pomocneCislo == 0) return "Nie"; } //aplikacia postupne vydeli vlozene cislo kazdym neparnym cislo pocnuc 3-kou, //az pokial nenajde cislo po deleni ktorym vznikne zvysok 0. //Ak nenajde ziadne taketo cislo, tak je vlozene cislo prvocislo return "Ano"; }
Do aplikácie tiež môžeme pridať tlačítko na vypnutie aplikácie.
Celý kód našej aplikácie by mohol vyzerať takto:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace WpfApplication1 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { textBox1.Text = "Vstup"; //pri spusteni programu ulozi do texBox1 text textBox2.Text = "Vystup"; //pri spusteni programu ulozi do texBox2 text } private void button2_Click(object sender, RoutedEventArgs e) { this.Close(); //vypnutie aplikacie } private void button1_Click(object sender, RoutedEventArgs e) //tuto metodu aktivuje stlačenie tlacitka Button1 { int cislo = 0; //deklarujeme si novu premennu string vysledok; //deklarujeme si novu textovu premennu cislo = System.Int32.Parse(textBox1.Text); //do premennej cislo sa ulozi cislo ktore zadal uzivatel do textBox1 vysledok = metodaPrvocislo(cislo); //do premmenej vysledok ulozim vystup z metody metodaPrvocislo textBox2.Text = vysledok.ToString(); //zapisem vysledok do texBox2 } private string metodaPrvocislo (int cislo) //Vstup do metody bude typu int, vystup metody bude string { //zistenie ci ide o prvocislo int pomocneCislo; //deklarujeme si novu premennu if (cislo <= 1) return "Nie"; //vsetky cisla mensie ako 2 sa nepovazuju za prvocisla if (cislo == 2) return "Ano"; //2 je prvocislo if (cislo % 2 == 0) return "Nie"; //kazde parne cislo okrem 2 nieje prvocislo for (pomocneCislo = 3; pomocneCislo < cislo/2; pomocneCislo = pomocneCislo+2) { if (cislo % pomocneCislo == 0) return "Nie"; } //aplikacia postupne vydeli vlozene cislo kazdym neparnym cislo pocnuc 3-kou, //az pokial nenajde cislo po deleni ktorym vznikne zvysok 0. //Ak nenajde ziadne taketo cislo, tak je vlozene cislo prvocislo return "Ano"; } } }