раздат. мат-ал. Aлгоритм

advertisement
7
Алгоритмы
7.1. Понятие алгоритма
7.2. Свойства алгоритмов
7.3. Алгоритмы для вычислений
7.4. Способы описания алгоритмов
7.4.1. Словесное описание алгоритма
7.4.2. Графическое описание алгоритма
7.4.3. Описание на алгоритмическом языке
7.5. Основные структуры алгоритмов
7.5.1. Алгоритмы линейной структуры
7.5 2. Алгоритмы разветвляющиеся структуры
7.5.3. Алгоритмы циклической структуры
7.1. Понятие алгоритма
Термин «алгоритм» своим происхождением обязан имени
узбекского математика Мухаммад бен Муса Аль-Хорезми, который
еще в IX веке сформулировал правила выполнения четырех
арифметических действий. Само слово «алгоритм» происходит от
латинского слова Algorithmi, которое является латинским
изображением арабского имени Аль-Хорезми. В математике
алгоритм - это точное предписание, задающее вычислительный
процесс,
или,
другими
словами,
точное
изложение
последовательности действий над исходными данными, выполнение
которых обеспечивает получение искомого результата.
Алгоритм - это не только описания последовательностей
решения различных задач. В форме различных инструкций и правил
алгоритмы сопровождают человека во всей его жизни. Алгоритмами
являются инструкции по включению и эксплуатации различных
электробытовых приборов. Добираясь от дома до работы или места
учебы, каждый из нас выполняет определенный алгоритм,
составленный для себя, исходя из имеющихся возможностей, условий
и накопленного опыта. В зависимости от времени выхода из дома,
погодных условий, других обстоятельств этот алгоритм может
допускать несколько вариантов маршрута, совершаемых по пути
пешей прогулки, использование того или иного вида транспорта и т.д.
7.2. Свойства алгоритмов
Для решения любой относительно сложной задачи, как правило,
могут быть разработаны несколько различных алгоритмов.
Рассмотрим основные критерии качества алгоритмов.
Связанность
алгоритма
определяется
количеством
промежуточных результатов, которые должны одновременно
храниться в памяти. Естественно, что алгоритм тем лучше, чем
меньше его связанность, так как при этом уменьшается количество
ячеек, занятых в оперативной памяти.
Объем алгоритма - это количество операций (шагов), которые
необходимо выполнить для получения конечного результата.
Естественно, что чем меньше трудоемкость, т.е. чем меньше операций
нужно предусмотреть составителю алгоритма, а значит, меньше
времени затратить на его написание и исполнение, тем выше качество
алгоритма.
Длительность решения определяется количеством шагов
алгоритма, а также сложность этих шагов. Даже если все операции,
ограничиваются четырьмя арифметическими действиями, то все
равно сказывается существенная разница во времени их выполнения.
Умножение и деление требуют затрат машинного времени в 3-4 раза
больше, чем простейшие операции - сложение и вычитание.
Разветвленность
алгоритма
характеризует
логическую
сложность и определяется количеством путей, по которым может
реализоваться процесс вычислений.
Значительная
разветвленность
увеличивает
сложность
алгоритма, а значит, и трудоемкость его разработки.
Цикличность алгоритма заключается в том, что фактическое
количество операций, которое должно быть выполнено в ходе
вычислительного процесса, превышает количество операций,
содержащихся в записи алгоритма. Происходит это благодаря тому,
что те или иные группы операций могут повторятся многократно
(циклически) и их можно не включать каждый раз в алгоритм.
Алгоритм обладает следующими основными свойствами,
раскрывающими его определение:
1) Определенность. Каждое правило алгоритма должно быть
четким и однозначным, чтобы при одних и тех же начальных данных
получался один и тот же результат.
2) Результативность. Решение задачи с помощью алгоритма
является конечным процессом, который завершается получением
определенного результата.
3) Дискретность. Процесс преобразования исходных данных в
результате вычислений осуществляется дискретно, так что только
после окончания одного действия можно приступить к выполнению
следующего.
4) Массовость. Алгоритм решения задачи разрабатывается в
общем виде так, чтобы его можно было применять для класса задач,
отличающихся лишь исходными данными. При этом исходные
данные могут выбираться из области, называемой областью
применимости алгоритма.
7.3. Алгоритмы для вычислений
Простейший класс алгоритмов составляют алгоритмы
вычислений по формулам. Задача вычисления по формуле составится
так: задается формула и значения входящих в нее величин, требуется
произвести предусмотренные формулой действия и получить
окончательный числовой ответ. Так, например, формула
D 2
S
 DH
