КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Пример 4.4.3-3. Написать процедуру-Function, которая присваивает переменной f наибольшее из значений двух переменных x и y
Пример 4.4.3-2. Написать процедуру, вычисляющую x Sin(a2) + b, если, а> b; x = a – b, в противном случае. Данную задачу можно решить двумя способами. На рис 4.4.3-7 приведена схема алгоритма решения задачи, в которой использовано стандартное разветвление, а на рис.4.4.3-8 – усеченное разветвление. Второй способ в данном случае предпочтительнее, поскольку упрощает программную реализацию алгоритма. Усеченное разветвление рекомендуется использовать в тех случаях, когда выбор из двух возможных ветвей производится последовательно и неоднократно.
Рис. 4.4.3-7. Схема алгоритма и программный код процедуры Pr437()
Рис. 4.4.3-8. Схема алгоритма и программный код процедуры Pr438() Процедура - Function Pr437() или Pr438() может быть вызвана, например, как на рис. 4.4.3-9.
Рис. 4.4.3-9. Пример вызова процедуры Pr438() проекта Пример 4.3-2
Рис. 4.4.3-10. Схема алгоритма и программный код процедуры Pr4310()
Алгоритмы и программы решения задачи выбора наибольшего из двух значений приведены на рис.4.4.3-11 и 4.4.3-12.
Рис. 4.4.3-11. Схема алгоритма и программный код процедуры Pr4311() проекта Пример 4.3-3 В первом способе (рис. 4.4.3-10) используется стандартное разветвление, а во втором (рис.4.4.3-11) – усеченное. Процедура- Function Pr4310() (или Pr4311()) может быть вызвана, например, как на рис. 4.4.3-12.
Обратите внимание, что: If x > y Then f=x Else f=y соответствует функции f = max{x, y}, а If x < y Then f=x Else f=y с оответствует функции f = min{x, y }, где x и y любые арифметические выражения.
Рис. 4.4.3-12. Пример вызова процедуры Pr4311() проекта Пример 4.3-3 Пример 4.4.3-4. Написать процедуру-Function, которая вычисляет r = min{ a+b, c2, }.
Рис. 4.4.3-13. Схема алгоритма и программный код процедуры Pr4313() проекта Пример 4.3-4 Решение задач выбора наибольшего (наименьшего) из значений переменных или выражений числом более двух сводится к последовательному применению усеченных разветвлений. Алгоритм, реализующий Пример 4.4.3-4 (рис.4.4.3-13), относится к числу базовых алгоритмов выбора наименьшего из нескольких значений. Основой алгоритма является усеченное разветвление. Здесь первоначально переменной min присваивается значение первого из выражений. Истинное значение наименьшего значения определяется путем последовательного сравнения со всеми остальными значениями выражений заданной последовательности.
Процедура- Function Pr4313() может быть вызвана, как на
Рис. 4.4.3-14. Пример вызова процедуры Pr4313() проекта Пример 4.3-4 Пример 4.4.3-5. Написать процедуру-Function, которая вычисляет значение функции y(x) в соответствии со следующим правилом: ex, если x<=-1; y(x)= 3, если x>1; 2, если –1<х≤1.
Рис. 4.4.3-15. Схема алгоритма и программный код процедуры Pr4315() Процедура - Function Pr4315() может быть вызвана, например, как на рис. 4.4.3-16.
Рис. 4.4.3-16. Пример вызова процедуры Pr4315() проекта Пример 4.3-5
Пример 4.4.3-6. Даны действительные числа x0, y0. Определить принадлежит ли точка с координатами (x0, y0) геометрической фигуре: ромб с вершинами в точках (0, 1), (1, 0), (0, -1), (-1, 0). На этапе формализации задачи, прежде всего, построим заданную геометрическую фигуру (рис. 4.4.3-17).
Рис. 4.4.3-17. Ромб с вершинами в точках (0, 1), (1, 0), (0, -1), (-1, 0)
Известно, что ax+by=c – это уравнение прямой, а ax+by≤c и ax+by≥c – это два множества, одно из которых лежит над прямой (включая точки этой прямой), а другое под этой прямой. Для того чтобы выяснить, какое из неравенств надо взять, необходимо подставить координаты любой точки Если ее координаты удовлетворяют этому неравенству, значит, эта точка M принадлежит указанному множеству, в противном случае – нет. Запишем уравнения прямых AB, BC, CD, DA: AB: x-y=-1; BC: x+y=1; CD: x-y=1; DA: x+y=-1. Таким образом, для того чтобы точка M0(x0, y0) принадлежала замкнутой заштрихованной области, необходимо выполнить следующие условия:
. Разобьем решение задачи на несколько отдельных этапов и создадим процедуры пользователя, реализующие эти задачи: 1) Процедуру-подпрограмму Resh(), которая возвращает строку с ответом на вопрос, принадлежит ли точка с передаваемыми через параметры координаты заданной геометрической фигуры. 2) Процедуру-функцию vvod() для ввода действительного числа из TextBox. 3) Процедуру-подпрограмму vivod() для вывода строки в TextBox. 4) Событийную процедуру, которая должна содержать вызовы всех разработанных процедур. 5) Программный код решаемой задачи представлен на рис. 4.4.3-18.
Рис. 4.4.3-18. Программный код проекта Пример 4.3-6 Пример 4.4.3-7. Задано число n. Если n – натуральное нечетное число, меньше 10, то целочисленной переменной f присвоить 1, если n – натуральное четное число, то переменной f присвоить 2, если n – отрицательное, то присвоить f значение -1, если значение n находится внутри отрезка [10;1000], то f присвоить 10, иначе f присвоить 0.
Рис.4.4.3-19. Программный код процедуры Pr4319() Проекта Примера 4.4.3-7 Программный код решения Примера 4.4.3-7 с использованием оператора Select Case приведены на рис.4.4.3-19. Процедура- Function Pr4319() может быть вызвана из любой другой процедуры или из модуля формы, например, как на рис. 4.4.3-20.
Рис. 4.4.3-20. Пример вызова процедуры Pr4319() Проекта Примера 4.3-7
Дата добавления: 2017-01-13; Просмотров: 769; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |