Главная » Просмотр файлов » Шестаков В.С. Расчет на ЭВМ нефтегазового оборудования. Учебное пособие для МНГ-2015

Шестаков В.С. Расчет на ЭВМ нефтегазового оборудования. Учебное пособие для МНГ-2015 (811778), страница 16

Файл №811778 Шестаков В.С. Расчет на ЭВМ нефтегазового оборудования. Учебное пособие для МНГ-2015 (Шестаков В.С. Расчет на ЭВМ нефтегазового оборудования. Учебное пособие для МНГ-2015) 16 страницаШестаков В.С. Расчет на ЭВМ нефтегазового оборудования. Учебное пособие для МНГ-2015 (811778) страница 162020-09-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 16)

Для сложных задач алгоритмывключают в себя все три вида схем.a1б 122Нет3в 1Нет3Да23ДагДаДаНет3132д1еI2I11НетI2InIiinРис. 3.1. Основные структуры алгоритмов и их производные:а – линейная, последовательное выполнение действий (блоков);б - цикл «До» (с постусловием), тело цикла (блок 2) выполняется до техпор, пока условие (блок 3) не станет истинным;в - цикл «Пока» (с предусловием), пока не будет нарушено условие(блок 3), осуществляется повторение тела цикла (блок 2);г – разветвление, применяется, когда в зависимости от условия требуетсявыполнить либо одно действие, либо другое;д – обход, частный случай разветвления, когда одна ветвь не содержитникаких действий;е - множественный выбор, обобщение разветвления, когда в зависимостиот значения переменной I выполняется одно из нескольких действийВ программе, составленной по алгоритму линейной структуры,все действия выполняются одно за другим.

В программе они реализуются операторами присваивания.85В программе, составленной по алгоритму разветвленной структуры, присутствуют условия проверки, и если условие «истина», товыполнится первая группа действий, а если нет, т. е. если условие«ложно», то выполнится другая группа действий. В программе ониреализуются операторами сравнения и присваивания.В программе, составленной по алгоритму циклической структуры, действие повторяется до тех пор, пока переменная, изменяясьот минимального значения, не достигнет максимального значения.

Впрограмме такие структуры реализуются операторами цикла и присваивания.Примеры часто применяемых алгоритмовОчень часто при решении инженерных задач в них входят типовые алгоритмы вычисления сумм, поиска наибольшего и наименьшего значения из некоторого ряда. Рассмотрим эти типовые алгоритмы.Алгоритм и программа вычисления суммыВоспользуемся приведенными выше рекомендациями, чтобы напримере вычисления суммы научиться составлять алгоритмы. Рассмотрим задачу: вычисление суммы N чисел.Вычисление суммы нескольких чисел на калькуляторе выполняется следующим образом:1) нажатием кнопки очистки очищается окно ввода (если в окнеимелось значение, отличное от нуля);2) набирается первое число;3) нажимается кнопка «плюс»;4) набирается следующее число;5) нажимается кнопка «плюс»;6) пункты 4, 5 повторяются до тех пор, пока не будут введенывсе числа.Указанные пункты представляют собой алгоритм решения задачи с помощью калькулятора.

