Объект WorkBook. Его свойства, методы и события

Курсовая работа

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

 

Выполнил: студент группы

Мт - 110501 Глухов И.В._____________________

Проверила:

Удинцева О.М._____________________________

Нормоконтроль_____________________________

 

 

Екатеринбург 2012

Оглавление

Введение. 4

Глава 1. 5

Переменные, константы, объявление типов данных. 5

Объект WorkBook. Его свойства, методы и события. 12

Метод половинного деления. 19

Метод касательных. 21

Глава2. Практическая часть. 23

1.Уравнение х2*2х=1. 23

2.Уравнение х43-2х2+3х-3=0. 25

Заключение. 29

Список литературы.. 30

 

 


 

Задание на курсовую работу.

1. Задание 1 - Теоретические вопросы «Объект WorkBook. Его свойства, методы и события», «Переменные, константы, объявление типов данных».

2. Задание 2 - Описать метод половинного деления и метод касательных.

3. Практическая часть. Заданы два уравнения. Необходимо решить методом половинного деления и методом касательных. Проанализировать и сделать выводы.

 

1) х2*2х=1

2) х43-2х2+3х-3=0


 

Введение.

Целью данной курсовой работы является раскрытие содержания тем «Метод половинного деления и метод касательных», «Переменные, константы, объявление типов данных,.»и «Объект WorkBook. Его свойства, методы и события» дальнейшее их закрепление путем выполнения теоретических и практических заданий, так же я постараюсь сравнить методы нахождения корней уравнений и найти наиболее оптимальный.

 


 

Глава 1.

Переменные, константы, объявление типов данных.

Любая программа оперирует какими-нибудь данными. Эти данные нужно где-то хранить, а также обрабатывать по определенным правилам. В данной главе мы рассмотрим такие понятия как переменные, типы данных и константы. Переменные представляют собой хранилища в которых размещаются обрабатываемые данные. Каждой переменной назначается какой-либо тип данных, определяя таким образом что с этой переменной можно делать и как. Типы данных определяют правила работы с этими переменными а также множество допустимых значений которые могут размещаться в переменных. Константы - специальные языковые конструкции имеющие заранее определенное значение.

Типы данных

Существует несколько способов по которым можно сгруппировать или разделить типы данных.

По способу объявления

Все типы данных делятся на предопределенные (встроенные) и на пользовательские (объявляемые). Встроенные типы данных - типы данных о которых компилятор знает изначально. Пользователю не нужно объявлять эти типы данных и он нигде не встретит действующего объявления этих типов данных. Пользовательские типы данных - типы данных создаваемые пользователем на основании встроенных типов данных или путем комбинирования нескольких уже определенных типов данных, пользовательских или встроенных.

По платформе

Типы данных разделяются на фундаментальные (fundamental) и общие (generic). Фундаментальные типы (их формат и множество значений) не зависят от реализации языка Delphi, его версии, операционной системы и процессора. Формат и множество значений общих типов данных специфичны для конкретной платформы и могут варьироваться в зависимости от версии Delphi, ОС и процессора. Следует стараться использовать общие типы данных где это возможно, т.к. они предоставляют оптимальную производительность и переносимость программ. Однако зависимость формата от платформы может создать проблемы с совместимостью когда речь идет о хранении (файлы) и обработке данных вне программы (передача данных другим программам или ОС).

По характеру данных:

Простые типы данных

Простые (simple) - типы данных которые могут хранить ограниченное множество упорядоченных значений. Простые типы данных подразделяются в свою очередь на несколько подразделов в зависимости от своей функциональности.

Порядковые типы данных

Порядковые (ordinal) - типы данных представляют собой типы данных которые могут хранить одно из значений упорядоченного набора. Порядковым типом данных называется тип описывающий множество значений каждое из которых имеет однозначно определенное предыдущее значение и последующее значение. Исключение - последнее и первое значение в типе, они не имеют соответственно последующего и предыдущего значений. Каждое значение в типе имеет порядковый номер. Для конкретного значения с порядковым номером N предыдущее значение имеет порядковый номер N-1 а последующее значение имеет порядковый номер N+1.

