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
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.