2
задает алгоритм вычисления площади поверхности цилиндрического
тела с диаметром D и высотой H.
Строго говоря, формула определяет последовательность
действий не столь однозначно, как того требует понятие алгоритма (в
частности, свойство определенности). Вместе с тем известно, что
выбор любого порядка действий при соблюдении установленных в
математике правил не отразится на результате. В обычном случае
порядок действий по формуле регулируется исполнителем человеком.
В
алгоритмических
языках,
используемых
в
программировании
для
ЭВМ,
обычно
предусматривается
возможность задания вычислений непосредственно формулами в
обычном математическом смысле; это означает, что ЭВМ в данном
случае «обучена» определять правильный порядок действий по виду
формулы.
При записи вычислительных алгоритмов удобно использовать
специальный знак присваивания := (иногда используют стрелки). Этот
знак используется для изображения особой операции - операции
присваивания, смысл которой состоит в следующем. Пусть имеется
предписание вида
y:  A
(читается: «y присвоить A»), где y - переменная, A - некоторое
выражение. Предписание означает следующее: выполнить все
действия, предусмотренные формулой A, и полученный результат
(число) считать значением (т.е. присвоить) переменной y. Пример
записи команды присваивания:
x:  ln a 2  1
y: 2x 2  7
В левой части команды присваивания всегда должна стоять
переменная. Выражение в правой части в частном случае может быть
переменной или числом, например y:=a; x:=12.
7.4. Способы описания алгоритмов
Алгоритмы могут быть представлены в виде словесного или
графического описания, а также описания на алгоритмических
языках.
7.4.1. Словесное описание алгоритма
Самой распространенной формой представления алгоритмов,
адресуемых человеку, является обычная словесная запись. Словесное
описание не ограничивается каким-либо определенным набором слов
или языком. Необходимо только сконструировать это описание так,
чтобы оно удовлетворило всем требованиям, предъявленным к
алгоритму:
определенности,
результативности,
дискретности,
массовости. Естественно, что такое описание должно содержать
минимум слов, быть удобным для чтения и не должно быть
косноязычным.
Пример
1.
Требуется
записать
последовательность
элементарных действий для вычислений по формуле:
y
3x
8x  1
(1)
При
составлении
требуемой
алгоритмической
записи
предположим, что правила выполнения арифметических операций
сложения, умножения, деления, а также извлечение квадратного
корня понятны вычислителю. При этом предположении искомый
алгоритм в обычной словесной записи может иметь вид:
1) прочитать заданное значение х;
2) умножить х на 8;
3) из результата второго действия извлечь квадратный корень;
4) к результату третьего действия прибавить 1;
5) умножить х на 3;
6) результат пятого действия разделить на результат четвертого
действия;
7) записать значение результата y.
Получили словесную запись линейного вычислительного
алгоритма.
Ее можно сделать более компактной, если воспользоваться
операцией присваивания :=. При этом мы приходим к весьма важному
приему, широко используемому в практике алгоритмизации, использование вспомогательных переменных (букв) для запоминания
промежуточных числовых значений. Действительно, возьмем, к
примеру, предписание 2: «Умножить х на 8». Выберем переменную
«а» для обозначения результата этого действия, тогда само действие с
использованием знака присваивания может быть записано
значительно короче:
а:=8х,
что означает: умножить текущее значение х на 8 и полученный
результат считать впредь значением переменной «а». Используя
всюду, где можно, знак присваивания и вводя новые вспомогательные
переменные, получим следующее представление приведенного выше
алгоритма:
1) начало;
2) чтение х;
3) а:= 8х;
4) b:= a ;
5) с:= b+1;
6) d:= 3х;
7) у:= d/с;
8) запись у;
9) конец.
В дальнейшем всюду, где в словесной записи алгоритмов будет
использоваться знак присваивания, будем предполагать, что для
исполнителя понятна эта операция.
7.4.2. Графическое описание алгоритма
Словесное описание алгоритмов раскрывает смысл каждой
отдельной операции алгоритма, но оно не обладает той наглядностью,
которую имеет графическое описание.
Графическое описание алгоритма означает представление его в
виде граф-схемы, или блок-схемы.
Блок-схемой называется наглядное графическое изображение
алгоритма, когда отдельные действия (этапы) алгоритма
изображаются при помощи различных геометрических фигур
(блоков), а связь между этапами (последовательность выполнения
этапов) указываются при помощи стрелок, соединяющих эти фигуры.
№
Символ, название
1. Процесс
Обозначение
Пояснение
Вычислительные
действия
последовательность
вычислительных
действий
2. Решение
Проверка условий
3. Модификация
Начало цикла
4.
Предопределенный
процесс
Вычисление
подпрограмме,
стандартной
подпрограмме
или
по
5. Документ
6. Ввод-вывод
7. Пуск-останов
8. Соединитель
Вывод, печать
результатов на бумаге
Преобразование данных в
форму, пригодную для
обработки (ввод) или
отображения результатов
обработки (вывод)
Начало,
конец,
прерывание
процесса
обработки данных или
выполнения программы
Указание на связь между
прерванными
линиями
потока, соединяющими
символы
9. Дисплей
Вывод данных на
дисплей
10 Ручной ввод
Ввод данных с
клавиатуры
Наиболее часто применяемые обозначения в блок-схемах
алгоритмов приведены в таблице 1.
Определенный этап вычислений на схеме алгоритма
обозначается прямоугольником (1), внутри которого записывается
содержание этого этапа.
Проверка условия изображается ромбом (2), внутри которого
записывается это условие. В результате проверки условия, выбирается
один из двух возможных путей вычислительного процесса. Если
условие выполняется, то следующим реализуется этап по стрелке
«да», если условие не выполняется, то осуществляется переход по
стрелке «нет».
Начало и конец вычислительного процесса изображается
фигурой напоминающей овал (7). Внутри нее записывается слова
«начало» или «конец».
Пример 2. Составить блок-схему алгоритма для вычислений по
формуле:
y
3x
8x  1
(2)
Советы по составлению блок-схемы
Даже профессионалу трудно с первого раза начертить
правильную блок-схему, которая строится постепенно. Опыт
показывает, что блок-схема обычно начинается с инициализаций
(начальных установок), которые полностью определяются только
тогда, когда нарисовано «ядро блок-схемы». Поэтому следует начать
такой рисунок с центральной части, оставив место для
последовательности инициализации. Блок-схема строится в несколько
этапов, а именно вначале рисуется принципиальная блок-схема и уже
потом подробная блок-схема.
В процессе этого построения желательно посмотреть, в какой
степени подпрограммы могут упростить подробные блок-схемы, а
затем и программирование.
Этап составления блок-схемы непосредственно предшествует
программированию. А при написании программ можно, как правило,
использовать лишь латинские прописные буквы; в вычислительных
машинах обычно не допускаются строчные буквы и греческий
алфавит.
Чтобы облегчить переход от блок-схемы к программе и обратно,
желательно использовать в блок-схеме только литеры, которые
допустимы в программе.
7.4.3. Описание на алгоритмическом языке
Алгоритмические языки близки к естественному языку. Именно
такая цель ставилась при их разработке. Однако правила построения
конструкций в алгоритмическом языке более «жесткие». Это
означает, что алгоритмические языки допускают меньше
разнообразия для описания действий алгоритма, чем естественный
язык и привычная математическая символика, и машина однозначно
понимает любую конструкцию языка. Например, для умножения двух
переменных a и b общепринятая математическая символика допускает
несколько возможных форм записи: 1) ab; 2) ab; 3) ab и т.д. А на
алгоритмическом языке, например, на языке Бейсик, эту операцию
можно записать только единственным образом как A*B. Небольшие
ошибки или описки, допускаемые в предложениях естественного
языка и не искажающие смысла, совершенно недопустимы в
алгоритмическом языке, где каждый символ и его место в
конструкции имеют строго фиксированное значение.
Так как программа на алгоритмическом языке предназначена для
выполнения на ЭВМ, то в алгоритмическом языке, помимо средств,
описывающих действия алгоритма, обязательно должны быть также
определены средства, позволяющие вводить исходные данные в ЭВМ
и выводить результаты выполнения программы.
Наиболее распространенными алгоритмическими языками в
настоящее время являются БЕЙСИК, ФОРТРАН, ПЛ/1, ПАСКАЛЬ.
7.5. Основные структуры алгоритмов
Основные структуры алгоритма - это ограниченный набор
блоков и стандартных способов их соединения для выполнения
типичных последовательностей действий.
7.5.1. Алгоритмы линейной структуры
Пример 3. Вычислить значение y по формуле:
y
2x  3
3x  4
Для нас не составит труда решить эту задачу: руководствуясь
формулой (3), мы сможем выполнить все необходимые
арифметические действия. Однако, формула не является алгоритмом
решения задачи, потому что хотя из формулы и видно, какие действия
нужно выполнить, порядок их выполнения в известной степени
произволен. Например, мы можем определить сначала числитель, а
затем знаменатель дроби, но могли бы действовать и в обратном
порядке.
Такой
индивидуальный
выбор
несовместим
с
тем
представлением о точном описании процесса решения, которое
связывается со словом «алгоритм». Понятие алгоритма требует, чтобы
были точно определены не только сами действия, но и порядок их
выполнения.
Чтобы считать, что формула (3) определяет алгоритм решения
нашей задачи, необходимо принять некоторые дополнительные
соглашения о порядке выполнения действий - например, условиться,
что вычисления всегда производятся (с учетом скобок и старшинства
операций) последовательно: слева направо, сначала в числителе, а
потом в знаменателе.
Приведем словесное описание алгоритма:
1) умножить х на число 2;
2) к результату действия 1 прибавить число 3;
3) умножить х на число 3;
4) из результата действия 3 вычесть число 4;
5) результат действия 2 разделить на результат действия 4.
Такая форма записи алгоритма имеет свои преимущества. Во
первых, в ней явным образом указывается порядок выполнения
действий. Во вторых, она обладает большей универсальностью:
словами можно выразить и то, что нельзя записать с помощью
формулы.
Используя знак присваивания, и вводя новые вспомогательные
переменные b, c и d, получим:
1) a:=2x;
2) b:=a+3;
3) c:=3x;
4) d:=c-4;
5) y:=b/d.
На рисунке приведена блок-схема алгоритма вычисления по
формуле (3). Как видно из схемы, каждый из операторов в
определенной последовательности выполняется только один раз.
Алгоритмы, все операторы которых выполняются однократно
и последовательно один за другим, называются прямыми, или
линейными, алгоритмами.
Пример 4. Составить алгоритм
y=ax2+bx+c
Словесное описание алгоритма:
1) ввод a,b,c,x;
2) а:=ах2;
3) b:=bx;
4) y:=a+b+c;
5) вывод y;
6) конец.
вычисления
выражения
Задачи и упражнения на алгоритмизацию:
1. Даны a, b, c. Вычислить сумму этих величин.
2. Составить алгоритм для вычисления выражения y=x2+1+a
при a=5, x=2.
3. Написать алгоритм для вычисления выражения (a+b)/(c+p).
4. Составить алгоритм вычисления выражения ab/cd.
5. По заданным формулам составить словесное описание и блоксхему алгоритмов:
2
1
m(r 2  R 2 )
F


