Stwórz prostą aplikację mobilną za pomocą .NET MAUI w Visual Studio 2022. Aplikacja będzie obliczać największy wspólny dzielnik (NWD) dwóch liczb przy użyciu algorytmu Euklidesa realizowanego metodą rekurencyjną.
Visual Studio 2022 z zainstalowanym wsparciem dla .NET MAUI.
Podstawowa znajomość języka C# i XAML.
System Windows (lub inny wspierany system), aby uruchomić emulator lub urządzenie.
Uruchom Visual Studio 2022.
Wybierz File > New > Project...
W polu wyszukiwania wpisz .NET MAUI App.
Wybierz szablon .NET MAUI App i kliknij Next.
Nazwij projekt AEApp i wybierz lokalizację, a następnie kliknij Create.
Upewnij się, że projekt został utworzony z domyślną strukturą plików (w tym plikami MainPage.xaml i MainPage.xaml.cs).
Otwórz plik MainPage.xaml i zastąp jego zawartość poniższym kodem:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="AEApp.MainPage"
BackgroundColor="White">
<!-- Używamy ScrollView na wypadek mniejszych ekranów -->
<ScrollView>
<VerticalStackLayout Spacing="20" Padding="30" HorizontalOptions="Center">
<!-- Napis AE na górze -->
<Label Text="AE"
FontSize="32"
HorizontalOptions="Center" />
<!-- Linia podkreślająca -->
<BoxView HeightRequest="2"
WidthRequest="200"
Color="Black"
HorizontalOptions="Center" />
<!-- Pole do wpisania pierwszej liczby -->
<Entry x:Name="EntryFirstNumber"
Placeholder="Podaj pierwszą liczbę"
Keyboard="Numeric" />
<!-- Pole do wpisania drugiej liczby -->
<Entry x:Name="EntrySecondNumber"
Placeholder="Podaj drugą liczbę"
Keyboard="Numeric" />
<!-- Przycisk Oblicz -->
<Button Text="Oblicz"
Clicked="OnObliczClicked"
HorizontalOptions="Center" />
<!-- Pole z wynikiem -->
<Label x:Name="LabelResult"
Text="Wynik:"
FontSize="24"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
Wyjaśnienie:
Label "AE" – wyświetla napis na górze ekranu.
BoxView – służy do wyświetlenia linii podkreślającej.
Entry – pola tekstowe, w których użytkownik wpisuje liczby.
Button – przycisk, który po kliknięciu uruchomi obliczanie NWD.
Label "Wynik:" – miejsce wyświetlenia rezultatu obliczenia.
Otwórz plik MainPage.xaml.cs i zastąp jego zawartość poniższym kodem:
using System;
using Microsoft.Maui.Controls;
namespace AEApp
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
/// <summary>
/// Metoda rekurencyjna obliczająca największy wspólny dzielnik (NWD) dwóch liczb.
/// </summary>
/// <param name="a">Pierwsza liczba</param>
/// <param name="b">Druga liczba</param>
/// <returns>NWD(a, b)</returns>
private int Euclid(int a, int b)
{
if (b == 0)
return a;
else
return Euclid(b, a % b);
}
/// <summary>
/// Obsługa zdarzenia kliknięcia przycisku "Oblicz".
/// Pobiera wartości z pól tekstowych, przelicza NWD i wyświetla wynik.
/// </summary>
private void OnObliczClicked(object sender, EventArgs e)
{
// Próba parsowania wpisanych wartości na liczby całkowite
if (int.TryParse(EntryFirstNumber.Text, out int firstNumber) &&
int.TryParse(EntrySecondNumber.Text, out int secondNumber))
{
// Obliczenie NWD (największy wspólny dzielnik)
int nwd = Euclid(firstNumber, secondNumber);
LabelResult.Text = $"Wynik: {nwd}";
}
else
{
LabelResult.Text = "Błąd: Wprowadź poprawne liczby!";
}
}
}
}
Wyjaśnienie:
Metoda Euclid:
Implementuje rekurencyjnie algorytm Euklidesa. Jeśli druga liczba (b) wynosi 0, zwraca pierwszą liczbę (a); w przeciwnym razie, wywołuje samą siebie z argumentami b oraz a % b.
Metoda OnObliczClicked:
Obsługuje kliknięcie przycisku. Próbuje sparsować wpisane liczby, a następnie wywołuje metodę Euclid w celu obliczenia NWD. Wynik jest wyświetlany w polu LabelResult.
Zbuduj projekt:
W Visual Studio wybierz opcję Build > Build Solution.
Uruchom aplikację:
Wybierz emulator lub podłączone urządzenie, a następnie kliknij Run (zielony przycisk "Start").
Testowanie:
Wprowadź dwie liczby w odpowiednich polach tekstowych.
Kliknij przycisk Oblicz.
Sprawdź wynik obliczenia NWD wyświetlony pod przyciskiem.