Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

пр6-8

.pdf
Скачиваний:
111
Добавлен:
14.03.2016
Размер:
1.45 Mб
Скачать

.

Для реализации задачи с другой массой коробки достаточно перезаполнить ячейку С6. В результирующих ячейках H15, J15 будет пересчитан результат. Номер ветви (ячейка J15) покажет какая расчетная зависимость использовалась.

Задание 4.2.1

Реализовать решение простого ветвящегося вычислительного процесса в соответствии с номером варианта (Приложение 4).

Контрольные вопросы 4.2.1

1.Чем характеризуется ветвящийся (разветвляющийся) вычислительный процесс?

2.Чем обуславливается деление разветвляющихся процессов на простые и сложные?

3.Что такое простой разветвляющийся вычислительный процесс?

4.Какова математическая модель простого ветвящегося вычислительного процесса?

5.Что такое сложный разветвляющийся вычислительный процесс?

113

4.2.2.Простой разветвляющийся процесс с составным условием

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

Вматематике запись таких условий реализуют символы:

Λ (И) – логическое умножение;

v (ИЛИ) – логическое сложение;

¬ ( НЕ) – логическое отрицание.

Примеры записей:

Х1 > У Λ Х2 ≠ 0 или х ≤ у v z > 2.

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

Постановка задачи.

Определить по заданным координатам (х, у) положение точки на плоскости: первый квадрант или другой (второй, третий, четвертый). Начало координат из рассмотрения исключить.

Математическая модель задачи.

Исходные данные:

х= _ _,_ _ у=_ _,_ _

Расчетные зависимости:

 

1,

если

x > 0 y > 0

N =

234 ,

 

¬ (x > 0 y > 0 )

 

если

Выбор метода решения.

Полученная математическая модель определяет:

проверяемые условия относятся к составным, т.к. содержат логическую операцию Λ над двумя логическим операндами (результатами операций отношения);

вычисление номера квадранта может осуществляться по одной из двух ветвей N=1, если x>0Λy>0 или N=234, ес-

ли ¬(x>0 Λy>0);

номер каждой ветви задается в ней соответствующим равенством (N=1 для первой или N=234 для второй);

условия x>0Λy>0 и ¬(x>0 Λy>0) являются взаимоисключающими по записи, т.е. проверять можно только одно из них, например, первое;

114

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

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

простой ветвящийся вычислительный процесс с проверкой одного составного условия.

Создание алгоритма решения.

Полученная математическую модель и выбранный метод решения предписывают следующие схемы алгоритмов:

Развернутая: Условно - линейная:

1

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

х, у

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

х, у

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нет

 

 

 

 

 

 

 

x>0Λy>0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

N=1

 

 

 

 

 

 

 

 

N=234

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

N

8

Конец

1

Начало

2

х, у

3

х, у

4 Нет x>0Λy>0

Да

5

N=1

6

N=234

7

N

8

Конец

115

Программирование задачи.

Реализацию выполним средствами табличного процессора

MS Excel.

Методика решения:

активизировать нужный «Лист» Книги табличного процессора;

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

Внимание! Значения в ячейки С4, С5 не введены, т.к. согласно постановке задачи они заранее неизвестны и определяют ветвь вычислений.