R
( P1  P2 )

3).
J
2 LC
2
1).
2).
VS
F
x
4).
( P1  P2 )r 2
V
4L
5).
r 2 ( P1  P2 )
Q
8L
6).
6. Составить словесное описание и блок-схему для следующих
выражений:
y
1).
0,5(x  1)(x  2)(x  3)
x4
y  0,127  10 3  2  sin 4 a 
3).
y
2).
3 a
ln
2 2
3
7
5). y  a  (z  2)(27  z)  b  0,1  10
x  sin x 2
xe
(cos x  sin x )
(cos
x

sin
x
)
4).
y  (1  3x2 )(1  x)2
 Упражнения для самоподготовки
Re 
1).
V 
4).
VD

Eh
d
h
2).
2
gr
T  2
5).
3). F  2hL
J
mgl
h
6).
2 cos
rg
3
2
7). y  x  2 x  8
y
10).
4
8). y  tgx  ln x  x
3
2b  1
2c  1

 2
a  2 b  1 c  3c  2
y
11).
2
2
9). y  2 x ( x  x  1)
a 3
6

a  4b  9
3 d
2
7.5.2. Алгоритмы разветвляющиеся структуры
На практике редко удается представить схему решения задачи в
виде линейной структуры. Часто от каких-либо промежуточных
результатов необходимо направлять обработку данных по тому или
иному пути. То есть в зависимости от выполнения некоторого
логического условия, вычислительный процесс должен идти по
одной или другой ветви.
Пример 1. Алгоритм нахождения корней квадратного уравнения
2
ax +bx+c=0. Корни этого уравнения находятся по формуле:
x1, 2
 b  b 2  4 ac

