Złożone warunki logiczne
Złożone warunki logiczne wykorzystują w swej konstrukcji alternatywę logiczną (logiczne lub) oraz koniunkcję logiczną (logiczne i). Przykładem złożonych warunków logicznych jest logiczna suma lub logiczny iloczyn.
Wynikiem logicznej sumy jest logiczna prawda gdy co najmniej jeden z warunków jest logicznie prawdziwy. Wynikiem logicznego iloczynu jest logiczna prawda gdy wszystkie warunki są logicznie prawdziwe.
Używając złożonych warunków logicznych w pseudokodzie stosujemy zapis:
- dla iloczynu logicznego AND
- dla logicznej sumy OR
- dla logicznego zaprzeczenia NOT
Przykładowy złożony warunek logicznej sumy: a<-10 || a>10. Co czytamy: a mniejsze od -10 lub a większe od 10.
Przykładowy złożony warunek logicznego iloczynu: a>0 && a<10. Co czytamy: a większe od 0 i a mniejsze od 10.
Oblicz pole trójkąta stosując wzór Herona
Jedną z metod obliczenia pola dowolnego trójkąta jest zastosowanie wzoru Herona
Aby było możliwe zastosowanie wzoru Herona należy sprawdzić czy z podanych długości boków można zbudować trójkąt. Schemat algorytmu liczącego pole trójkąta przy wykorzystaniu wzoru Herona można przedstawić jak poniżej
Prosta aplikacja desktopowa obliczająca pole trójkąta wzorem Herona
Użyte kontrolki
- Label- 4 sztuki
- TextBox- 3 sztuki
- Button- 1 sztuka
Proponowany układ formatki tworzonej aplikacji
Kontrolkom przypisz tekst związany z ich przeznaczeniem
Pole trójkąt obliczymy w zdarzeniu kliknięcia kontrolki Button. W ciele tej funkcji zadeklarujemy zmienne lokalne służące do przechowywania wartości boków, zmiennej pomocniczej oraz wyniku.
Kod ciała funkcji obsługującej zdarzenie kliknięcia w przycisk
Wskazówka:
private void button1_Click(object sender, EventArgs e)
{
float a, b, c, p, pole;
a = float.Parse(textBox1.Text);
b = float.Parse(textBox2.Text);
c = float.Parse(textBox3.Text);
if(a+b>c && b+c>a && c + a > b)
{
p=(a+b+c)/2;
pole = (float)Math.Sqrt(p * (p - a) * (p - b) * (p - c));
label4.Text = "Pole trójkąta = " + pole.ToString();
}else
label4.Text = "Dane nie utworzą trójkąta";
}
Widok na działającą aplikację
Pełny kod klasy Form1 utworzonej aplikacji
Form1.cs:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace _1cZlozoneWarunkiLogiczne
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
float a, b, c, p, pole;
a = float.Parse(textBox1.Text);
b = float.Parse(textBox2.Text);
c = float.Parse(textBox3.Text);
if(a+b>c && b+c>a && c+a>b)
{
p=(a+b+c)/2;
pole = (float)Math.Sqrt(p * (p - a) * (p - b) * (p - c));
label4.Text = "Pole trójkąta = " + pole.ToString();
}else
label4.Text = "Podane dane nie utworzą trójkąta";
}
}
}