Модальные и немодальные формы

Первичным является понятие модального и немодального окна. Окно называется модальным, если нельзя закончить работу в открытом окне до тех пор, пока оно не будет закрыто. Модальное окно не позволяет, если оно открыто, временно переключиться на работу с другим окном. Выйти из модального окна можно, только закрыв его. Немодальные окна допускают параллельную работу в окнах. Форма называется модальной или немодальной в зависимости от того, каково ее окно. Метод Show открывает форму как немодальную, а метод ShowDialog - как модальную. Название метода отражает основное назначение модальных форм - они предназначены для организации диалога с пользователем, и пока диалог не завершится, покидать форму не разрешается.

 

1. Написать программу для решения уравнения ах+в=0

· При а=0 и b<>0 уравнение не имеет решения.

· При а=0 и b=0 уравнение имеет бесконечное множество решений.

· При а<>0 уравнение имеет единственное решение х=- b/а.

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 WindowsFormsApplication3

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

 

private void button1_Click(object sender, EventArgs e)

{

double a, b, x;

a = double.Parse(textBox1.Text);

b = double.Parse(textBox2.Text);

b = double.Parse(textBox2.Text);

if (a == 0 && b!=0) label3.Text = "Нет решения";

if (a == 0 && b == 0) label3.Text = "Бесконечное множество решений";

if (a != 0)

{

x = -b / a;

label3.Text = "Результат: х= " + x.ToString();

}

}

private void button2_Click(object sender, EventArgs e)

{

textBox1.Text = "";

textBox2.Text="";

label3.Text="";

}

}

}

Пример 2. Протабулировать функцию y = на отрезке [a,b] с шагом h.

 

Private void button1_Click(object sender, EventArgs e)

{

Double a, b, h, x, y;

a = double.Parse(textBox1.Text);

b = double.Parse(textBox2.Text);

h = double.Parse(textBox3.Text);

x = a;

label4.Text ="| x | y |"+(char)13;

while (x <= b)

{

y = (x * Math.Sin(3 * x) + x * x * x + 5 * Math.Cos(x)) / Math.Sqrt(x * x + 3);

y = Math.Round(y, 3);

x = x + h;

label4.Text = label4.Text + "| " + x.ToString() + "| " + y.ToString() + "|" + (char)13;

}

}

Private void button2_Click(object sender, EventArgs e)

{

textBox1.Text = "";

textBox2.Text = "";

textBox3.Text = "";

label4.Text = "";

}

Задания для самостоятельного выполнения:

1.Вычислить значение функции:

2.Вычислить сумму .

3. Вычислить сумму .

4. Протабулировать функцию y= на отрезке [a,b] с шагом h.

5. Вычислить сумму s = с точностью до члена меньшего e.