Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дополн. к лекции 2,3.doc(программирование).doc
Скачиваний:
12
Добавлен:
10.06.2015
Размер:
443.39 Кб
Скачать

Базовые алгоритмические структуры

    1. Алгоритм любой сложности может быть представлен комбинацией трёх базовых структур:

  • следование;

  • ветвление;

  • повторение (цикл).

    1. Структура "следование" означает, что несколько операторов должны быть выполнены последовательно друг за другом и только один раз за время выполнения данной программы.

Например: вычислить

Процесс, описываемый структурой следования, называется линейным.

    1. Совокупность базовых структур "следование" называется линейным вычислительным алгоритмом.

Структура "ветвление" разделяет последовательность действий на 2 направления в зависимости от итога заданного условия.

Например: вычислить

  1. Линейные структуры

Пример. Вычислить при x = 2.1, y = 0.59, z = -4.8 значения a и b, используя формулы:

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

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

usingSystem;

namespaceConsoleLineStr

{

classProgram

{

staticvoidMain()

{

doublex =2.1, y =0.59, z = -4.8, a =0, b = 0;// Переменные типа double

a = y * Math.Pow(Math.Tan(x * x), 3);// Вычисляем a

a += Math.Sqrt(z * z / (y * y + x * x));

Console.WriteLine("Результаты");

Console.WriteLine();

Console.Write("a=");// Вывод a

Console.WriteLine(a.ToString());

b = Math.Log(y + x * x);// Вычисляем b

b += Math.Pow(Math.Sin(z / x), 2);

Console.Write("b=");// Вывод b

Console.WriteLine(b.ToString());

Console.WriteLine();

Console.WriteLine("Нажмите любую клавишу");

Console.ReadKey(); // Пауза

}

}

}

Внимание. При вводе данных в консоли разделитель целой и дробнй части вещественного числа – запятая.

  1. Решения и ветвления

    1. Безусловный переход вызовом функций

Когда компилятор находит в основном тексте программы имя функции, то происходит приостановка выполнения текущего кода программы и осуществляется переход к найденной функции. Когда функция выполнится и завершит свою работу, то произойдет возврат в основной код программы, на ту инструкцию, которая следует за именем функции.

Имя функции должно содержать пару круглых скобок (), даже если у функции нет аргументов. Это признак функции или метода.

    1. Ветвление if; else

Применяется для ветвления по двум ветвям. Синтаксис инструкции:

if (условие)

{

Блок инструкций 1;

}

else

{

Блок инструкций 2;

}

Фраза else может отсутствовать.

Если условие выполняется, то исполняется Блок инструкций 1, в противном случае исполняется Блок инструкций 2. Если в блоке только одна инструкция, то фигурные скобки можно пропустить.

Пример. В нем сравниваются значения One, Two. В зависимости от результата выводится одно из двух сообщений.

using System;

class Conditional

{

static void Main()

{

int One = 50;

int Two = 5;

if ( One > Two )

Console.WriteLine ("One: {0} больше Two: {1}", One, Two);

else

Console.WriteLine("One: {0} не больше Two:  {1}" , One, Two);

}

}