2a
Порядок вычислений, прежде всего, зависит от того, будет ли
численное
значение
подкоренного
выражения
D=b2-4ac
положительным или отрицательным. Если D>0, то корни
действительные, если D<0 - корни мнимые.
Процесс решения этой задачи можно разделить на следующие
этапы:
1) вычисление D=b2-4ac;
2) проверка условия D>0 или D<0;
3) вычисление действительных корней, если D>0;
4) вычисление мнимых корней, если D<0.
Рассмотренный процесс решения задачи включает три
арифметических этапа (1, 3, 4) и один логический (2).
Арифметические этапы заключаются в проведении вычислений
по выбранным формулам, а логический - в проверке выполнения
условий, определяющих момент перехода к тому участку алгоритма,
на котором начинается расчет по нужной формуле.
Составим словесную запись алгоритма решения уравнения
ax2+bx+c=0
1) начало;
2) ввод a, b, c;
3) D:=b2-4ac;
4) если D>0 идти к 6;
5) вывод "Решений нет" идти к 8;
6) x1,2  b  D / (2a );
7) вывод x1, x2;
8) конец.
2
Блок-схема алгоритма решения квадратного уравнения
представлена на рисунке. Как видно из схемы, за вычислением
дискриминанта D следует логический оператор сравнения
дискриминанта с нулем. В зависимости от результата сравнения
дальнейший процесс вычислений должен пойти либо по первой
(левой), либо по второй (правой) ветви.
Приведенная здесь блок-схема представляет собой графическое
описание разветвляющегося алгоритма.
Разветвляющимися алгоритмами называют алгоритмы с
однократным повторением операторов, причем та или иная группа
операторов должна или не должна выполняться в зависимости от
соблюдения некоторых условий.
нет
да
При разработке реальных алгоритмов часто возникает необходимость
использовать «вложенные» управляющие структуры.
Пример 2. Проиллюстрируем сказанное на простом примере
выбора
наименьшего
из
трех
заданных
чисел.
Схема
соответствующего алгоритма изображена на рисунке. Отыскиваемое
наименьшее значение обозначим через m.
Словесная запись:
1) начало;
2) ввода a,b,c; m:=a;
3) если m>b то m:=b;
4) если m>c то m:=c;
5) вывод m;
6) конец
нет
нет
да
да
Задачи и упражнения для алгоритмизации:
1. Задано число х. Вычислить функцию
1,