К порядковым типам данных относятся следующие предопределенные типы данных:все целочисленные типы (ShortInt, SmallInt, Integer, Cardinal, Int64, Word, LongInt, Byte, LongWord)

логический тип данных (Boolean)

символьный тип данных (Char)

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

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

Вещественные типы данных

Вещественный (real) тип данных определяет множество чисел которые могут быть записаны в форме с плавающей десятичной точкой. Количество значений определяемых вещественным типом очень большое, хотя и конечное. К вещественным типам данных относятся Real48, Real, Single, Double, Extended, Comp, Currency.

Строковые типы данных

Строка представляет собой последовательность символов. В Delphi существует три встроенных типа для строковых данных.

ShortString - короткие строки, длиной до 255 символов.

AnsiString, String - длинные строки, длиной до ~2^31 символов.

WideString - ~2^30 символов Unicode

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

Структурированные типы данных

Экземпляры структурированных типов данных могут содержать в себе одновременно несколько значений. К структурированным типам данных относятся:

set - множества.

array - массивы.

record - записи.

class - классы.

classreference - ссылки на класс.

interface - интерфейсы.

Указатели

Указатели не содержат каких-либо значений, они содержат в себе адреса в оперативной памяти где эти значения находятся. Этот тип данных также будет описан подробно в нескольких последующих лекциях. Указатели бывают типизированные (typed) и нетипизированные (untyped). Типизированные указатели представляют собой типы данных которые описаны таким образом что компилятор знает как корректно работать со значениями на которые они указывают. Нетипизированные указатели представляют собой единственный тип данных pointer. Компилятор не знает как работать со значениями на которые он указывает, это за него должен сделать программист. Указатели также являются одним из мощнейших средств языка Delphi, однако они-же являются источником большинства трудноуловимых и фатальных ошибок.

Процедурные типы данных

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

Варианты

Варианты, а точнее вариант (variant) - единственный тип данных который может содержать значения разных типов. Тип значений хранимых вариантом не определен на этапе компиляции и управляется программистом.

Объявление типов

Типы данных определяемые пользователем (т.е. программистом) объявляются в секции определения типов которая начинается с зарезервированного слова type и имеет вид:

type

TypeDeffinitionList

... гдеTypeDeffinitionList - списокобъявляемыхтипов. Количество типов в списке должно быть больше 0. Нельзя просто употребить в тексте программы зарезервированное слово type если за ним не следует список объявляемых типов данных.

TypeDeffinition1;

TypeDeffinition2;

... где TypeDeffinitionN - объявление одного типа данных.

TypeName=TypeDeclaration;

TypeName - идентификатор нового типа данных, определенного здесь.

TypeDeclaration - описание типа данных.

 

Переменные

Данные, которыми манипулирует программа, хранятся в переменных. Каждая переменная принадлежит к одному из типов данных. По другому говорят что "такая-то переменная является переменной такого-то типа" или "такая-то переменная имеет тип такой-то". Указание типа данных для переменной является важным свойством языка. Указание типа данных определяет правила по которым переменная может быть использована, способы ее использования и допустимый набор действий которые могут быть произведены над данными хранящимися в этой переменной. Самое главное, то что задание типа данных для переменной информирует компилятор о том какие "правила игры" нужно принять во время работы с этой переменной. Таким образом компилятор имеет возможность проанализировать корректность операций производимых над переменными и сообщить программисту о ошибках, буде тот в своем программном коде нарушает правила игры.

Переменные имеют также имена или по другому идентификаторы. По имени переменной компилятор (да и программист тоже :-) отличают одну переменную от другой.

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

Переменные объявляются в секции объявления переменных, которая начинается с ключевого слова var. Формат объявления переменных:

var

VariableDeffinitionList

где VariableDeffinitionList - список объявленных переменных. В списке переменных обязательно должна быть объявлена хотя-бы одна переменная.

VariableList1:VariableDatatype1;

VariableList2:VariableDatatype2;