определить ячейки расчетных зависимостей и оформить их поясняющими надписями (например: диапазон ячеек А9:В10 содержит вид математической зависимости – текстовую константу определения положения точки на плоскости, в ячейках D9:D10 обозначения запланированного результата:

реализовать математическую зависимость в запланированные для этого ячейки Е9:Е10 (по стандартной методике ввода формул).

116

В ячейке Е9 должна быть реализована формула - =ЕСЛИ(И(C4>0;C5>0);1;_ ),

а в ячейке Е10 формула - =ЕСЛИ(И(C4>0;C5>0);_;234 )

Внимание! При реализации формул использованы две функции MS Excel (ЕСЛИ и И), вложенные друг в друга. Функция И вызывается в окне логического выражения функции ЕСЛИ. Для возврата к определению аргументов функции ЕСЛИ следует щелкнуть в окне формул на ее названии.

Формулы можно проконтролировать любым способом определения наличия формул в ячейках (см. п. 2.3.1.2.);

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

ввести координаты исследуемой точки (ячейки С4, С5) и проконтролировать результат вычислений (ячейка

Е9:Е10).

Для решения задачи с другими исходными данными достаточно перезаполнить ячейки С4, С5.

Задание 4.2.2

Реализовать решение ветвящегося вычислительного процесса с составным условием в соответствии с номером варианта (Приложение 5).

Контрольные вопросы 4.2.2

1.Чем характеризуются простые разветвляющиеся процессы с составными условиями?

2.Какие логические операции применяются при составлении составных условий?

3.Каким математическим символом записывается логическое умножение?

4.Каким математическим символом записывается логическое сложение?

5.Каким математическим символом записывается логическое отрицание?

117

4.3. Циклические вычислительные процессы

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

Циклический процесс математически выражается зависимостью:

yi=f(xi),

т.е. предписывает многократное вычисление функции уi в соответствии с изменением аргумента xi.

Цикл – повторяющийся участок вычислений.

Тело цикла – совокупность действий, осуществляемых в цикле.

Параметр цикла – входная величина, изменяющая свое значение от цикла к циклу.

Закон изменения параметра цикла - зависимость, связывающая текущее и предыдущее значения параметра цикла.

Условие повторения цикла – зависимость, предписывающая повторение цикла либо выход из него.

Все циклические процессы по способу определения количества повторений (N) делятся на классы:

арифметические циклы;

итерационные циклы.

Независимо от класса каждый циклический процесс содержит:

вход в цикл (формирование начального значения параметра);

вычисления в теле цикла (расчет текущего значения функции, формирование нового значения параметра, вспомогательные операции);

выход из цикла (проверка условия повторения вычисле-

ний или их прекращения).

Рассмотрим реализацию в Excel только класса арифметических циклов.

118

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

В соответствии с видом изменения параметра цикла арифметические циклы подразумевают:

аналитическое задание аргумента;

табличное задание аргумента.

4.3.1.Арифметические циклы

саналитическим заданием аргумента

Аналитический – закон изменения параметра цикла вида

xi = φ (xi-1)

Как правило в качестве такого закона используют простейшую зависимость:

xi = xi-1+ x

Формула определения количества повторений в цикле:

N=] (xk - xн) /Δх [ +1

где, хk – конечное значение параметра цикла; хн – начальное значение параметра цикла; Δх – шаг изменения параметра цикла.

Обратные квадратные скобки предписывают учитывать только целую часть от полученного частного.

Рассмотрим программирование циклических вычислительных процессов с аналитическим заданием аргумента на конкретном примере.

Постановка задачи.

Рассчитать величину подоходного налога на работников предприятия, если известно, что зарплата может изменяться в диапазоне от 1500 до 3000 руб. с шагом изменения 100 руб., а налог составляет 13% от зарплаты.

119

Математическая модель задачи.

Исходные данные:

Зн = 1500 р. – начальная (минимальная) зарплата; Зк = 3000 р. – конечная (максимальная) зарплата; ΔЗ = 100 р. – шаг изменения зарплаты; ПН = 13% – процентная ставка налога.

Расчетные зависимости:

Зн ≤ Зi ≤ Зк [р.≤ р.≤ р.] – диапазон изменения заработной платы;

Зi = Зi-1+ ΔЗ [р.= р.+ р.] – закон изменения зарплаты; Налi= Зi*ПН/100 [р.= р.*%/%] – величина подоходного налога; N=](Зк н) /ΔЗ[+1 [ед.= (р.-р.)/р.] – количество повторений.

Выбор метода решения.

Анализ полученной математической модели позволяет сделать вывод:

решение задачи требует многократного вычисления подоходного налога Налi, однозначно зависящего от зарплаты Зi, следовательно процесс является циклическим, а параметр цикла - Зi,;

диапазон изменения параметра цикла определяет зави-

симость Зн ≤ Зi ≤ Зк , что позволяет сформулировать начальное значение параметра Зiн и условие повторения цикла Зi ≤ Зк, невыполнение которого приводит к выходу из него;

закон изменения параметра цикла имеет вид Зi = Зi-1+ ΔЗ, т.е. является аналитическим;

количество повторений цикла N можно определить до начала счета по стандартной формуле.

Следовательно, в качестве метода решения необходим циклический процесс арифметического типа с аналитическим изменением параметра.

120

Создание алгоритма решения.

Полученная математическую модель и выбранный метод решения предписывают алгоритм, детализированная графическая схема которого имеет вид:

1

6

Начало

 

2

6

Налii*НП/

Зн, Зк, З,

100

НП

 

3

7

 

N=(Зк-Зн)/

Зi, Налi

З+1

 

4

8

Зн, Зк,

Зi = Зi-1+ З

З, НП,

 

N

 

5

9

 

Зi=Зн

Зi ≤Зк

6

10

Конец

 

Некоторое упрощение схемы (создание общего вида цикла) возможно с использованим специальных блоков «начало цикла» и «конец цикла». В этом варианте содержимое первого из них – последовательность формул фрагментов п. 5, 8, 9, второго – запись об окончании цикла.

121

1

Начало

2

Зн, Зк, З, НП

3

N=(Зк-Зн)/ З+1

4

Зн, Зк, З, НП, N

5

Зi=Зн Зi ≤Зк

Зi = Зi-1+ З

6

6

6

Налii*НП/ 100

7

Зi, Налi

8

Цикл по Зi

9

Конец

Программирование задачи.

Реализацию выполним средствами табличного процессора

MS Excel.

Методика решения:

активизировать нужный «Лист» Книги табличного процессора;

оформить матмодель исходных данных задачи поясняющими надписями в соответствующих ячейках (по стандартной методике ввода данных). Например:

122