S   0,
 1,

x0
x0
x0
2. Вы решили позвонить своему знакомому с вашего домашнего
телефона. Попробуйте составить блок-схему алгоритм набора
нужного номера.
3. Составить алгоритм решения уравнения ax=b.
4. Вычислить функцию ln x, если x>1 и 1-x, если x<1.
5. Составить словесное описание и блок-схему алгоритмов
следующих выражений:


cos
x
x


2
y

1  e cos x x 
2

1).
 x 2  4x  7, x  2

y
1
, x2
2
 x  4x  7
3).
 tgx  x  1,
x0
y 3
2
x  3x  4x  7, x  0
2).
 x  23, x  0
y   25
 x  23 , x  0
4).
7.5.3. Алгоритмы циклической структуры
При составлении алгоритмов решения практических задач,
нередко возникает случаи, когда приходится неоднократно повторять
одни и те же предписания.
Пример: Требуется вычислить несколько значений функции
3
y=2x -5 для значений x, начиная с x=1 и с шагом 0,5.
Последовательность необходимых для этого действий может быть
записана так:
1) x:=1;
2) y:=2x3-5;
3) вывод x,y;
4) x:=x+0,5;
5) y:=2x3-5;
6) вывод x,y;
7) x:=x+0,5;
8) y:=2x3-5 и тд.
Желая получить значения функции для последующих значений
y, мы должны были бы и дальше записывать абсолютно одинаковые
тройки предписаний, таких как, тройки с номерами 2, 3, 4 или с
номерами 5, 6, 7 и т.д. Этого можно и не делать, если попытаться
предъявить исполнителю одну и ту же тройку предписаний несколько
раз. Используем для этой цели предписание безусловного перехода и
дополнив схему алгоритма логическим блоком, так как показано на
рисунке, т.е. в каждом «обороте» цикла будем устраивать проверку
условия x<10. Как только оно перестанет соблюдаться, процесс
прекращается. Словесная запись этого алгоритма приведена ниже:
1) x:=1;
2) y:=2x3-5;
3) вывод x,y;
4) x:=x+0,5;
5) если x10 идти к 2;
6) конец.
Блок-схема алгоритма показано на рисунке.
Полученный алгоритм является типичным примером простого
циклического алгоритма с управляемым окончанием. Путем
незначительных добавлений его можно преобразовать так, чтобы он
был, применим на любом отрезке [a, b] из области определения
функции и с любым шагом h. Для этого достаточно ввести
предписание «ввод», с помощью которого значения параметров a, b,
h будут устанавливаться по желанию пользователя:
1) ввод a,b,h;
2) x:=a;
3) y:=2x3-5;
4) вывод x,y;
5) x:=x+h;
6) если xb идти к 3;
7) конец.
Блок-схема алгоритма показано на рисунке. Такие алгоритмы
называются циклическим.
Циклическим алгоритмом называется такой алгоритм,
операторы которого выполняются многократно при изменяющихся
значениях аргументов.
да
нет
да
Пример 3. Составить алгоритм вычисления суммы первых 20
членов последовательности с общим членом ak=(k+1)/(2k+1)2.
Для циклического накопления сумм при составлении
соответствующих
алгоритмов
используется
предписание
стандартного вида:
сумма:=сумма+слагаемое.
Если повторять такое предписание, требуемое количество раз,
изменяя, соответствующим образом слагаемое, то и будет получена
искомая сумма. Понятно, что сумма перед началом работы цикла
должна иметь нулевое значение. В схеме, изображенной на рисунке,
роль суммы выполняет переменная S, а роль слагаемого - общего
члена последовательности (k+1)/(2k+1)2. Изменение слагаемого
достигается увеличением в каждом обороте цикла номера члена k на
единицу. Словесная запись этого алгоритма:
1) k:=1;S:=0;
2) S:=S+(k+1)/(2k+1)2;
3) k:=k+1;
4) если k20 идти к 2;
5) вывод S;
6) конец.
да
нет
да
нет
В этом циклическом алгоритме управление окончания цикла
осуществляется проверкой условия k20, и производится эта проверка
всегда после выполнения рабочей части (тело) цикла. Такие циклы
называют циклами с пост-условием (или ЦИКЛ-ДО). Этот же алгоритм
можно организовать иначе: поставить проверку окончания перед
рабочей частью цикла. Такие циклы называются циклами с предусловием (ЦИКЛ-ПОКА). Ниже приведена словесная запись алгоритма:
1) k:=1;S:=0;
2) если k>20 идти к 5;
3) S:=S+(k+1)/(2k+1)2;
4) k+1; идти к 2;
5) вывод S;
6) конец.
Задачи и упражнения для алгоритмизации:
1. Составить схему и словесную запись алгоритма вычисления
произведения 20 членов последовательности с общим членом ak=
(2k+1)/(3k-2), используя циклы с пред-условием и пост-условием.
2. Вычислить и вывести на печать значения функции y=b3/(a+t)
при t, изменяющимся от 0 до 3 с шагом 0,1.
3. Составить блок-схему и словесную запись алгоритмов
вычисления для следующих примеров:
1