VariableListN:VariableDatatypeN;

гдеVariableList - списокобъявляемыхпеременныхтипаVariableDataTypeиразделенныхзапятыми.

VariableIdent1,VariableIdent2,...,VariableIdentN:VariableDataType;

VariableIdent - идентификатор объявляемой переменной.

VariableDataType - идентификатор типа переменной.

Как видите можно объявлять сразу-же несколько переменных одного типа в одной строке. Можно объявлять и по одной. Никакой разницы не будет.

Константы

Иногда нам требуется использовать в тексте программы фиксированные значения, т.е. значения которые не должны изменяться в процессе выполнения программы. Например в программе расчета давления машины на грунт это может быть количество колес автомобиля - 4. Предположим везде в расчетах мы будем использовать это число - 4. Но что будет если нам предложат переделать программу чтобы она считала давление на грунт БТР-а, у которого этих колес 8 штук? Идея просматривать код и заменять везде 4 на 8 - не самая лучшая. Гораздо удобнее и правильнее определить константу и назначить ей нужное значение, а потом использовать вместо значения эту константу. «Компилятор» сам подставит значение константы в тех местах где она была использована. Таким образом нам достаточно лишь будет исправить значение константы с 4 на 8 а потом перекомпилировать программу.

Константы подразделяются на два вида - истинные (trueconstants) и типизированные (typed). Истинные константы - собственно и есть константы в чистом виде. Типизированные константы - константы которые могут содержать типизированные значения. Например можно объявить массив-константу или запись-константу.

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

Константы, так-же как переменные и типы данных, объявляются в своей секции объявления констант которая начинается с зарезервированного слова const. Объявление констант имеет следующий формат:

const

ConstantDeffinitionList

... где ConstantDeffinitionList - список объявлений констант. Если вы указали секцию объявления констант, то в списке констант должна быть объявлена хотя-бы одна константа.

ConstantDeffinition1

ConstantDeffinition2

ConstantDeffinitionN

ConstantDeffinition - объявлениеистиннойилитипизированнойконстанты.Объявление истинной константы имеет формат:

ConstantIdent=ConstantExpression;

Объявление типизированной константы больше похоже на объявление переменной и отличается от него только тем что переменной не присвоено изначально никакое значение, а константе изначально присвоено конкретное значение определенное в коде программы. Формат объявления типизированной константы:

ConstantIdent:DataType=ConstantExpression;

ConstantIdent - идентификаторконстанты.

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

ConstantExpression - константное выражение. Константное выражение - такое выражение которое может быть вычислено компилятором во время компиляции. В константном выражении могут присутствовать идентификаторы других, уже определенных, констант.


 

Объект WorkBook. Его свойства, методы и события

Терминальные свойства объекта Workbook

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

