Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Разработка эффективных алгоритмов

Читайте также:
  1. Альфа-Е Фактор (Alpha-E Factor). Новейшая разработка, косметическое средство будущего.
  2. Анализ сложных алгоритмов
  3. БОГАТСТВО ЕСТЬ РЕЗУЛЬТАТ ЭФФЕКТИВНЫХ ОЦЕНОК
  4. ВЫБОР ИННОВАЦИОННОЙ СТРАТЕГИИ 3.1. ЗНАЧЕНИЕ И РАЗРАБОТКА СТРАТЕГИИ
  5. Выделение коллекторов, определение эффективных нефте- и газонасыщенных толщин
  6. Глава 5. Разработка, доклинические исследования лекарственных средств, а также клинические исследования лекарственных препаратов для ветеринарного применения
  7. Глава III. МЕТОДИКА ТЕПЛОВОГО РАСЧЁТА ТЕПЛОГЕНЕРИРУЮЩЕЙ УСТАНОВКИ. МАТЕМАТИЧЕСКИЕ МОЛДЕЛИ И БЛОК-СХЕМЫ АЛГОРИТМОВ

 

Линейный алгоритм - набор команд (указаний), выполняемых последовательно во времени друг за другом.

Задача №1:

Линейный алгоритм – это алгоритм, в котором все операции выполняются последовательно, то есть одна за другой.

Задание:

Вычислить координаты центра тяжести трёх материальных точек с массами m1,m2,m3 и координатами (x1,y1),(x2,y2),(x3,y3) по формулам:

Листинг программы:

private void button1_Click(object sender, EventArgs e)

{

double m1 = Convert.ToDouble(textBox1.Text);

double m2 = Convert.ToDouble(textBox2.Text);

double m3 = Convert.ToDouble(textBox3.Text);

double x1 = Convert.ToDouble(textBox4.Text);

double x2 = Convert.ToDouble(textBox5.Text);

double x3 = Convert.ToDouble(textBox6.Text);

double y1 = Convert.ToDouble(textBox7.Text);

double y2 = Convert.ToDouble(textBox8.Text);

double y3 = Convert.ToDouble(textBox9.Text);

label1.Text = "X = " + Convert.ToString((m1 * x1 + m2 * x2 + m3 * x3) / (m1 + m2 + m3));

label2.Text = "Y = " + Convert.ToString((m1 * y1 + m2 * y2 + m3 * y3) / (m1 + m2 + m3));

 

}

 

Рисунок 1.1 – скриншот задачи 1

Рисунок 1.2 – блок-схема задачи 1

 

 

Задача 2:

Алгоритмы разветвления структуры применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие.

Задание:

Вычислить значения функции при заданных значениях переменных а,x

Листинг программы:

private void button3_Click(object sender, EventArgs e)

{

double X =0;

int x =Convert.ToInt16(textBox12.Text);

if (x >= 1)

{ X = Math.Log(x);}

else

if (x <= -1)

{ X = Math.Exp(x); }

 

label9.Text =Convert.ToString(X);

}

 

private void groupBox3_Enter(object sender, EventArgs e)

{

 

}

 

private void groupBox1_Enter(object sender, EventArgs e)

{

 

 

Рисунок 1.3 – блок-схема задачи 2

 

Рисунок 1.4 – скриншот задачи 2

Задача 3:

Циклический алгоритм – это алгоритм, который повторяет много раз какое-то действие.

Задание:

Вычислить значение функции y в точке x, если известны значения функции y1,y2....y20 в 20 точках x1,x2...x20.Проверить выполнение условия x1<x<x19.

Если условие не выполненено, то вывести сообщениие “Интерполяцие не выполнина”.Если условие выполнено, то найти t, для которого xi<x<i+1.Далее найти значение y по интерполяционной формуле Ньютона:

Листинг программы:

private void button2_Click(object sender, EventArgs e)

{

int i = 0;

int j = 0;

int c = 2;

int y = 0;

int b1 = 0;

int b2 = 0;

string[] sNumsX = textBox10.Text.Split(',');

string[] sNumsY = textBox11.Text.Split(',');

if (c > sNumsX.Length && c> sNumsY.Length)

{

MessageBox.Show("Длина массива не соответсвует введенному!");

return;

}

int[] numsX = new int[c];

 

 

int[] numsY = new int[c];

for (i = 0; i < c; i++)

{

numsX[i] = int.Parse(sNumsX[i]);

}

 

for (j = 0; j < c; j++)

 

{

numsY[j] = int.Parse(sNumsY[j]);

}

 

for (i = 0; i < c; i++)

{

label6.Text +=" "+Convert.ToString(numsX[i]);

 

}

int b0;

for (j = 0; j < c; j++)

{

label7.Text +=" "+Convert.ToString(numsY[j]);

 

}

 

 

for(i = 0;i<c;i++)

{

for(j=0;j<c;j++)

{

 

b0 = numsY[i];

b1 = ((numsY[i]+1 - numsY[i])) / (numsX[i]+1 - numsX[i]);

b2 = (((numsY[j]+2 - numsY[j]+1) / (numsX[i]+2 - numsX[i]+1)) - ((numsY[j]+1 - numsY[j]) / (numsX[i]+1 - numsX[i])))/(numsX[i]+2 - numsX[i]);

y= b0+b1*(numsX[0]-numsX[i])+b2*(numsX[0]-numsX[i])*(numsX[0]-numsX[i]+1);

}

label8.Text += " " + Convert.ToString(y);

}

 

Рисунок 1.5 – блок-схема задачи 3

 

 

Рисунок 1.6 – скриншот задачи 3

 


Дата добавления: 2015-07-16; просмотров: 66 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
ВВЕДЕНИЕ| ПОСТРОЕНИЕ МАШИНЫ ТЬЮРИНГА

mybiblioteka.su - 2015-2024 год. (0.009 сек.)