Visual Basic_учебник (Учебник по Visual Basic), страница 11

PDF-файл Visual Basic_учебник (Учебник по Visual Basic), страница 11 Практика расчётов на ПЭВМ (37020): Книга - 2 семестрVisual Basic_учебник (Учебник по Visual Basic) - PDF, страница 11 (37020) - СтудИзба2019-04-28СтудИзба

Описание файла

Файл "Visual Basic_учебник" внутри архива находится в папке "Учебник по Visual Basic". PDF-файл из архива "Учебник по Visual Basic", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 2 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 11 страницы из PDF

Но основное их назначение – управление исполнением программы в составе специальных предложений VB. Здесь мы рассмотримдве из подобных конструкций: предложение цикла Do … Loop и условное предложение If … End If.Предложение Do … LoopВ предыдущих главах в примерах программ мы применяли циклFor … Next. Он удобен, если заранее известно необходимое числоитераций. Однако зачастую при постановке задач на итеративные1 вычисления указывают точность решения. Тогда требуемое число итераций перестает быть фиксированным значением, и следует при каждомповторении проверять, не достигнута ли необходимая точность.В подобных случаях вместо предложения For … Next применяют более общий способ организации цикла – предложение Do … Loop.

Уэтого предложения две формы:1От латин. iterativus - часто повторяемый.77Do [ While | Until ] <условие><блок предложений>LoopиDo<блок предложений>Loop [ While | Until ] <условие>Начинается конструкция предложением Do, заканчивается предложением Loop. <Условие>– это любое выражение типа Boolean. Значениеэтого выражение управляет исполнением цикла. Перед условиемдолжно стоять либо слово While, либо Until.

Выбор слова меняетинтерпретацию значения, полученного при вычислении условия. Еслиуказано слово While, то итерации цикла повторяются, пока условиедает значение True. Как только условие даст False, итерации прекращаются. Если же перед условием – Until, то, наоборот, цикл исполняется до тех пор, пока условие не даст True. Значение условия False вэтом случае сигнализирует о необходимости повторять итерации.Две формы предложения Do … Loop отличаются тем, в какой моментвычисляется условие. Если оно стоит в начале цикла, в предложенииDo, то и условие вычисляется первый раз еще до того, как началисьитерации.

Например, если во фрагменте программыDo While Math.Abs(a - b) > 0.0001. . .Loopзначения переменных a и b с самого начала отличаются меньше, чемна одну десятитысячную, то блок предложений между Do и Loop небудет выполнен ни разу.78Когда условие указано в конце цикла, в предложении Loop, то всегдасначала выполняются предложения, составляющие тело цикла, а ужезатем вычисляется условие. Здесь, соответственно, гарантируется, чтотело цикла будет выполнено хотя бы один раз.В качестве примера использования цикла Do … Loop разберем задачувычисления суммы ряда = ∞=0 с заданной точностью . Очевидно, в общем случае невозможно написать программу, суммирующуюбесконечное число слагаемых. В качестве приближенного значенияберут конечную сумму ≈ =0 для некоторого . Если слагаемые достаточно быстро убывают с ростом , то хорошей верхней оценкой величины «хвоста» суммы, начиная с + 1 и до бесконечности, а,значит, и ошибки суммирования, будет величина последнего слагаемого.Вычисление величины 1,5 при помощи разложения в ряд Тейлора = 1 + +22+36+⋯=∞ =0 !можно оформить в виде следую-щей программы на VB.Module Module1Sub Main()Const eps As Double = 0.000001Dim x As Double = 1.5Dim summand As Double = 1Dim sum As Double = summandDim n As Integer = 0Don = n + 1summand = summand * x / nsum = sum + summandLoop Until Math.Abs(summand) < epsConsole.WriteLine(sum)End SubEnd Module79Общая идея состоит в том, чтобы переменную sum инициализироватьзначением первого слагаемого суммы (в данном случае – единица), азатем в цикле к текущему значению прибавлять очередное слагаемое.Таким образом, в конце каждой итерации значение этой переменнойбудет равно частичной сумме от 0 до n.

Для вычисления очередногослагаемого (в программе это переменная summand) мы воспользовались следующими свойствами: = −1 ∙ , ! = 1 ∙ 2 ∙ … ∙ = − 1 ! ∙ , и, следовательно, =!= −1 ∙−1 ! = −1 ∙ .Каждая итерация состоит из увеличения счетчика на единицу, вычисления очередного слагаемого, а затем и очередной частичной суммы.Цикл продолжается до тех пор, пока абсолютная величина слагаемого,являющаяся оценкой ошибки метода, не станет меньше заранее заданной величины.С точки зрения программирования, рассмотренная конструкцияDo … Loop является более универсальной, чем For … Next.