Таблица 1. Терминальные свойства объекта Workbook
Терминальные свойства Назначение свойства
AcceptLabelsInFormula Булево свойство со значением True, если метки могут использоваться в формулах рабочего листа. По умолчанию - True.
HasRoutingSlip Булево свойство со значением True, если книга может быть направлена по сети другим участникам разработки документа.
Routed Булево свойство со значением True, если документ был направлен следующему участнику разработки.
MultiUserEditing Булево свойство со значением True, если книга открыта для разделяемого доступа.
AutoUpdateFrequency Задает частоту (в минутах), с которой сделанные изменения передаются участникам разделяемого доступа. Если свойство имеет значение 0, то книга будет пересылаться только в момент ее сохранения
AutoUpdateSaveChanges Булево свойство со значением True, если сделанные изменения автоматически пересылаются всем участникам разработки. Предыдущий параметр должен иметь значение в пределах от 5 до 1440, чтобы это свойство оказало эффект.
ListChangesOnNewSheet Булево свойство со значением True, если сделанные изменения показываются на отдельной странице при разделенном доступе
KeepChangeHistory Булево свойство со значением True, если при разделенном доступе сохраняется история сделанных изменений.
ChangeHistoryDuration Устанавливает число дней, в течение которых сохраняются изменения в их истории. Старые изменения, срок которых превышает заданную установку, из истории удаляются
CreateBackup Булево свойство со значением True, если при сохранении книги создается ее резервная копия.
CodeName Рабочие книги, листы и другие объекты Excel имеют два имени - собственное и кодовое. В момент создания объекта они совпадают, например "Лист1", но затем каждое из них может быть независимо изменено. Кодовое имя может быть изменено только вручную в окне свойств. Программно оно может быть использовано только для чтения. Важно то, что кодовое имя можно использовать для непосредственного именования объекта, что сокращает цепочку вызовов. Так непосредственно можно обратиться к объектуЛист1.Range(myRange)
FullName Полное имя рабочей книги, заданное в виде строки, включающее путь к файлу, хранящему книгу. Имеет статус "только для чтения".
FileFormat Свойство имеет статус "только для чтения" и возвращает константу, задающую формат файла и/или тип рабочей книги
HasPassword Булево свойство со значением True, если документ имеет пароль защиты
Saved Булево свойство со значением True, если не делалось никаких изменений с момента последнего сохранения документа.
WriteReserved Булево свойство со значением True, если документ закрыт для записи.
Новые терминальные свойства объекта Workbook в Excel 2000  
EnvelopeVisible Новое в Excel 2000 терминальное булево свойство, при включении которого появляется панель для отправки электронной почты и заголовок отправляемого сообщения.
VBASigned Новое в Excel 2000 терминальное булево свойство, которое показывает, имеет ли программный проект данной книги цифровую подпись. Свойство имеет статус "только для чтения".

Методы объекта Workbook

Дадим теперь краткую характеристику основным методам объекта Workbook. Мы уже говорили о том, что создаются и открываются рабочие книги методами коллекции Workbooks - Add, Open и OpenTextFile. А вот закрываются и сохраняются, используя собственные методы. С них мы и начнем описание методов:

Save, SaveAs, SaveCopyAs - позволяют сохранить рабочую книгу, без ее закрытия и удаления из коллекции Workbooks. При первом сохранении следует применять метод SaveAs, чтобы задать имя файла, в котором книга сохраняется. Метод имеет и другие параметры - формат хранения, пароль, статус и другие характеристики. Последний из этой группы методов создает копию рабочей книги.

· Close - выполняет те же функции, что и Save, но одновременно закрывает книгу и удаляет ее из коллекции.

· Activate - активизирует рабочую книгу.

· Route - направляет рабочую книгу по сети всем участникам совместной разработки. Список участников и другие характеристики задаются в свойствах объекта RoutingSlip.

· AcceptAllChanges, RejectAllChanges - принимает или отвергает все изменения, сделанные участниками совместной разработки документа при разделенном доступе.

· RefreshAll - обновляет сводные таблицы и все области, содержащие внешние данные.

· PurgeChangeHistoryNow (Days,SharingPassword) - удаляет из истории изменений все те, чей срок хранения превосходит число дней, заданных параметром Days. Второй параметр задает общий пароль.

· Protect, ProtectSharing, Unprotect, UnprotectSharing - методы, включающие и выключающие пароли личные и общие рабочей книги.

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

· ChangeFileAccess(Mode, WritePassword, Notify) - изменяетстатусдоступа. Новый статус задается параметром Mode, который может принимать одно из двух значений: xlReadWrite иxlReadOnly. Если файл снабжен паролем и получает статус для записи и чтения, то второй параметрWritePassword задает пароль на запись. Если булев параметр Notify имеет значение True, то пользователь получает уведомление, когда файл недоступен.

· AddToFavorites - добавляет в папку Favorites ярлычок рабочей книги.

· PivotCaches - возвращает коллекцию областей памяти, отводимых сводным таблицам данной рабочей книги. Элементами этой коллекции являются объекты PivotCache. Каждой сводной таблице - объекту PivotTable отводится своя память (кэш), которую и задает объект PivotCache.

· RunAutoMacros - запускает на выполнение все автомакросы данной книги.