Анализ приведенных пунктов последовательности расчетов показывает, что присутствуют операции вводаданных, вычисления и повторения действий.При разработке алгоритма решения задачи на ЭВМ первоначально прорабатывается вопрос использования данных. В этой задачедля хранения суммируемых значений можно применить массив и однупеременную для хранения суммы, а можно обойтись и без массива,86используя только одну переменную, в которую необходимо будет последовательно вводить значения и затем использовать их в формулевычисления суммы. Этот выбор повлияет на вид алгоритма. При использовании массивов ввод данных можно выполнить в одной подпрограмме, а вычисление в другой. При решении задачи без использования массивов ввод и вычисления должны выполняться в однойподпрограмме, в которой должен быть выполнен ввод числа, а затемсразу же его суммирование.При использовании массива для исходных данных и проведениирасчетов на ЭВМ процесс суммирования может быть организованследующим образом:1) выделяется ячейка памяти для хранения количества суммируемых значений и организуется массив для хранения этих значений;2) в ячейку памяти в программе вводится значение количествасуммируемых чисел;3) организуется цикл для ввода всех суммируемых значений;4) внутри цикла вводятся все суммируемые значения;5) для хранения результата суммирования в памяти компьютерадолжна быть выделена и очищена ячейка памяти (в нее первоначальнодолжен быть занесен нуль);6) организуется цикл по перебору всех элементов, подлежащихсуммированию;7) вычисляется сумма путем добавления текущего значенияэлемента суммирования к значению, хранимому в ячейке, и результатсуммирования отправляется в ту же ячейку;8) полученное значение суммы выводится на экран.Указанные пункты представляют собой алгоритм решения задачи на ЭВМ.

Анализ приведенных действий показывает, что пункты 14 обеспечивают ввод данных, пункты 5, 6, 7 – вычисление суммы, последний пункт вывод результатов. В соответствии с рекомендуемымиприемами по составлению алгоритмов эту задачу можно разбить натри подзадачи: ввод данных, расчет и вывод результатов. В представленном виде алгоритм позволяет хорошо уяснить задачу, но по немусоставлять программу затруднительно. Для повышения наглядности иудобства последующего программирования алгоритм изобразим вграфической форме с помощью специальных символов (табл.

3.1).Пример алгоритма вычисления суммы элементов одномерного87массива представлен на рис. 3.2. Вариантов алгоритмов решения дажеодной и той же задачи может быть несколько. В этой задаче алгоритмввода данных (рис. 3.2, а) может быть и другим.Начало1а2N35Ввод числа элементовЦикл повторения N раз вводаВвод i-го элемента массиваi=1,NA( i )4N,AN,AКонец алгоритма с выводомданныхНачало (поступление данных)2S=0Очистка ячейки под сумму3i=1,Nб 15Цикл повторения N раз вычисленийS=S+A(i)Вычисление суммы4SКонец алгоритма с выводом суммыРис. 3.2. Алгоритм вычисления суммы (пример алгоритмациклической структуры):а - алгоритм ввода данных, б - алгоритм вычисленияНачало1Задание начального номеравводимого элементаN =02Цикл для ввода массиваN =N+13Изменение номера вводимогоэлементаA( i )4Ввод i-го элемента массива5Проверка окончания вводаA( N )>0Да6N= N-17N,AВозврат к последнему ненулевому элементу массиваКонец алгоритма, вывод данныхРис.

3.3. Алгоритм ввода массива данных (пример алгоритмациклической структуры)88По приведенному алгоритму составляется программа. Рассмотрим пример вычисления суммы элементов данных, расположенных налисте Excel (это пример учебной задачи, Excel позволяет получитьтребуемую сумму с помощью формулы суммы непосредственно налисте Excel без программы Visual Basic).На листе Excel располагаются исходные данные, подготавливается место вывода результатов расчета, например, в видеАBПример программы расчета суммыИсходные данныеКоличество элементовЭлемент 1Элемент 2Элемент 3Элемент 4Элемент 5CD534355Программа на Visual Basic, составленная по приведенному алгоритмус данными, расположенными указанным способом на листе, будет иметь вид:Option ExplicitDim A(1 To 100) As Single, i As Integer, N As Integer, S As SingleSub Сумма()Ввод N, A‘Вызов процедуры ввода данныхCall Расчет(N, A, S)'Вызов процедуры вывода данныхCall Вывод(N, A)'Вызов процедуры расчетаEnd SubSub Ввод(N, A)'Процедура ввода данныхN = Worksheets("Лист1").Range("C3")'Ввод кол-ва элементовFor i = 1 To N'Начало циклаA(i) = Worksheets("Лист1").Cells(i + 3, 3) 'Ввод i-го элементаNext i'Конец циклаEnd SubSub Расчет(N, A, S)'Процедура расчетаS=0'Очистка переменной под вычисляемую суммуFor i = 1 To N'Начало циклаS = S + A(i)'Вычисление суммыNext i'Конец циклаEnd SubSub Вывод(N, A)'Процедура вывода данных89Worksheets("Лист1").Cells(N + 5, 1) = "Сумма:"Worksheets("Лист1").Cells(N + 5, 3) = SEnd SubДля решения этой задачи можно применять несколько вариантов программ.

