русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Циклическая структура с ПОСТУСЛОВИЕМ


Дата добавления: 2013-12-23; просмотров: 3211; Нарушение авторских прав


Рис. 1.6

Рис. 1.3

Рис. 1.2

Рис. 1.1

Таблица 1.1

Название блока Обозначение Выполняемая функция
Начало и конец Вход и выход в отдельно описанных алгоритмах и подпрограммах.  
  Ввод и вывод Задание численных значений исходных данных и фиксация результатов расчета. Имеет один выход.
  Вычислительный блок Запись расчетных формул: слева от знака равенства записывается вычисляемая переменная, справа — расчетная формула.
  Блок условия (логический блок)     Проверка условия и выбор направления хода вычислительного процесса. Имеет два выхода: “да”(знак “+”) при выполнении условия, “нет”(знак “-”) — в противном случае.
  модификация  
 
 


b

Начало цикла    
  Соединитель Указание связи между прерванными линиями потока.
  Предопределенный процесс Использование ранее созданных и отдельно описанных алгоритмов или программ

Алгоритм, записанный в виде блок- схемы, не требует дополнительных объяснений, позволяет даже мало сведущему в информатике человеку очень наглядно представить и проследить последовательность действий, необходимых для решения задачи. Поэтому изображение алгоритмов в виде блок- схем используется в настоящее время наиболее широко. Часто в блоке условия вместо “да” используют “+”, а вместо “нет” используют “-”.

Пример.Дано число х. Рассчитать Y, где Y=

 

 

 

1.3 ОСНОВНЫЕ СТРУКТУРЫ АЛГОРИТМОВ

Основные структуры алгоритмов —это ограниченный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий.



 

К основным структурам алгоритмов относятся:

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

§ ветвление;

§ повторение.

 

1.3.1 Алгоритмы линейной структуры

 

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

 

Пример.Составить алгоритм вычисления объёма прямоугольного параллелепипеда. Диагональ параллелепипеда, равная d см, составляет с плоскостью основания угол a˚, а с боковой гранью угол b˚. Одна из сторон основания равна а см.

 
 


Решение:

Для вычисления объёма прямоугольного параллелепипеда необходима следующая формула: V=abc.

Из формулы видно, что для нахождения объёма необходимо сначала найти длину b и высоту c параллелепипеда. Из соотношения углов и сторон прямоугольного треугольника (рис.2) можно выразить искомые стороны: b = d×Sinb иc = d×Sina.

Представим решение задачи в виде блок-схемы:

 
 

 


Так как линейный алгоритм представляет собой набор команд, выполняемых последовательно друг за другом, то все блоки алгоритма будут располагаться друг под другом в определенной последовательности, согласно условию задачи. Только вычислив b и c, возможно определить V. Все блоки алгоритма, кроме блоков ввода и вывода будут вычислительными. В блоке ввода записывается слово “Ввод” и перечисляются исходные данные (переменные a, a, b). В блоке вывода записывается слово “Вывод” и перечисляются переменные, которые являются результатом расчета. В нашем примере выводится одна переменная V.
Пример.Составить алгоритм вычисления значения выражения для исходных данных x и y.
  рис. 1.4   На практике линейные алгоритмы используются в основном при расчете громоздких формул.
     

 


 

1.3.2 Алгоритмы разветвляющейся структуры

 

На практике редко удается представить схему алгоритма решения задачи в виде линейной структуры. Часто в зависимости от каких-либо значений промежуточных результатов необходимо организовать вычисление либо по одним, либо по другим формулам.

Разветвляющийся алгоритм содержит блок (или блоки) проверки некоторого условия. В зависимости от выполнения условия вычислительный процесс может идти по одному или другому направлению. Каждое из возможных направлений вычисления называется ветвью. В качестве вычислительного процесса может выступать одно действие или последовательность действий.

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

 

На рисунках 5а, 5b, 5c продемонстрированы в условных обозначениях схемы основных конструкций разветвляющихся алгоритмов:

- ответвление;

- раздвоение;

- выбор.

 