LinkSources([Type]), ChangeLink(Name As String, NewName As String, [Type As XlLinkType = xlLinkTypeExcelLinks]), OpenLinks(Name As String, [ReadOnly], [Type]), LinkInfo(Name As String, LinkInfo As XlLinkInfo, [Type], [EditionRef]), UpdateLink([Name], [Type]) - группаметодов, позволяющих работать со ссылками. Ссылки могут быть четырех типов:

· на другие рабочие книги Excel ,

· на документы, связанные по протоколу OLE (например, документы Word, на которые ссылается рабочая книга) или протоколу DDE,

· на издателей книги при совместной работе над книгой и ее публикации на сервере,

· на подписчиков книги, опубликованной на сервере и доступной для подписчиков.


 

    • Метод LinkSources позволяет получить все ссылки типа, заданного его параметром. Если параметр не указан, то будут выданы ссылки на книги Excel.
    • Следующий метод Change позволяет изменить ссылку, Open - открыть документ по заданной ссылке, Info - получить некоторую информацию о документе, Update - обновить ссылки. (отступ первой строки)

У объекта Workbook в Excel 2000 появились два новых метода:

· Sub ReloadAs(Encoding As MsoEncoding),

· SubWebPagePreview().

· Оба метода, так или иначе, связаны с общей тенденцией публикации документов Excel в Интернет. Рабочие книги, публикуемые в Интернет и интранет, хранятся, естественно в формате HTML. При их чтении могут возникнуть проблемы с кодировкой.

· Метод ReloadAs(EncodingAsMsoEncoding)позволяет перезагрузить книгу в формате HTML, используя нужную кодировку, заданную параметром метода, значением которого может быть, например, константа msoEncodingCyrillic.

· МетодWebPagePreview позволяет перед публикацией книги отобразить ее на дисплее в том виде, как будет выглядеть соответствующая Web-страница, открываемая в интернет для работы с рабочей книгой.

Методы объекта Workbook предназначены, как можно видеть, для выполнения общих операций над документом и по существу не определяют специфических для Excel действий. Чтобы познакомиться со спецификой, следует пойти вглубь иерархии объектов.

События объекта Workbook

Со всеми событиями, которые может обрабатывать объект Workbook, мы уже знакомы. Всего таких событий 20, из них 9 событий связаны непосредственно с самим объектом Workbook, 8 - возникают на страницах рабочей книги и связаны также с объектом Sheet, три события связаны с объектом Window. Я напомню, что при возникновении события сообщение о нем операционная система посылает, как правило, нескольким объектам. Все они, каждый по-своему, могут обрабатывать это событие. Подробно обо всем этом рассказано при рассмотрении событий объекта Application.


 

Метод половинного деления

Решение алгебраического уравнения. Для численного решения алгебраическихуравнений существует множество способов. Среди самых известных можно назвать метод Ньютона, метод Хорд, и «всепобеждающий» метод Половинного Деления.Сразу оговоримся, что любой метод является приближенным, и по сути дела лишь уточняющим значение корня. Однако уточняющим до любой точности, заданной Нами.Метод половинного деления или дихотомии (дихотомия - сопоставленность или противопоставленность двух частей целого) при нахождении корня уравненияf(x)=0 состоит в делении пополам отрезка [a; b], где находится корень. Затем анализируется изменение знака функции на половинных отрезках, и одна из границ отрезка [a; b] переносится в его середину. Переносится та граница, со стороны которой функция на половине отрезка знака не меняет.Далее процесс повторяется. Итерации прекращаются при выполнении одного из условий: либо длина интервала [a; b] становится меньше заданной погрешности нахождения корня , либо функция попадает в полосу шума 1 – значение функции сравнимо с погрешностью расчетов. Сначала поставим задачу. Дана монотонная, непрерывная функция f(x), которая содержит корень на отрезке [a,b], где b>a.Определить корень с точностью , если известно, чтоf(a)*f(b)<0Дано уравнение вида:f(x)=0; (1)необходимо найти удовлетворяющие ему значения x.

.

