Funkcja kwadratowa

Funkcja kwadratowa

Program: wykonany w środowisku Silverlight dla urządzeń mobilnych (Windows Mobile), prezentujący funkcję kwadratową.

Możliwość obliczenia jej wyników, poprzez podanie trzech liczb stojących przy wyrazach. Program posiada także tekst powitalny.

Kompilator: Microsoft Visual Studio / Silverlight

Galeria:

Program w akcji.
Program w akcji.

Kod programu:

Główny kod programu – backend:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

namespace WindowsApp_Moja
{
    public partial class MainPage : PhoneApplicationPage
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Witaj świecie!");
        }

        private void button2_Click(object sender, RoutedEventArgs e)
        {
            double a,b,c;
            double.TryParse(textBox1.Text, out a);
            double.TryParse(textBox2.Text, out b);
            double.TryParse(textBox3.Text, out c);
            double delta = (b * b) - (4 * a * c);
            double x1, x2;

            if (double.TryParse(textBox1.Text, out a) == true && double.TryParse(textBox2.Text, out b) == true &&
                double.TryParse(textBox3.Text, out c) == true)
            {
                if (delta < 0)
                    MessageBox.Show("Brak rozwiazan");
                else if (delta == 0)
                {
                    x1 = ((-b) / (2 * a));
                    MessageBox.Show("x1= " + x1);
                }
                else
                {
                    x1 = ((-b) + Math.Sqrt(delta) / (2 * a));
                    x2 = ((-b) - Math.Sqrt(delta)) / (2 * a);
                    MessageBox.Show("x1= " + x1 + " x2= " + x2);
                }
            }
            else
                MessageBox.Show("Podaj liczby");
        }
    }
}

Frontend:

<phone:PhoneApplicationPage 
    x:Class="WindowsApp_Moja.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
    shell:SystemTray.IsVisible="True">

    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" FontSize="50" Text="Funkcja kwadratowa" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Button Content="Powitanie" Click="button1_Click" Height="89" HorizontalAlignment="Left" Margin="12,6,0,0" Name="button1" VerticalAlignment="Top" Width="212" />
            <TextBox Height="79" HorizontalAlignment="Left" Margin="238,101,0,0" Name="textBox1" Text="" VerticalAlignment="Top" Width="212" />
            <TextBox HorizontalAlignment="Left" Margin="238,186,0,370" Name="textBox2" Text="" Width="212" />
            <TextBox Height="77" HorizontalAlignment="Left" Margin="238,272,0,0" Name="textBox3" Text="" VerticalAlignment="Top" Width="212" />
            <Button Content="Oblicz" Height="66" HorizontalAlignment="Left" Margin="294,535,0,0" Name="button2" VerticalAlignment="Top" Width="156" Click="button2_Click" />
            <TextBlock Height="36" HorizontalAlignment="Left" Margin="213,123,0,0" Name="textBlock1" Text="A=" VerticalAlignment="Top" Width="39" />
            <TextBlock Height="44" HorizontalAlignment="Left" Margin="213,208,0,0" Name="textBlock2" Text="B=" VerticalAlignment="Top" Width="90" />
            <TextBlock Height="34" HorizontalAlignment="Right" Margin="0,296,204,0" Name="textBlock3" Text="C=" VerticalAlignment="Top" Width="39" />
        </Grid>
    </Grid>
</phone:PhoneApplicationPage>

Słowniczek pojęć:

Funkcja wielomianowa drugiego stopnia, tzn. postaci f(x) = ax^2 + bx + c, gdzie a, b, c są pewnymi stałymi, przy czym a!=0 (co gwarantuje, że funkcja kwadratowa nie degeneruje się do przypadku funkcji liniowej; to założenie będzie obowiązywać w całym artykule). Funkcja kwadratowa realizuje pewien wielomian (drugiego stopnia), z tego powodu nazywa się ją czasami trójmianem kwadratowym.