БезFor … Next можно обойтись. Вместо любого цикла For … Nextможно записать эквивалентную программу с использованиемDo … Loop. Скажем, вместо циклаFor iteration As Integer = 1 To 10. . .Nextможно воспользоваться эквивалентной конструкцией:Dim iteration As Integer = 1Do While iteration <= 10. . .iteration = iteration + 1Loopлибо, что то же самое80Dim iteration As Integer = 1Do Until iteration > 10. . .iteration = iteration + 1LoopПредложение If … End IfПредложение If … End If, называемое также условным предложением, является еще одной конструкцией VB, в которой без использования выражений типа Boolean обойтись невозможно.

При помощи условного предложения появляется возможность выбрать одну из альтернативных последовательностей действий в зависимости от текущихзначений переменных.Приведем пример простой программы, использующей условное предложение. Постарайтесь самостоятельно разобраться, в чем состоит еедействие.If Integer.Parse(Console.ReadLine) Mod 2 = 0 ThenConsole.WriteLine("четное!")ElseConsole.WriteLine("нечетное!")End IfConsole.ReadLine()В общем случае предложение If … End If выглядит в программеследующим образом:If <условие 1> Then<блок предложений 1>[ Else If <условие 2> Then<блок предложений 2> ] …[ Else<блок предложений иначе> ]End If81Здесь <условие 1>, <условие 2>, … – любые логические выражения.

Наих месте допустимы простые сравнения, сложные условия, предварительно вычисленные переменные типа Boolean и т.п. Блоки предложений могут включать любые исполняемые конструкции VB, например, операторы присвоения значений, циклы или, скажем, вложенныепредложения If..End If.Исполнение конструкции If..End If заключается в выборе и исполнении одного из указанных в ней блоков предложений. Вначале вычисляется <условие 1>.

Если оно выполнено (результат равен True), тоисполняется <блок предложений 1>, стоящий за Then. Если же<условие 1> не выполнено (результат равен False), то вычисляется<условие 2>, и, если оно True, то исполняется <блок предложений 2>.Частей Else If может быть несколько.Если не выполняется ни одно из условий, указанных в If и Else If, тоисполняется <блок предложений иначе>, следующий за Else. ЧастиElse и Else If могут отсутствовать. Если часть Else отсутствует и ниодно из условий не выполнено, то ни один из блоков в частях If иElse If не активизируется, и исполнение программы передается напредложение, следующее за End If.Понять практическую значимость условных предложений поможетподробное рассмотрение реализации одного из методов приближенного решения алгебраических уравнений.Решение алгебраических уравнений методомделения отрезка пополам (дихотомией)Как определить значение , при котором выполняется равенство − = ? Это простое алгебраическое уравнение невозможно решить82аналитически.

На помощь приходят численные методы. Один из самыхпростых и надежных – метод дихотомии.Метод основан на том, что непрерывная функция, меняющая знак нанекотором отрезке , обязательно принимает нулевое значение водной из точек этого отрезка. Если хотя бы один такой отрезок найден,пусть даже большой длины, то далее можно очень быстро найти решение уравнения = 0 с любой наперед заданной точностью.Метод дихотомии является итеративным, и заключается в том, что накаждой итерации отрезок, гарантированно содержащий корень уравнения, сокращается вдвое.

Соответственно, с ходом итераций эта длина быстро уменьшается. Например, за десять итераций длина отрезкасокращается примерно в 1000 раз1, за 20 итераций в 1000 000 раз и т.д.Итерации прекращают, как только достигнута необходимая точностьрешения, то есть корень уравнения локализован на достаточно маленьком отрезке.Итак, на -ой итерации метода дихотомии исходный отрезок [ , ]необходимо заменить в два раза меньшим. Перед началом итерациизнаки функции на концах отрезка известны и различны: на одномфункция принимает положительное значение, на другом – отрицательное. Найдем середину отрезка = + 2и вычислим значениефункции в этой точке.

Здесь возможны три варианта. Совсем маловероятный, что = 0. В этом случае искомая точка найдена абсолютно точно, и дальнейшие итерации можно прекратить. Но обычно значение функции в середине отрезка оказывается либо положительным,либо отрицательным. Из этого следует, что значения функции имеютразные знаки на концах только одного из двух отрезков, либо на110Точнее, в 2 =1024 раз83[ , ], либо на , . Именно на этом единственном отрезке гарантированно существует решение уравнения (нулевое значение функции).Соответственно, для следующей итерации принимают либо +1 = ,+1 = , либо +1 = , +1 = . Очевидно, и в том, и в другом случае длина отрезка [+1 , +1 ] в два раза меньше, чем [ , ].Вернемся к программированию и напишем программу, осуществляющую поиск решения с наперед заданной точностью = 10−6 . Начнем сописания переменных, предназначенных для хранения значений аргумента и функции на концах отрезка.DimDimDimDimDima As Double = 0b As Double = 1eps As Double = 0.000001Fa As Double = Math.Exp(-a) - aFb As Double = Math.Exp(-b) - bИтерации мы реализуем при помощи цикла Do … Loop.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5304
Авторов
на СтудИзбе
416
Средний доход
с одного платного файла
Обучение Подробнее