истина
начало
Ввод a, b, eps
x= (a + b)/2,i=0
F (x)=x^2*2^x
F(x) =0
Abs (F(x))<eps
F(x)*F (a)>0
x: = b
x = (a + b)/2,i=i+1
конец
Печать х,i
x: = a
истина
истина
ложь
ложь
ложь
Рис.1 Блок-схема

Метод касательныхМетод Ньютона, алгоритм Ньютона (также известный как метод касательных) — это итерационный численный метод нахождения корня (нуля) заданной функции. Метод был впервые предложен английским физиком, математиком и астрономом Исааком Ньютоном (1643—1727). Поиск решения осуществляется путём построения последовательных приближений и основан на принципах простой итерации. Метод обладает квадратичной сходимостью. Улучшением метода является метод хорд и касательных. Также метод Ньютона может быть использован для решения задач оптимизации, в которых требуется определить нуль первой производной либо градиента в случае многомерного пространства.

Геометрическая интерпретация

Основная идея метода заключается в следующем: задаётся начальное приближение вблизи предположительного корня, после чего строится касательная к исследуемой функции в точке приближения, для которой находится пересечение с осью абсцисс. Эта точка и берётся в качестве следующего приближения. И так далее, пока не будет достигнута необходимая точность.Пусть — определённая на отрезке и дифференцируемая на нём вещественнозначная функция. Тогда формула итеративного исчисления приближений может быть выведена следующим образом:

где — угол наклона касательной в точке .

Следовательно, искомое выражение для имеет вид:

Рис.2.

Рис.3. Блок-схема.