Так, можно не вводить количество элементов, вводэлементов массива можно организовать не путем повторений цикла Nраз, а другим способом. Цикл в таких алгоритмах должен обязательноприсутствовать, а условие завершения его может быть другим. Можноорганизовать цикл и сделать выход по условию, когда элемент массива исходных данных будет нулевой или отрицательный. Вид алгоритма при таком условии показан на рис.

3.3. В цикле выполняется вводэлементов массива до тех пор, пока A(N) > 0. Ввод данных выполняется с листа Excel и будет прекращен при достижении первой незаполненной ячейки.Процедура, составленная алгоритму, будет иметь вид:Sub Ввод1(N, A)'Процедура ввода данныхN=0'Для организации ввода в 1 элементDo'Начало циклаN=N+1A(N) = Worksheets("Лист1").Cells(N + 3, 3) ‘Ввод i-го элементаLoop While A(N) > 0'Конец циклаN=N-1'Запоминание количества ненулевых элементовEnd Sub.Алгоритм поиска наибольшего значенияПодобные задачи решаются, например, при расчете эпюр изгибающих моментов для балочных конструкций.При решении задач без ЭВМ процесс определения максимального значения будет следующим:1) рассчитывается первое значение функции и запоминаетсякак наибольшее (например, записывается на бумаге);2) рассчитывается следующее значение и сравнивается с запомненным, если новое значение окажется большим, то запоминаетсяоно, а прежнее удаляется.Процесс поиска с помощью ЭВМ осуществляется следующимобразом: для хранения результата поиска в памяти компьютера должнабыть выделена ячейка памяти и в нее должна быть занесена величиназаведомо меньшая из тех, среди которых осуществляется поиск (так,90для поиска наибольшего из положительных значений можно занестинуль, а при поиске из массива можно занести первый элемент); организуется цикл по расчету или перебору всех элементов, изкоторых осуществляется поиск наибольшего; каждое рассматриваемое значение сравнивается со значениемв отведенной для хранения ячейке, и если оно окажется больше, то запоминается новое значение взамен предыдущего.Для примера рассмотрим задачу поиска максимального значения функции Y=A+B x+C x2 при изменении аргумента.

Алгоритм решения в виде блок-схемы показан на рис. 3.4. В данной задаче максимальное значение может быть положительным и отрицательным, поэтому в качестве начального значения использовано очень большоеотрицательное число (10^10).12Задание величины переменной дляхранения максимального значенияYmax= - 10^10345НачалоА,B,C,Xн,Xк,dXx=Xн,Хк,dXИзменение х от Хн до Хк через dXВычисление функцииПроверка превышения полученного значения ранее запомненногоY=A+B*x+C* x ^2ДаYmax=YY>YmaxНет6Запоминание нового значения7YmaxКонец алгоритма свыводом данныхРис.

3.4. Алгоритм поиска максимального значения(пример алгоритма циклической и разветвляющей структур)Пользователь должен научиться составлять собственные и читать составленные другими разработчиками алгоритмы. Приведенныев алгоритме комментарии помогут понять назначение элементов. Валгоритмах с разветвляющей структурой начинающим программистамнеобходимо полностью понять действие элемента «Решение».Переход по линии, на которой находится надпись «Да», происходит в случае, если условие выполняется в рассматриваемом алго91ритме, если Y действительно будет больше Ymax.

Характеристики

Список файлов книги

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