что такое линейный вычислительный процесс
Линейный вычислительный процесс
ЛВП представляет собой набор операторов, выполняемых последовательно, один за другим. Основу программы ЛВП составляют операторы присваивания, ввода и вывода данных.
Оператор присваивания
Оператор присваиванияиспользуется для сохранения результата вычисления выражения в переменной. Общий вид:
Знак := читается как «присвоить».
Работа оператора:
Сначала вычисляется выражение, стоящее справа от знака :=, затем результат записывается в переменную, стоящую слева от знака. Например, после выполнения оператора
текущее значение переменной k увеличится на 2.
Тип переменной должен быть не младшетипа выражения (например, если выражение дает целое число, результат можно писать и в целую, и в вещественную переменную, если результат вычисления выражения вещественный, писать его в целую переменную нельзя, т.к. может произойти потеря точности.
Примеры:
1. Записать оператор присваивания, который позволяет вычислить расстояние между двумя точками на плоскости с координатами (x1, y1) и (x2, y2).
Ответ:d:=sqrt(sqr(x1–x2)+sqr(y1–y2));
2. Записать последовательность операторов присваивания, обеспечивающих обмен значениями переменных x и y в памяти компьютера.
Ответ: c:=x;
Оператор ввода
Общий вид записи операторов
Переменные в списке перечисляются, как обычно, через запятую. Здесь и далее список данных, передаваемых любому оператору (а позднее и написанным нами подпрограммам), мы будем называть параметрами. Таким образом, параметрами оператора (точней, стандартной процедуры) read являются имена переменных, описанных ранее в разделе var.
Работа операторов
По достижении оператора ввода выполнение программы останавливается и ожидается ввод данных пользователем. Вводимые значения переменных разделяются пробелом или переводом строки (нажатием Enter). После ввода значений всех переменных из списка работа программы продолжается со следующего оператора.
Readln отличается от read только тем, что все переменные должны быть введены в одну строку экрана, Enter нажимается один раз в конце. Readln используется в основном для ввода строк текста, для ввода чисел лучше использовать read, т.к. в этом случае пользователь может вводить данные более свободно (и в одну, и в несколько строк экрана).
Если пользователь вводит данные недопустимого типа (например, строку текста вместо числа), то выводится сообщение об ошибке и работа программы прерывается.
Пример: нужно ввести данные для решения квадратного уравнения
Например, a=1, b=4, c=2.5 На экране вводим:
означает нажатие Enter, переходим на следующую строку
Пробелов может быть и несколько.
Как правило, перед оператором ввода ставится оператор вывода, служащий приглашением к вводу и поясняющий пользователю, что именно следует сделать (см. ниже).
Что такое линейный вычислительный процесс
Содержание раздела Учебник по инфоматике
Одним из свойств алгоритма является дискретность — возможность расчленения процесса вычислений, предписанных алгоритмом, на отдельные этапы, возможность выделения участков программы с определенной структурой. Можно выделить пять простейших структур:
Следование (последовательность двух или более операций);
Ветвление (выбор направления);
Повторение (цикл «до» и цикл «пока»);
Заметим при этом, что две последние структуры можно реализовать, используя структуру типа ветвление. Таким образом, любой вычислительный процесс может быть представлен как комбинация трёх элементарных алгоритмических структур. Соответственно, вычислительные процессы, выполняемые на ЭВМ по заданной программе, можно разделить на три основных вида:
1.линейные;
2.ветвящиеся;
3.циклические
Линейным принято называть вычислительный процесс, в котором операции выполняются последовательно, в порядке их записи. Каждая операция является самостоятельной, независимой от каких-либо условий. На схеме блоки, отображающие эти операции, располагаются в линейной последовательности.
Линейные вычислительные процессы имеют место, например, при вычислении арифметических выражений, когда имеются конкретные числовые данные и над ними выполняются соответствующие условию задачи действия. На рисунке показан пример линейного алгоритма, определяющего процесс вычисления арифметического выражения :
Вычислительный процесс называется ветвящимся, если для его реализации предусмотрено несколько направлений (ветвей). Каждое отдельное направление процесса обработки данных является отдельной ветвью вычислений. Ветвление в программе — это выбор одной из нескольких последовательностей команд при выполнении программы. Выбор направления зависит от заранее определенного признака, который может относиться к исходным данным, к промежуточным или конечным результатам. Признак характеризует свойство данных и имеет два или более значений.
Ветвящийся процесс, включающий в себя две ветви, называется простым, более двух ветвей — сложным. Сложный ветвящийся процесс можно представить с помощью простых ветвящихся процессов.
Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа: «да» — условие выполнено и «нет» — условие не выполнено.
Следует иметь в виду, что, хотя на схеме алгоритма должны быть показаны все возможные направления вычислений в зависимости от выполнения определенного условия (или условии), при однократном прохождении программы процесс реализуется только по одной ветви, а остальные исключаются. Любая ветвь, по которой осуществляются вычисления, должна приводить к завершению вычислительного процесса. На рисунке показан пример алгоритма с разветвлением для вычисления следующего выражения:
Циклическими называются программы, содержащие циклы. Цикл — это многократно повторяемый участок программы.
В организации цикла можно выделить следующие этапы:
подготовка (инициализация) цикла (И);
выполнение вычислений цикла (тело цикла) (Т);
модификация параметров (М);
проверка условия окончания цикла (У).
Порядок выполнения этих этапов, например, Т и М, может изменяться. В зависимости от расположения проверки условия окончания цикла различают циклы с нижним и верхним окончаниями. Для цикла с нижним окончанием тело цикла выполняется как минимум один раз, так как сначала производятся вычисления, а затем проверяется условие выхода из цикла.
В случае цикла с верхним окончанием тело цикла может не выполниться ни разу в случае, если сразу соблюдается условие выхода.
Цикл называется детерминированным, если число повторений тела цикла заранее известно или определено. Цикл называется итерационным, если число повторений тела цикла заранее неизвестно, а зависит от значений параметров (некоторых переменных), участвующих в вычислениях.
Лекция 8. Рис. 7.2. Линейный вычислительный процесс
Рис. 7.2. Линейный вычислительный процесс
Разветвляющимся называют такой вычислительный процесс, у которого на отдельных участках часть операций могут, в зависимости от какого–либо условия, выполняться различными путями, то есть в одном или другом направлении.
Примером разветвляющего вычислительного процесса может служить алгоритм вычисления корней квадратного уравнения, приведенного на рис.7.3. Из того алгоритма видно, что после проверки условия d >= 0, в зависимости от результата, дальнейшие вычисления могут происходить по ветви (+) или ветви ( – ).
Циклическим называют такой вычислительный процесс, в котором многократно (циклически) повторяется некоторая операция или группа операций, называемая телом цикла.
Выполнение любого цикла требует реализации следующих этапов:
– подготовка цикла, предполагающая инициализацию (установления начального значения) регулярно изменяющейся переменной, называемой параметром цикла;
– управление циклом, предусматривающее проверку условия выполнения цикла;
– выполнение тела цикла, означающее выполнение одних и тех же операций для каждого нового значения параметра цикла;
– продвижение цикла, предписывающее изменение параметра цикла на одну и ту же величину, называемую шагом, перед каждым новым выполнением тела цикла.
Рис. 7.3. Разветвляющийся вычислительный процесс
Блок – схема вычислений (рис.7.4) предполагает использование циклической операции.
Рис. 7.4. Блок – схема циклического вычислительного процесс
Циклическая операция будет выполняться до тех пор, пока будет выполняться условие х
Линейные вычислительные процессы
Основные понятия и классификация вычислительных процессов
При решении задачи на цифровой ЭВМ обычно выполняются следующие основные этапы:
Из перечисленных наиболее трудоёмкими являются четвёртый и пятый этапы, т.е разработка вычислительного алгоритма и программирование, поэтому им будет уделено особое внимание.
Под вычислительным алгоритмом понимается последовательная совокупность формализованных предписаний, переводящих исходные данные в процессе вычисления в искомые результаты.
К алгоритму задачи предъявляются следующие требования:
p>Алгоритм обычно задаётся в содержательном, блок-схемном или операторном виде. При блок-схемном описании вычислительного алгоритма следует пользоваться условными графическими обозначениями, приведенными на рис.1.
По принципу организации вычислений вычислительные процессы делятся на линейные и ветвящиеся.
Ветвящиеся процессы бывают с обратной связью, т.е. циклические, и без обратной связи, т.е. разветвляющиеся.
Циклом принято называть повторяемый участок вычислительного алгоритма.
Для организации циклических вычислительных процессов выделяется специальная переменная, называемая параметром цикла. По этой переменной ведётся управление счетом. В каждом цикле происходит изменение параметра цикла по определенной рекуррентной зависимости.
Различают циклические вычислительные процессы (ЦВП) известным (счетным) количеством повторений-циклов и с неизвестным количеством циклов.
Первые принято называть детерминированными ЦВП, а вторым – итерационными ЦВП.
В детерминированных ЦВП параметром цикла может быть аргумент функции или индекс элементов массива, а в итерационных ЦВП в качестве параметра цикла берется рассчитываемая функция, аргумент функции или индекс элементов массива. В двух последних случаях для итерационных циклов необходимо организовать комбинированное управление как по параметру цикла, так и по функции.
Перечисленные типовые вычислительные процессы являются составными частями комбинированных вычислительных процессов. В частности, из различного сочетания циклических вычислительных процессов организуются многоступенчатые циклы.
Линейные вычислительные процессы
Линейные вычислительные процессы (ЛВП) характеризуются последовательным выполнением операторов программы и блоков вычислительного алгоритма. ЛВП, как правило, являются составной частью циклического или разветвляющегося вычислительного процесса.
При освоении материала по разработке структурных схем сложную математическую зависимость целесообразно разбивать на отдельные части и оформлять их в виде самостоятельных блоков. Например, при вычислении функции по формуле
часть (фрагмент) вычислительного процесса А2 +В2 целесообразно оформить в виде самостоятельного блока.
При разработке вычислительного алгоритма целесообразно стремиться к минимизации количества вычислительных операторов и к минимальному использованию объема памяти, не ухудшая при этом точность вычисления выбранной последовательностью вычислительных действий. Например, степенной полином целесообразно вычислять по схеме Горнера:
Используя известные методы тождественных преобразований, для вычисления функции r целесообразно выбрать следующую запись:
Статьи к прочтению:
Сложность алгоритма Большое О
Похожие статьи:
Существуют три типа вычислительных процессов: линейный, разветвленный, циклический. Линейный вычислительный процесс – это процесс, где одно действие…
Линейные вычислительные процессы
Линейный вычислительный процесс представляет собой последовательность действий, выполняемых одно за другим. Основу программы линейного вычислительного процесса составляют оператор присваивания и операторы ввода-вывода данных.
Оператор присваивания
Оператор присваивания служит для вычисления выражения и записи результата в память компьютера.
Общий вид записи оператора
переменная=выражение;
Знак = читается как «присвоить». Конец любого оператора на языке С++ фиксируется точкой с запятой.
Работа оператора присваивания
При выполнении оператора присваивания происходит замена текущего значения переменной, стоящей слева от знака присваивания, новым значением, полученным в результате вычисления выражения, стоящего справа от знака равенства, например
c = a + b; //вычислит сумму a и b и запишет результат в c.
Тип результата выполнения оператора
При записи оператора присваивания необходимо строго следить за типом переменной, стоящей в левой части оператора, и типом выражения:
В случае целого арифметического выражения происходит преобразование его результата к вещественному типу. Например, при выполнении оператора
вещественной переменной т будет присвоено значение 23.0;
Тогда записать оператор присваивания в виде: n=а*b/с; приведет к усечению результата до целого типа.
В операторе присваивания конечный результат вычисления выражения в правой части приводится к типу переменной, которой должно быть присвоено это значение. Данный процесс может привести к понижению типа, как описано выше, или к повышению, при котором величина приводится к типу данных, имеющему более высокий приоритет. Последовательность имен типов, упорядоченных от высшего типа к низшему типу, выглядит так: double, float, long, int, short, char. Применение ключевого слова unsigned повышает ранг соответствующего типа данных со знаком. Повышение типа обычно происходит гладко, в то время как понижение может привести к затруднениям (скрытым ошибкам). Запомним, что тип значения выражения в правой части оператора присваивания всегда преобразуется к типу переменной, которой присваивается это значение.