3
1). n1 n
k3
 4
2
k
2). k 1 k  3k  e
n2

3). n 1 2n  1
k 1

k 1
4). k 1 sin k  e  1
n3

2
5). n1 n  4n  1
n2  2
 n n
6). n 1 e  n
50
4
6
6
i4  i2  3

i
i
7). i 1 i  e
1

4
8). n 1 n  1
k 3 k
 k
10). k 1 k  k  7
1 9
y   xi
n i 1
11).
9
7
6
5
5
3
9).
 (4i  i )
i 1
17
x
12).
i 1
i
2
 Упражнения для самоподготовки
Составить словесную запись и
вычисления для следующих примеров:
e x 1 , x  2
y 3
 x  1, x  2
1).
2
 x 2  x, x  2
y 3
x  x , x  2
2).
блок-схему
алгоритмов
 x x  1, x  0
y
 x  3, x  5
3).
 x  4, x  0
 x 3  1, x  1
 2x  1
, x  10



y   x 2  3, x  7,5
y  2 x  1, x  1
y
x

0,8 x  1, x  1
 x  2 , x  10
x

x
,
x

7
,
5



4).
5).
6).
3
2x  1


x 1
7). x  0 x  2
10
1 20
n 1
10). n n 1
2x  1
 2
8). x  5 x  3 x  2
15
11).
1 20
y   xi
n i 1
10
9).
 x
x  1
12
12).
( x  1)( x  3)
x
 4  2x  x2
x2
Download