В конструкции Ответвление происходит выполнение вычислительного процесса только по одному из направлений. На приведенной в рис.5а схеме - по направлению, указанному знаком "+":

 
 

 

 


Рис. 1.5а.Конструкция –Ответвление

В конструкции Раздвоениев зависимости от итога проверки условия происходит выполнение либо одного вычислительного процесса, либо другого: если условие выполняется, то процесс продолжается по направлению, указанному знаком «+», иначе (условие не выполняется) – по направлению, указанному знаком «-».

 

 

 


Рис. 1.5b.Конструкция - Раздвоение

 

 

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

 

 


Рис. 1.5с. Конструкция – Выбор

 

Рассмотрим примеры на каждую из конструкций разветвляющейся структуры.

 

Пример.Составить алгоритм изменения значений двух заданных чисел: удвоить те из них, которые принадлежат интервалу [1;5].

 
 

 


  На данной блок-схеме продемонстрированы две последовательно расположенные друг за другом конструкции - Ответвление. Рассматриваемый алгоритм имеет две ветви: в одной, если переменная принадлежит заданному интервалу (условие выполняется), то ее значение удваивается, а в другой (условие не выполняется) – никаких действий над переменной не предполагается.    
Пример.Дано число х. Рассчитать  
    Рис. 1.7     В данном примере продемонстрирована конструкция Раздвоение. В зависимости от введенного значения аргумента Х переменная Y принимает одно из двух возможных значений: Sinx или Cosx.  

Пример.Составить алгоритм нахождения корней квадратного уравнения ax2+bx+c=0 в зависимости от коэффициентов а, b и с.

  Рис. 1.8 Алгоритм решения данного примера можно записать в виде линейной структуры. Однако, для удовлетворения свойств массовости и результативности алгоритма необходимо, чтобы при любых исходных данных был получен результат или сообщение о том, что задача не может быть решена при заданных исходных данных. Действительно, если D<0, задача не может быть решена. Рассматриваемый алгоритм должен иметь две ветви: в одной, если D³0, необходимо вычислить значения переменных х1 и х2, а в другой – дать информацию «корней нет». В данной задаче предполагается, что при D=0 также существуют два корня (одинаковых).
  На практике же очень часто встречаются задачи, алгоритм которых представляет более сложную структуру.  
Пример.Дано число х. Рассчитать  
При построении схемы решения данного примера достаточно двух логических блоков для организации расчетов по трем ветвям.  
  Рис. 1.9 Сначала проверяется условие в первом логическом блоке: х < 0. При его выполнении вычисляется значение Y и происходит выход из разветвляющейся структуры. При невыполнении данного условия, проверяется условие во втором логическом блоке: х > 0. После его проверки происходит вычисление значения Y по одной из двух оставшихся формул.
Пример.Дано число х. Рассчитать
    Рис. 1.10
     

В данном примере продемонстрирована конструкция Выбор, где ключом выбора является переменная n. В зависимости от введенного значения этой переменной, равного 0, 1, 2 или 3, происходит выбор формулы для вычисления Z. При всех других значениях n, (отличных от 0, 1, 2, 3) Z вычисляется по формуле x2.

 

 

1.3.3 Алгоритмы циклической структуры

 

Существует множество задач, в которых многократно используются одни и те же команды для различных данных. Обойтись только линейными и разветвляющими алгоритмами в этих случаях не всегда удаётся. Для данных ситуаций существуют циклические алгоритмы.

Алгоритмы циклической структуры (повторение) – алгоритмы, отдельные действия в которых многократно повторяются.

 

С алгоритмом циклической структуры тесно связаны следующие понятия:

Цикл – выполнение определенного набора команд некоторое количество раз.

Тело цикла – многократно повторяющиеся действия алгоритма.

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

 

Различают алгоритмы:

· с заранее известным числом повторений – условием окончания повторения является достижение параметра цикла своего конечного значения;

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

 

 

Схему этого цикла можно представить в следующем виде:

 
 

 




<== предыдущая лекция | следующая лекция ==>
Графический способ записи алгоритма. | Циклическая структура с ПАРАМЕТРОМ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.