Да
Нет
Да
Нет
e KRbBOk7YSjHkIzMKRgAH9J4zjCSHiQm76OmJkO/xhMSlCrkAJ1DKeXfS2s95Ol/NVrPJaJLfrkaT tK5H9+tqMrpdZ5+m9U1dVXX2K5SVTYpOMMZVqOyi+2zyPl2dJ/Ck2KvyrxQmb9Ej15Ds5R2TjvII ijhpa6vZcWNDW4JSQOrR+TyWYZZen6PXy89j+RsAAP//AwBQSwMEFAAGAAgAAAAhAPiiwMPdAAAA DQEAAA8AAABkcnMvZG93bnJldi54bWxMj8FOwzAQRO9I/IO1SNyog4lKG+JUCAnEAUVqgbsbL0kg XofYTdK/Z3tAcNyZp9mZfDO7Tow4hNaThutFAgKp8ralWsPb6+PVCkSIhqzpPKGGIwbYFOdnucms n2iL4y7WgkMoZEZDE2OfSRmqBp0JC98jsffhB2cin0Mt7WAmDnedVEmylM60xB8a0+NDg9XX7uA0 fNPt8T2V4+qzLOPy6fmlJiwnrS8v5vs7EBHn+AfDqT5Xh4I77f2BbBCdBpWu14yykaRKgWDkRp2k /a8ki1z+X1H8AAAA//8DAFBLAQItABQABgAIAAAAIQC2gziS/gAAAOEBAAATAAAAAAAAAAAAAAAA AAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAi0AFAAGAAgAAAAhADj9If/WAAAAlAEAAAsAAAAA AAAAAAAAAAAALwEAAF9yZWxzLy5yZWxzUEsBAi0AFAAGAAgAAAAhAFKET4w9AgAAhAQAAA4AAAAA AAAAAAAAAAAALgIAAGRycy9lMm9Eb2MueG1sUEsBAi0AFAAGAAgAAAAhAPiiwMPdAAAADQEAAA8A AAAAAAAAAAAAAAAAlwQAAGRycy9kb3ducmV2LnhtbFBLBQYAAAAABAAEAPMAAAChBQAAAAA= "/>
Конец
x, f(x)
I sr3RdexDz6Qa90hZ6bOOQbqxBP5YHcdaRQmCrpWpT6gsmLGzcRJx0xn4TsmAXV1S923PQFCi3mms ziqbzcIYRGM2X+RowLWnuvYwzRGqpJ6Scbv14+jsLci2w5eyKIc2t1jRRkaxn1md+WPnxhqcpyyM xrUdo57/BZsfAAAA//8DAFBLAwQUAAYACAAAACEANzVEluEAAAANAQAADwAAAGRycy9kb3ducmV2 LnhtbEyPQU+DQBCF7038D5sx8dYuBSEtsjRGUxOPLb14W2AElJ0l7NKiv97pqd5m5r28+V62m00v zji6zpKC9SoAgVTZuqNGwanYLzcgnNdU694SKvhBB7v8bpHptLYXOuD56BvBIeRSraD1fkildFWL RruVHZBY+7Sj0Z7XsZH1qC8cbnoZBkEije6IP7R6wJcWq+/jZBSUXXjSv4fiLTDbfeTf5+Jr+nhV 6uF+fn4C4XH2NzNc8RkdcmYq7US1E72CKIkY3bOwDmOe2BIn2whEeT1tHmOQeSb/t8j/AAAA//8D AFBLAQItABQABgAIAAAAIQC2gziS/gAAAOEBAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9U eXBlc10ueG1sUEsBAi0AFAAGAAgAAAAhADj9If/WAAAAlAEAAAsAAAAAAAAAAAAAAAAALwEAAF9y ZWxzLy5yZWxzUEsBAi0AFAAGAAgAAAAhAAu8XMUqAgAAUwQAAA4AAAAAAAAAAAAAAAAALgIAAGRy cy9lMm9Eb2MueG1sUEsBAi0AFAAGAAgAAAAhADc1RJbhAAAADQEAAA8AAAAAAAAAAAAAAAAAhAQA AGRycy9kb3ducmV2LnhtbFBLBQYAAAAABAAEAPMAAACSBQAAAAA= ">
f=d(x)
|h|<=e
f=d(b)
h=f/f1 x=x-h
F1=d1(x)
F=d(x)
X=a
X=b
F*f2>0
y yPZON7ELPZNq3iNlpY86BulCN7vST/U0V6oIL4Sj2jSPqCyYua9xDnHTG/hJyYg9XVH3Y89AUKI+ aKzOVVYUYQiiUSwvczTg3FOfe5jmCFVRT8m83fp5cPYWZNfjS1mUQ5sbrGgro9jPrI78sW9jDY4z Fgbj3I5Rz3+CzS8AAAD//wMAUEsDBBQABgAIAAAAIQBNiRP24AAAAAsBAAAPAAAAZHJzL2Rvd25y ZXYueG1sTI/BTsMwEETvSPyDtUjcqE0cqjbEqRCoSBzb9NKbEy9JILaj2GkDX89yam+zmtHsm3wz 256dcAyddwoeFwIYutqbzjUKDuX2YQUsRO2M7r1DBT8YYFPc3uQ6M/7sdnjax4ZRiQuZVtDGOGSc h7pFq8PCD+jI+/Sj1ZHOseFm1Gcqtz1PhFhyqztHH1o94GuL9fd+sgqqLjno3135Lux6K+PHXH5N xzel7u/ml2dgEed4CcM/PqFDQUyVn5wJrFcgl5LQI4k0SYFR4kmuaF2lIBVrCbzI+fWG4g8AAP// AwBQSwECLQAUAAYACAAAACEAtoM4kv4AAADhAQAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRf VHlwZXNdLnhtbFBLAQItABQABgAIAAAAIQA4/SH/1gAAAJQBAAALAAAAAAAAAAAAAAAAAC8BAABf cmVscy8ucmVsc1BLAQItABQABgAIAAAAIQB6CsbjLAIAAFEEAAAOAAAAAAAAAAAAAAAAAC4CAABk cnMvZTJvRG9jLnhtbFBLAQItABQABgAIAAAAIQBNiRP24AAAAAsBAAAPAAAAAAAAAAAAAAAAAIYE AABkcnMvZG93bnJldi54bWxQSwUGAAAAAAQABADzAAAAkwUAAAAA ">
F2=d2(b)
Ввод a,b,e
Начало