МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ
КАЗАХСТАН
Казахский национальный технический университет имени К. И. Сатпаева
Институт геологии и нефтегазового дела имени К. Турысова
Кафедра “Технология и техника бурения скважин”
УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС
по дисциплине
“Моделирование процессов бурения ”
для специальности 5В070800 – “Нефтегазовое дело”
Алматы 2012
Учебно-методический комплекс по дисциплине “Моделирование
процессов бурения” для студентов КазНТУ им. К.И. Сатпаева по специальности
5В070800 “Нефтегазовое дело”.
Составитель
Билецкий Мариан Теодорович – доцент, к.т.н.
Аннотация
Учебно-методический комплекс по дисциплине “Моделирование
процессов бурения скважин на ЭВМ” для студентов КазНТУ им. К.И. Сатпаева
по специальности 050708 “Нефтегазовое дело” поможет студентам в
самостоятельном освоении материала данной дисциплины. УМК разработан в
соответствии с указаниями ГОСО РК, квалификационной характеристикой
специалиста, типовым и рабочим учебными планами специальности 5В070800
“Нефтегазовое дело”
Учебно-методический комплекс состоит из учебной программы
дисциплины, конспекта лекций, методических материалов для самостоятельной
работы студентов, списка литературы, глоссария и контрольных вопросов.
2
1. УЧЕБНАЯ ПРОГРАММА ДИСЦИПЛИНЫ – SYLLABUS
1.1. Данные о преподавателе:
Преподаватель, ведущий занятия: Билецкий Мариан Теодорович –
доцент, к. т. н.
Контактная информация: Раб. телефон 2577057
Время пребывания на кафедре – Согласно расписанию
1.2. Данные о дисциплине
Название: “Моделирование процессов бурения ”
Количество кредитов: 3
Место проведения: Кафедра Т и ТБС, КазНТУ им. К. И. Сатпаева
Таблица 1 Выписка из учебного плана
Курс Семестр Кредиты
3
6
3
Лекции
1
Академических часов в неделю
Практические
СРСП
СРС Всего
занятия
2
3
3
9
Форма
контроля
Экзамен
1.3 Пререквизиты дисциплины: Математика, физика, общетехнические
дисциплины, информатика, геология, бурение скважин на нефть и газ
1.4. Постреквизиты дисциплины: Бурение скважин в сложных условиях,
Дипломное проектирование
1.5. Краткое описание
Бурение скважин по своей стоимости занимает наибольшую часть работ по
разведке и эксплуатации месторождений нефти и газа. Как и в других отраслях
индустрии, современные методы моделирования представляют собой
важнейший инструмент ведения научно-исследовательских работ по
совершенствованию технологии и техники буровых работ и снижению их
себестоимости. Специалист по буровым работам должен хорошо разбираться
в методах моделирования вообще и в составлении и анализе компьютерных
моделей в частности.
1.6. Виды занятий и график их выполнения
Таблица 2
Текущий
Вид
Контроля
Вид
работы
Пр. 1
Пр. 2
Пр. 3
Пр. 4
Пр. 5
Пр. 6
Тема
Статистические модели
Математические основы компьютера
Физические основы компьютера
Элементы структуры процессора
Язык Бейсик. Простейшие модели
Цикловые операции в языке Бейсик
3
Литература, стр. Срок
сдачи,
неделя
Осн. 5. с. 78-124
3
Осн. 3. с. 6-21
6
Доп. 8 с. 88-112
7
Осн.3.с. 190-204
8
Осн. 1 с. 4-36
11
Осн. 1. с. 47-57
12
Пр. 7
Пр. 8
Некоторые приемы программирования
Численные методы решения
математических задач
Пр. 9
Компьютерные модели
экспериментальных зависимостей
Рубе- Мод.1
жный Мод.2
Итоговый
Осн. 1. с. 50,54
Осн.2.с.5664,143
Осн. 1 с. 64-74
Осн. 2. с.93-117
Осн.5. с.138-167
Лекции 1 – 7
Лекции 8 – 15
13
14
15
3
5
Экзамен
1.7. Список литературы
Основная литература
1. Глинский Я.Н. и др. Бейсик, Qbasic и Visual Basic. Санкт Петербург:
ДиаСофт. 2002
2. Гутер Р. С., Овчинский Б. В. Элементы численного анализа и математической
обработки результатов опыта М.: Наука 1970
3. Кириличев А.М. Основы вычислительной техники. М.: Недра 1988
4. Мартин Ф. Моделирование на вычислительных машинах. М.: Советское
радио. 1972
5. Танатаров Т.Т., Билецкий М.Т. Основы научных исследований и
оптимизации в бурении, Алматы: Республиканский издательский комитет 1998
Дополнительная литература
6. Ганджумян Р.А. Практические расчеты в разведочном бурении. М.: Недра
1986
7. Элияшевский И. В. Технические задачи и расчеты в бурении. М.: Недра 1982
8 Борисов В. Г. Юный радиолюбитель. М. Энергия 1979
1.8. Сведения об оценке знаний
Таблица 3. Распределение рейтинговых баллов по видам контроля
Вид итогового контроля
Экзамен
Виды контроля
Итоговый
Рубежный
Текущий
Проценты
100
100
100
Таблица 4. Календарный график прохождения всех видов контроля
Недели
Виды контроля
1
О
2
О
3
П1
4
О
5
О
6
П2
7
П3
Число контролей в неделю
1
1
1
1
1
1
1
8
П4
РК
2
9
О
10
О
11
П5
12
П6
13
П7
14
П8
1
1
1
1
1
1
15
П9
РК
2
Виды контроля: П– практическая работа; О – опрос; РК – рубежный контроль
4
Таблица 5. Оценка знаний студентов
Оценка
Отлично
Хорошо
Удовлетворительно
Неудовлетворительно
Буквенный
эквивалент
А
А–
В+
В
В–
С+
С
С–
D+
D
F
В процентах, %
В баллах
95 – 100
90 – 94
85 – 89
80 – 84
75 – 79
70 – 74
65 – 69
60 – 64
55 – 59
50 – 54
0 – 49
4
3.67
3.33
3
2.67
2.33
2
1.67
1.33
1
0
Перечень вопросов по модулям и промежуточной аттестации
Модуль 1
1 Что такое моделирование
2 Что такое модель
3 Предметная модель и ее особенности
4 Абстрактная модель и ее особенности
5 Статистическая модель
6 Компьютерная модель
Модуль 2
1 Понятие о компьютере
2 Основные блоки, из которых состоит компьютер
3 Число поколений компьютеров
4 Важнейшие характеристики компьютера
5 Основные признаки компьютера
6 Что такое условный переход в программе
7 Что такое цикл в программе
Вопросы промежуточной аттестации
1 Этапы моделирования
2 Понятие адекватности модели
3 Взаимные преимущества и недостатки предметных и абстрактных моделей
4 Статистические модели: назначение, основные параметры
5 Преимущества компьютерных моделей
6 Причина смены поколений компьютеров
7 Понятие о 2-ичной системе счисления, почему она положена в основу
компьютеров
8 Причина быстродействия компьютеров
9 Чем отличаются компьютеры 1-го и 4-го поколений
10 Что такое полупроводник, два типа проводимости полупроводников
11 Какие полупроводниковые элементы используются в компьютерах
12 Основные блоки, из которых состоит процессор
13 Что такое регистр; назначение, составляющие элементы
5
14 Что такое дешифратор; назначение, составляющие элементы
15 Что такое сумматор; назначение, составляющие элементы
16 Что такое счетчик; назначение, составляющие элементы
1.9 Политика и процедура курса
Посещение занятий обязательно для студентов. Работы должны сдаваться в
установленный графиком срок. Несоблюдение срока ведет к уменьшению
текущего балла. Рубежный контроль проводится в виде промежуточного
экзамена
2. Содержание активного раздаточного материала
Таблица 6. Тематический план курса
Наименование темы
Количество часов занятий
Лекции Практ..
СРСП СРС
занятия
1
2
3
3
1
2
3
3
1
2
3
3
1
2
3
3
1
2
3
3
1
2
3
3
1
2
3
3
1
2
3
3
1
2
3
3
1
2
3
3
1
2
3
3
1. Модели и моделирование
2. Предметные и абстрактные модели
3. Статистические модели
4. Компьютерные модели
5. Общие сведения о компьютере
6. Математические основы компьютера
7. Физические основы компьютера
8. Элементы структуры процессора
9. Устройство и работа процессора
10. Работа программы в компьютерной среде
11. Элементы языка Бейсик. Простейшие
модели
12. Цикловые операции в языке Бейсик
13. Некоторые приемы программирования
14. Численные методы решения матем. задач
15. Модели экспериментальных
зависимостей
Всего часов
1
1
1
1
2
2
2
2
3
3
3
3
3
3
3
3
15
30
45
45
2.2. Конспекты лекционных занятий
ЛЕКЦИЯ 1. Модели и моделирование
Моделирование представляет собой один из методов научных
исследований. Последние могут проводиться и без использования моделей, т. е.
непосредственно на натурных (природных) объектах. Так, астрономы проводят
исследования своего объекта (планеты или звезды), наблюдая его в телескоп.
Этнографы, изучая быт племени, сами стараются прожить среди его членов
определенное время с целью накопления фактов.
Во многих случаях исследования ведутся не на самом объекте, а на его
моделях. Модель – это образ или представитель исследуемого объекта,
сохраняющий все те его характеристики, которые существенны для цели
исследования.
6
Моделированием называется разработка модели исследуемого
объекта с ее последующим использованием для решения поставленной
научной задачи. Моделирование сокращает сроки и стоимость научных работ,
а также позволяет получить более качественные, точные и надежные
результаты.
Методы моделирования широко используются в естественных науках
(физике, химии, биологии), а также в связанных с ними технических науках. В
общественных науках моделирование используется реже.
Схема этапов моделирования приведена на рис. 1.1. Рассмотрим ее на
примере.
Перед цементированием затрубного пространства обсадной колонны
необходимо составить рецептуру цемента. Это делают в лабораторных
условиях на пробе, которая представляет собой модель того цемента, которым
заполняют затрубное пространство.
Объектом исследования (этап 1 на схеме) в рассматриваемом случае
является
состав цемента, которым необходимо заполнить затрубное
пространство.
Изучение объекта (этап 2) состоит в сборе информации об условиях
цементирования Необходимо знать:
–
Истинный диаметр цементируемого интервала скважины (он может
отличаться от
номинального диаметра за счет каверн или сужений);
– Слагающие стенки скважины породы и их физико-химические свойства;
– Наличие и расположение горизонтов, содержащих пластовые жидкости и
газы;
– Физико-химические свойства этих жидкостей и газов;
– Физико-химические свойства заполняющего скважину бурового раствора;
– Температуру в цементируемом интервале
Постановка задачи исследования (этап 3). Рецептура состава
цементного раствора определяет все те свойства, которыми должны обладать
как сам раствор (плотность, водоотдача, растекаемость, срок схватывания), так
и образующийся из него цементный камень (прочность, пористость,
устойчивость к факторам окружающей среды).
Допустим, что в данном случае нас интересует лишь одно свойство: срок
схватывания. Это важное свойство цементного раствора. Если срок
схватывания слишком велик, то это затягивает работы и увеличивает
себестоимость. Если же он слишком короток, то это приводит к
преждевременному схватыванию и тяжелым авариям. Например, при спуске
потайной обсадной колонны на бурильных трубах последние могут оказаться
прихваченными преждевременно схватившимся цементом.
Итак: задачей исследования является установление необходимого и
достаточного срока схватывания цементного раствора
Решение вопроса о возможности моделирования (этап 4). В каждом
случае этот вопрос решается индивидуально с учетом всей совокупности
обстоятельств и прежде всего экономической стороны. Для рассматриваемого
7
примера ответ положителен. Возможность моделирования подтверждается
многолетней практикой использования проб для подбора рецептур цементных
растворов.
Выбор типа модели (этап 5). В следующих лекциях вопрос о типах
моделей будет рассмотрен подробно. Здесь же упомянем только о двух типах:
предметных и абстрактных моделях. Обычно предметные модели являются
уменьшенными копиями объекта исследования. Абстрактные же модели чаще
всего представляют собой его математическое описание
Лабораторная проба представляет собой предметную модель. Она
является малой частью от всего требуемого объема цементного раствора
Выделение важнейших с точки зрения поставленной задачи
характеристик объекта для их включения в модель (этап 6). Из всех свойств
цементного раствора нас интересует только срок схватывания. Хотя прочие
свойства для данного исследования несущественны, они тем не менее не
должны выходить за рамки нормы, соответствующей стандартному
цементному раствору. Его и целесообразно взять за основу для улучшения.
Рис. 1.1. Этапы моделирования
1 – объект исследования; 2 – изучение объекта; 3 – постановка задачи; 4 –
решение вопроса о возможности моделирования; 5 – выбор типа модели; 6 –
выделение характеристик объекта, важных для решения поставленной задачи; 7
– построение модели; 8 – проверка адекватности модели; 9 – корректирование
модели; 10 – исследования на модели; 11 – решение поставленной задачи
Задача исследования состоит в доведении срока схватывания цементного
раствора до необходимого в данных условиях, значения. Для решения этой
задачи наша модель (проба) должна учитывать все факторы затрубного
пространства, которые влияют на срок схватывания. Этих факторов несколько.
В частности, одним из факторов является скважинная температура, с
повышением которой срок схватывания сокращается. Как известно, глубокие
скважины имеют повышенную температуру забоя. Поэтому лабораторная
установка должна быть оснащена термостатом (регулятором температуры),
способным поддерживать ее необходимое значение. Само же это значение (как
и значения других влияющих факторов) должно быть установлено заранее по
результатам скважинных исследований (на этапе 2)
Построение модели (этап 7). Модель исследования должна включать как
собственно модель (пробу цементного раствора), так и экспериментальную
8
установку. Установка должна быть оснащена средствами для задания
требуемых значений влияющих факторов. Также должен быть в наличии
комплект измерительных средств для контроля параметров цементного
раствора и цементного камня.
Проверка адекватности модели (этап 8). Адекватностью называется
пригодность модели для решения поставленной задачи. При построении
модели не должен быть упущен ни один из факторов, способных привести к
несвоевременному схватыванию. Так, с учетом вышесказанного (этап 6)
модель была бы неадекватной, если бы в лабораторную установку не был
включен термостат.
Проверка адекватности может производиться различными способами –
от проведения экспертизы с участием специалистов, до помещения модели в
условия работы объекта исследования (спуска пробы в скважину с целью
убедиться, что и в этих условиях ее срок схватывания отвечает требованиям)
Корректировка модели (этап 9). Если модель оказалась неадекватной,
то это значит, что при моделировании какой-либо из существенных влияющих
факторов оказался неучтенным. В подобном случае модель подвергают
корректировке.
В частности, преждевременное схватывание цементного раствора в
скважине может произойти в результате игнорирования свойств заполняющей
скважину (и затрубное пространство) промывочной жидкости. Например, срок
схватывания
раствора цемента
укорачивают реагенты-электролиты
(каустическая сода, хлористый кальций и т. п.), используемые для повышения
вязкости промывочной жидкости. Поэтому если факт обработки промывочной
жидкости электролитами не будет принят во внимание, то цементирование
может закончиться аварией
В описанном случае корректировка модели должна заключаться в
следующем. В лабораторную установку включают фильтровальный пресс
(наподобие того, который применяется при определении водоотдачи). С его
помощью от промывочной жидкости отделяют фильтрат, т. е. ту воду, на
которой этот раствор приготовлен. В фильтрате в растворенном виде
присутствуют и использованные реагенты. На этом фильтрате (вместо обычной
воды) и должна замешиваться цементная проба.
Рис. 1.2. Модель с несколькими входами и одним выходом
М – модель; А, Б, С, Д – входные параметры (факторы); R – выходной параметр
(отклик); УС – условия среды
Из схемы на рис. 1.1 следует, что после корректирования модель
подвергается проверке на адекватность повторно.
9
Исследования на модели (этап 10). Убедившись, что модель адекватна,
с ее помощью проводят исследования с целью достижения требуемого
результата.
Модель, (рис.1.2.), имеет входные и выходные параметры. Через первые
оказывают влияние на вторые и регистрируют величину и направление их
изменений.
В примере нас интересует всего один выходной параметр (R) – время
схватывания цементного раствора. В данных конкретных условиях это время
должно быть наилучшим, т. е. не больше, и не меньше, заранее рассчитанного
необходимого значения. Поиски такого сочетания входных параметров, при
котором выходной параметр принимает наилучшее (оптимальное) значение
можно проводить, используя различные методы. Можно вначале изменять один
из факторов (например, водоцементное отношение) при постоянных прочих.
При каждом изменении фактора определяют соответствующее значение
отклика с целью оценки его близости к требуемому значению. Найдя
наилучшее значение первого фактора, приступают к испытаниям второго
фактора (содержания замедлителя схватывания) и т. д.
В других случаях два или более фактора изменяют одновременно.
Описываемый процесс называется оптимизацией и методы его проведения
разработаны в специальной теории проведения оптимального
эксперимента.
Решение поставленной задачи (этап 11). После нахождения
оптимального сочетания входных параметров (в примере реализованного в
наилучшей рецептуре цементного раствора) проводятся его испытания в
натурных (скважинных) условиях.
При решении подобных задач обычно стараются не просто получить
заданный технический результат, но и сделать это с минимальными затратами.
С этой целью добиваются достижения оптимального значения выходного
параметра R (параметра оптимизации) не одним, а несколькими способами –
несколькими сочетаниями входных факторов (несколькими рецептурами), одно
из которых требует наименьших затрат.
Рекомендуемая литература Осн. 4 с. 2-5
Контрольные вопросы
1 Понятие модели
2 Понятие моделирования
3 Преимущества моделирования перед другими методами
исследований
4 Этапы моделирования
5 Связь структуры модели с целью исследований
6 Понятие адекватности модели
7 Процедура исследования на модели
10
ЛЕКЦИЯ 2. Предметные и абстрактные модели
Существует несколько типов моделей. Рассмотрим важнейшие из них.
Предметные модели имеют ту же физическую природу, что и сам объект
исследования. Обычно это его уменьшенные
копии, адекватность
которых состоит в том, насколько они сохраняют все важные для решения
поставленной задачи черты. Прочие черты исследуемого объекта
отбрасываются или заменяются на более удобные и экономически
приемлемые. Рассмотрим две модели самолета.
При одинаковой мощности двигателей скоростные качества самолета
зависят от сопротивления воздуха, которое данный самолет встречает при
полете. Сопротивление воздуха определяется, в частности, двумя важными
факторами: внешней геометрической формой самолета и его наружным
покрытием. От внешней формы (фюзеляжа, крыльев, хвостового оперения)
зависит режим обтекания воздуха, отсутствие или наличие завихрений и их
интенсивность. Характер же покрытия определяет коэффициент трения между
воздухом и самолетом.
Рис. 2.1. Установка для определения сопротивления воздуха движению
самолета
1 – устройство подачи воздуха; 2 – измеритель давления; 3 – камера для
размещения модели; 4 – модель; 5 – измеритель скорости потока воздуха; 6 –
струи воздуха; V – скорость; F – сила сопротивления
С другой стороны много других характеристик самолета, таких,
например, как внутреннее устройство, на его скорость не влияют. Поэтому
адекватная модель самолета, созданная для изучения его скоростных качеств,
должна сохранять внешнюю форму исследуемого самолета и иметь точно
такое же покрытие. Внутри же эта модель может быть пустой, либо
заполненной
каким-либо недорогим наполнителем. Не имеет значения
движется ли модель относительно неподвижного воздуха, либо, наоборот,
воздух движется относительно неподвижной модели.
Экспериментальная установка представлена на рис. 2.1. Модель 4
неподвижно размещена в камере 3 (аэродинамической трубе). Мощный
вентилятор 1 гонит сквозь камеру воздух в направлении от носа самолета к его
хвосту. Давление подаваемого воздуха регистрирует манометр 2, скорость его
движения – прибор 5. Эта скорость соответствует скорости движения самолета
при полете. Регулируя производительность вентилятора, можно задавать
11
различные “скорости полета”. Давление, которое при этом будет показывать
прибор 2, характеризует сопротивление модели проходу воздуха мимо нее, т. е
сопротивление воздуха движению самолета. Знание скорости V и силы
сопротивления F позволяет вычислить мощность N , которая требуется
двигателю самолета при полете в этих условиях (поскольку N  VF ).
Задача
моделирования заключается в снижении до минимума
сопротивления движению самолета в воздухе, так, чтобы при заданной
мощности двигателя обеспечить максимальную скорость полета. Создается
несколько моделей с различными конфигурациями корпуса и крыльев, и с
разными покрытиями. Исследование позволяет выбрать наилучший вариант
модели, а с ее помощью и самолета
Если поставить другую задачу, а именно разместить в самолете
максимально-возможное число пассажиров, то модель будет выглядеть совсем
иначе (рис. 2.2 )
Рис. 2.2. Использование внутреннего пространства фюзеляжа самолета
1 – кабина пилотов; 2 – помещение для обслуживающего персонала; 3 – кресла
первого салона; 4 – кресла второго салона; 5 – туалеты; 6 – грузовой отсек
Основными факторами для такой модели являются геометрическая
форма и размер фюзеляжа, кресел, проходов, форма, размер и расположение
грузовых отсеков, число пассажиров и членов экипажа. Такая модель не
включает крылья и хвостовое оперение самолета, т. к. для решения
поставленной задачи эти факторы несущественны.
Выше упоминалось, что для снижения
стоимости исследований
предметные модели обычно выполняют уменьшенными. Это относится и к
рассмотренным моделям самолета. Однако очевидно, что сопротивление
воздуха полету настоящего самолета будет много больше, чем сопротивление
уменьшенной модели. Для переноса данных с модели на натурный объект
используется теория подобия. В частности, геометрическое подобие
заключается в том, что все линейные размеры модели по сравнению с
натурным объектом изменяется в одно и то же число раз K . Тогда
соответствующие площади должны отличаться в K 2 раз, а объемы – в K 3
раз.
Например, если модель самолета уменьшена по своим линейным
размерам в K =10 раз, то ее поверхность уменьшена в 100 раз. Силы трения о
воздух, от которых, зависит сопротивление самолета полету, действуют на его
поверхность. Следовательно, определив сопротивление модели, и умножив
полученную величину на 100, можно дать оценку, относящуюся уже к
12
реальному самолету. Во втором же примере в 10 раз придется уменьшить
типичные размеры пассажиров, которых предстоит разместить в фюзеляже.
Кроме геометрического подобия существует также физическое
подобие, для установления которого разработаны специальные критерии.
В бурении широко применяется один из критериев физического подобия –
критерий Рейнольдса. С его помощью оценивают режим движения жидкости в
трубопроводе (ламинарный, переходный, турбулентный). Критерий Рейнольдса
Re 
Vd

,
(2.1)
где V , d , – скорость движения жидкости, размер поперечного сечения
трубопровода и коэффициент кинематической вязкости жидкости
соответственно. Благодаря этому критерию, проведя опыты над одним
трубопроводом (например, измерив потерю давления при движении по нему
некоторой жидкости), можно скорректировать результат применительно к
трубопроводу с другим размером сечения, при иной скорости жидкости и даже
если сама эта жидкость будет иметь иную вязкость.
Рис. 2.3 Экспериментальный стенд для моделирования процесса бурения
1 – бетонный фундамент; 2 – рама; 3 – сварное основание насоса; 4 – буровой
насос; 5 – нагнетательный шланг; 6 – всасывающий шланг; 7 – приводной
шкив; 8 – емкости с промывочной жидкостью; 9 – сварное основание бурового
станка; 10 – буровой станок; 11 – электродвигатель; 12 – гидроцилиндр подачи;
13 – шток; 14 – шпиндель; 15 привод шпинделя; 16 – траверса; 17 – зажимной
патрон;18 – бурильная труба; 19 – колонковая труба; 20 – ПРИ; 21 – блок
породы; 22 – ранее пробуренная “скважина”; 23 – сальник
Организации, ведущие исследования в области буровых работ, постоянно
занимаются предметным моделированием. С этой целью создаются буровые
стенды, один из которых изображен на рис. 2.3. Из рисунка видно, что основой
13
стенда является
небольшой шпиндельный буровой станок 4. Станок
смонтирован на сварном основании 9, достаточно высоком, чтобы обеспечить
извлечение колонковой трубы и ПРИ из пробуренной в блоке породы 21
“скважины”. При бурении требуемая осевая нагрузка создается за счет
гидроцилиндров подачи 12, а с помощью коробки скоростей устанавливается
частота вращения. В наиболее современном варианте в
качестве
приводного двигателя 11 устанавливают электродвигатель постоянного тока,
позволяющий регулировать частоты вращения плавно в интервале от 0 до 2000
об/мин. Получение постоянного тока обеспечивает тиристорный выпрямитель.
Насос 4 через шланг 5 и сальник 23 подает жидкость в бурильную колонну 18 и
к работающему ПРИ. Выходя из устья “скважины”, жидкость попадает в
систему сообщающихся отстойников 8, а из них – через всасывающий шланг 6
– возвращается в насос.
Вместо реального разреза используется блок породы заданных размеров,
оторванный от массива в условиях обнажения, карьера или подземной горной
выработки. Как правило, это твердая или крепкая порода, позволяющая на
площади в 1 м 2 пробурить около десятка скважин глубиной до 1 м.
Моделирование процесса бурения на стендах рассмотренного типа
позволяет проводить исследования взаимодействия породоразрушающего
инструмента и породы. Целью исследований может быть:
– Разработка коронок и долот для определенных пород и определенных
способов бурения (алмазного, гидро или пневмоударного)
– Разработка оптимальных режимов бурения для этих коронок и долот по
таким критериям, как максимум скорости бурения, или максимум
проходки на ПРИ
– Сравнительные испытания различных марок ПРИ с целью выявления
тех, которые обеспечивают наибольший эффект по породам данной
разновидности
– Разработка технических средств и технологий для повышения выхода
керна
Если же целью исследования является, например, улучшение работы
бурильной колонны, или создание методов и средств направленного бурения,
то рассмотренная модель окажется неадекватной вследствие слишком малой
длины “скважины”. Для таких условий структура модели должна быть
принципиально иной.
Абстрактная модель – это математическое уравнение, описывающее
поведение объекта исследования в известных условиях. Это поведение
представляется как функция от определенных аргументов, каждому
сочетанию которых соответствует некоторое значение рассматриваемого
параметра объекта исследований.
Абстрактные модели составляют на основе известных законов
физики и математики. Чтобы получить абстрактную модель, необходимо на
стадии предварительного изучения (этап 2 на рис. 1.1) установить те разделы
физики, которые участвуют в структуре объекта. Математическое описание
14
объекта исследований сводится к увязыванию между собой формул физических
законов.
Адекватность абстрактной модели, определяется полнотой учета
всех влияющих на результат физических факторов. Факторы, не влияющие
на решение задачи (либо влияющие несущественно), при построении модели
отбрасываются.
Рассмотрим
простейший пример построения абстрактной модели.
Допустим, что исследуемое устройство включает работающую на постоянном
токе электросхему (рис. 2.4). В схеме имеется источник напряжения
U и сопротивление R . При этом
Рис 2.4 Схема постоянного тока
U – напряжение; R – электрическое сопротивление; J – сила тока; l – длина;
d – диаметр
последнее имеет вид цилиндрического стержня, длина которого l и диаметр d
известны, также, как и удельное сопротивление  материала стержня.
Необходимо найти такую математическую (абстрактную) модель, которая
позволила бы определять силу протекающего по схеме тока для любых
сочетаний указанных факторов. Решение может быть получено с помощью
закона Ома
J 
U
R
(2.2)
При этом сопротивление стержня может быть найдено через другой
физический закон, связывающий электрическое сопротивление провода с его
материалом (через удельное сопротивление) и геометрическими параметрами:
R
l
,
S
(2.3)
где S – площадь поперечного сечения, которая, для цилиндрического стержня
равна
S

4
d2
(2.4)
Теперь остается объединить три частные модели в одну – ту которая дает
непосредственный ответ на вопрос, поставленный в задаче. Для этого
подставляем формулу (2.4) в (2.3), а результат подстановки – в формулу (2.2).
Получим;
J
d 2U
4 l
(2.5)
Пусть, например, напряжение равно U = 22 В, а представляющий
сопротивление стержень состоит из графита с удельным сопротивлением  =
15
0.013 Ом*м и имеет диаметр d = 0.05 м и длину l = 2 м. Для такого сочетания
влияющих факторов модель дает значение силы тока J = 1.66 А. Однако этот
результат полностью соответствует действительности только при температуре
20 0 С, т. к. при иных температурах удельное сопротивление графита
отклоняется от выше принятого значения.
Сравнение предметных и абстрактных моделей показывает:
Стоимость предметных моделей выше, т. к. их использование требует
построения не только собственно предметной модели, но и экспериментальной
установки, позволяющей оказывать на модель требуемые воздействия и
производить замеры. Для абстрактных моделей материальных затрат не
требуется
Точность характеристики объекта исследования с помощью
абстрактной модели зависит от того, насколько полно она учитывает все
влияющие на объект исследования факторы. В приведенном выше примере
погрешность результата зависит, от неучтенного температурного фактора.
Во многих случаях дать математическую оценку всех влияющих на
объект исследования факторов очень трудно в виду их большого количества. В
частности это относится к процессу бурения. На него влияют такие свойства
породы как прочность, абразивность, трещиноватость, влажность,
анизотропность, неоднородность состава. Кроме того влияет керн (его
подклинки), бурильная колонна (ее трение о стенки скважины), промывочная
жидкость (ее качество количество и гидростатическое давление), глубина
(изменение с глубиной буримости пород). Огромное влияние оказывает тип,
конструкция качество и состояние ПРИ. Реально абстрактные модели
процесса бурения, могут учитывать лишь весьма ограниченное количество
факторов. Точность таких моделей настолько низка, что по сути дела, они
способны представить лишь качественную характеристику процесса бурения
(что впрочем также важно).
В результате, полученном на предметной модели учитываются все
действующие на нее в ходе эксперимента факторы. Однако на точность
характеристики объекта исследования влияет элемент случайности. Если,
например, опыт по бурению данной породы данной коронкой повторить (при
тех же самых режимах бурения), то результаты по двум опытам (например,
скорости бурения) будут все-таки отличаться один от другого. Причина лежит
в случайном и трудно выявляемом изменении каких-либо из многочисленных
влияющих на процесс бурения факторов.
При исследованиях на абстрактных моделях элемент случайности
отсутствует
Область использования предметных моделей шире, т. к. в отличие от
абстрактных моделей они не требует наличия разработанной теории. Требуемая
квалификация работающего с предметной моделью персонала существенно
ниже. Кроме того (как было уже упомянуто) при изучении многофакторных
объектов, эффективность абстрактных моделей вообще невысока.
Рекомендуемая литература: Осн. 4 с. 5-7
16
Контрольные вопросы:
1 Понятие о предметной модели и ее адекватности
2 Какой научный метод позволяет использовать результаты полученные на
уменьшенных моделях
3 Устройство стенда для моделирования разрушения породы при бурении
4 Виды исследований, которые возможно вести на таком стенде
5 Факторы, влияющие на процесс разрушения породы при бурении
6 Понятие об абстрактной модели и ее адекватности
7 Как создается абстрактная модель
8 Достоинства и недостатки предметных моделей
9 Достоинства и недостатки абстрактных моделей
ЛЕКЦИЯ 3. Статистические модели
В предшествующей лекции отмечалось, что при проведении
экспериментов на предметной модели, результаты повторных опытов
оказываются неодинаковыми.
Если расхождения в результатах опытов
значительны, то условия их проведения следует проанализировать на наличие
отклонений от заданных значений факторов. Например, при экспериментах на
буровом стенде (рис. 2.3), анализ может показать, что в ходе одного из опытов
соответствующий участок блока породы имел повышенную трещиноватость.
Результаты такого опыта аннулируются.
Если же существенных отклонений в условиях проведения опытов
анализ не выявил, то принимается, что опыты равноценны, а различия в
их результатах вызваны случайными причинами.
Возникает вопрос о том, какой результат является наиболее типичным,
так, чтобы его можно было принять за основу для характеристики
исследуемого объекта. Ответ на этот вопрос дают статистические модели
Рис. 3.1. Результаты двух серий опытов
x I , x II – числовые оси, на которых отложены результаты I-й и II-й серий опытов;
xi , x j – частные значения результатов опытов с номерами i, j для I-й и II-й серий
опытов соответственно; X Icp , X IIcp – средние значения по I-й и II-й сериям
опытов;  I ,  II – соответствующие средние квадратические отклонения
Методы математической статистики основаны на обязательном
повторении опытов. Результаты повторных опытов обобщают путем
вычисления средних значений,
являющихся наиболее типичными
Средний результат
17
X
=
 in1 xi
,
n
(3.1)
где xi – результат по каждому i -му опыту, а n – число опытов.
Случайное
рассеяние
результатов
отдельных
характеризуется средним квадратическим отклонением

опытов
 in1 ( xi  X ) 2
n 1
(3.2)
Рис. 3.1 демонстрирует две серии аналогичных опытов, результаты которых xi
для первой и x j для второй серии, в определенном масштабе отложены на
x I , x II . Результатами могли бы, например, быть скорости
числовых осях
бурения коронкой одной и той же марки по двум блокам одинаковых по
составу пород, но с разным размером зерен составляющих минералов. В
первой серии зерна крупнее. Средние значения скоростей по обеим сериям
опытов близки, частные же значения (количество которых одинаково) в первой
серии опытов разбросаны шире, чем во второй (Если бы речь шла о стрельбе по
мишеням, то можно было бы сказать что результаты второй серии легли на
свою ось xII более “кучно”). В связи с вышеуказанным  I >  II
Рассмотрим статистическую модель более пристально применительно к
результатам одной из вышерассмотренных серий опытов. Механическая
скорость для каждого опыта с номером i
vi 
hi
,
Ti
(3.3)
где hi , Ti – глубина скважины в блоке и время ее бурения соответственно. Опыт
в серии был повторен 7 раз ( n = 7). Формула (3.1) позволяет вычислить
среднюю скорость V = 6.43 м/ч, а формула (3.2) – среднее квадратическое
отклонение  = 0.94 м/ч
Проанализируем полученный ряд скоростей на предмет обнаружения
“промахов”. Промахом называют один из результатов ряда повторных
опытов, который отличается от остальных результатов слишком сильно.
Таблица 3.1. Скорости бурения по результатам стендового эксперимента
Номер опыта i
Скорость бурения vi , м/ч
1
6.8
2
7.1
3
6.4
4
6.2
5
4.5
6
6.6
7
7.4
Такой результат вызывает подозрение, что он появился не по случайным
причинам, а вследствие отклонения условий эксперимента от заданных, что
недопустимо.
Выше говорилось о том, что причиной сильного отклонения одного из
результатов от всех прочих могло бы быть то, что соответствующий участок
блока оказался трещиноватым (при отсутствии трещин в остальных частях
блока). Математическая статистика позволяет находить промах чисто
формальными методами.
18
В приведенном в таблице ряде скоростей подозрение вызывает 5-е
значение – 4.5 м/ч. Оно слишком мало и отклонилось от среднего значения на
 5 =1.93 м/ч. Это более, чем в 2 раза больше, чем отклонение 7-го значения
(  7 = 0.93 м/ч) – второго по величине. Исключим подозрительное значение из
ряда и получим, что без него средняя скорость
V = 6.75 м/ч и среднее
квадратическое отклонение  = 0.39 м/ч . Новое значение  значительно
меньше – ряд стал более “кучным”. Вычислим соотношение
t


,
(3.4)
подставив в него  5 = 2.25 (6.75 – 4.5 = 2.25 –относительно нового значения
средней скорости 6.75) и  = 0.39. Получим t = 5.77.
Принимается, что одно из значений ряда случайных величин
является промахом, если оно отклонилось от среднего значения (в “плюс”
или в “минус”) более, чем на 3  . В рассмотренном примере значение 4.5 м/ч
отклонилось от среднего на 5.77  что больше, чем 3  . Следовательно это
значение несомненно является промахом и подлежит исключению из ряда
скоростей и из дальнейшего рассмотрения
Если состоящий из серии отдельных опытов эксперимент повторить (в
тех же самых условиях) и посчитать среднее значение, то окажется что средние
значения по первой и второй сериям несколько отличаются друг от друга. Если
провести несколько повторений эксперимента, то будет получено
соответствующее количество средних значений. По этим средним значениям
(как и по результатам отдельных опытов) можно по формуле (3.2) посчитать
среднее квадратическое отклонение  X – “сигму средних”.
Доказано, что для нахождения  X проводить несколько серий опытов и
пользоваться формулой (3.2) не обязательно.  X можно найти по результатам
только одной серии опытов по формуле
X 

n
,
(3.5)
где n – число повторных опытов в одной серии
 X характеризует ошибку среднего значения и поэтому можно
сделать вывод, что чем больше число повторений опыта, тем меньше
ошибка среднего результата и тем он надежней. В рассматриваемом примере
формула (3.5) дает  X = 0.16 м/ч
Если максимально-допустимой ошибкой среднего результата
задаться заранее, то тогда, формула (3.5) позволяет установить
необходимое число повторений опыта:
n(
 2
)
X
(3.6)
Можно, например, задаться  X = 0.1 м/ч и тогда при  = 0.39 м/ч,
необходимое число повторений опытов в рассматриваемом эксперименте
окажется равным n = 15. Это значит, что к уже выполненным 6 повторным
опытам требуется добавить еще 9
19
Статистические методы позволяют оценивать характер зависимости
одних параметров от других. Для этого используются эмпирические
формулы, построенные не на основе физических законов (как абстрактные
модели), а на основе формальных признаков. Порядок проведения
эксперимента для построения моделей зависимостей показан на рис. 3.2. на
примере зависимости скорости бурения от осевой нагрузки.
На экспериментальном стенде в блоках породы одной и той же
разновидности бурятся скважины с вычислением по формуле (3.3) скорости
бурения v ij по каждой их них. Скважины бурят при постоянных значениях всех
параметров режима, кроме осевой нагрузки, которая с шагом h возрастает от
минимального 1-го до максимального n – го значения. При каждом i – том
значении осевой нагрузки С i с целью повторения опытов бурят m скважин
и получают m значений скоростей от v i1 до vim .
Рис. 3.2. Экспериментальная зависимость скорости бурения от осевой нагрузки
С – ось нагрузок; С i – испытуемое значение нагрузки; h – шаг изменения
нагрузки; v – ось скоростей; vi – расчетная скорость бурения (на кривой
зависимости); v ij – опытное значение скорости для i – того значения осевой
нагрузки при j – том повторении опыта;  ij – отклонение опытного значения
скорости от расчетного; n – число испытываемых значении нагрузки; m – число
повторений каждого i – того опыта
Математическая обработка всех имевших место в ходе эксперимента
значений факторов X (нагрузок) и соответствующих результатов Y (скоростей)
позволяет получить уравнение зависимости вида
Y  a 0  a1 X  a 2 X 2  a3 X 3  ...  a k X k
(3.7)
Траектория графика зависимости определяется коэффициентами ее
уравнения (от a 0 до a k ), которые часто вычисляются в соответствии с
принципом наименьших квадратов
Q   i  j 2ij  min ,
(3.8)
20
Принцип наименьших квадратов требует, чтобы линия зависимости
проходила на минимальном расстоянии от всех опытных точек (от всех
v ij ), рассматриваемых в совокупности. В уравнении  ij – отклонение
результата
опыта (скорости), от того же результата Y (в примере vi )
рассчитанного по уравнению (3.7).
Уравнение (3.7) называют статистической регрессионной моделью
зависимости. При расчете выхода Y регрессионной модели статистические
методы дают возможность оценить возможную ошибку.
Недостаток статистических методов заключается в большом
количестве необходимых вычислений.
Рекомендуемая литература: Осн. 4 с. 8-10
Контрольные вопросы
1 Область применения методов математической статистики
2 Чем характеризуется наиболее типичный результат в статистике
3 Чем характеризуется рассеяние результатов по повторным опытам
4 Что такое промах и как его обнаруживают
5 Что такое среднее квадратическое отклонение среднего значения
6 От чего зависит ошибка среднего значения
7 Что такое эмпирическая формула
8 Постановка эксперимента по нахождению экспериментальных зависимостей
9 Что такое принцип наименьших квадратов, для чего он используется?
ЛЕКЦИЯ 4. Компьютерные модели
Компьютерная модель – это программа, составленная на основе
абстрактных либо статистических моделей. Программа состоит из
вычислений по соответствующим формулам. Порядок перехода от одной
формулы к другой определяется выполнением некоторых условий, т. е.
логическими операциями.
Часто кроме основной программы компьютерные модели включают и
ряд подпрограмм, работающих под управлением основной. Подпрограммы
могут представлять собой наборы данных (справочный материал). В качестве
подпрограмм могут быть включены
и так называемые библиотечные
программы. Библиотечная программа – это модель с широкой областью
применения, используемая в различных пользовательских компьютерных
моделях по мере надобности. Существуют, например,
библиотечные
программы по статистической обработке данных.
Большие программы часто строятся в виде комбинации
подпрограмм (структурное программирование). Каждая подпрограмма при
обращении к ней выполняет свою часть от общей работы, тогда как основная
программа несет только служебные функции по подключению подпрограмм в
заданной последовательности
21
Программы для моделирования составляются на специальных
пользовательских языках, позволяющих минимизировать время и сделать
процесс программирования удобным и доступным для пользователей,
работающих в разных областях науки и техники. Существуют языки,
отвечающие специфике какой-либо конкретной отрасли (язык КОБОЛ для
экономистов и ФОРТРАН – для инженеров).
Языки программирования развиваются и совершенствуются в сторону
расширения их возможностей. Этому способствует развитие элементной базы
компьютеров, в результате чего одно их поколение с течением времени
сменяется другим, более мощным.
Пользовательские языки
могут работать лишь при условии
наличия в компьютере определенной среды, носящей название
операционной системы. Примером операционных систем являются системы
ДОС или WINDOWS. Операционная система также представляет собой
программу, но ее назначением является не решение пользовательских
задач, а управление работой самого компьютера.
Операционная система должна включать транслятор для перевода
с пользовательского языка на язык самой машины (компьютера). Дело в
том, что язык машины ориентирован на обеспечение эффективности ее работы
и, в частности, на максимально возможную экономию памяти, тогда как цель
пользовательских программ– это максимальная доступность пользователю. На
одном и том же компьютере с его единственным собственным языком можно
применять несколько пользовательских языков, если только операционная
система включает соответствующие трансляторы.
Принципиальными отличиями работы на вычислительных моделях
с помощью компьютеров от работы без них является колоссальная
быстрота и практически любая требуемая точность вычислений.
Современные компьютеры способны выполнять до триллиона операций в
секунду, или, говоря иначе (как это принято в настоящее время), их тактовая
частота доходит до 10 12 Гц. В результате на вычислительные работы,
выполняемые раньше коллективами специальных “счетных работников”) за
дни, недели и месяцы, теперь требуются секунды или даже доли секунд.
Экономии времени соответствует и колоссальная экономия денежных и иных
средств.
Безошибочность компьютера (в отличие от безошибочности “счетных
работников”) не вызывает сомнений, и это экономит время на проверки и
повторные расчеты. Сюда следует добавить еще и время на ликвидацию
связанных с ошибками отказов в работе различных устройств, промышленных
систем, технологий и научных программ, в случае, если ошибки остались
незамеченными.
Все языки программирования позволяют осуществлять так
называемый оператор цикла, выполняющий вычисления по какой либо
формуле (или последовательности формул) повторно, но с включением
каждый раз новых значений аргументов. Количество таких повторных
22
вычислений может равняться нескольким тысячам, причем
весь цикл
выполняется в доли секунды.
В простейшем случае с помощью компьютерного цикла можно создать
таблицу данных для передачи оператору, обслуживающему какой-либо
производственный процесс. Таблица дает ориентиры для быстрого и
качественного выполнения работы.
Например, при возникновении прихвата бурильщику срочно требуется
определить его глубину (длину неприхваченной части бурильной колонны).
Это делается по формуле
L
EF
,
P1  P2
(4.1)
где E – модуль продольной упругости материала колонны, F – площадь ее
сечения,  – удлинение колонны, P1 – предварительное усилие ее натяжения,
P2 – конечное усилие.
Метод осуществляется с помощью следующей последовательности
операций: Вначале небольшим усилием P1 бурильщик, выбирает “слабину”
бурильной колонны – т.е выпрямляет ту “пружину”, которую колонна
представляет собой в скважине. На уровне поверхности ротора мелом делается
отметка на ведущей трубе. Далее натяг увеличивают до усилия P2 и снова
делает отметку на ведущей трубе. Расстояние между двумя отметками и дает
удлинение  , для использования в формуле (4.1).
Вычисления по формуле представляют для бурильщика определенные
неудобства. Поэтому его снабжают таблицами, где указаны различные
типоразмеры бурильных колонн (с соответствующими сочетаниями F и E ).
Для каждого сочетания указываются усилия P1 и P2 , и связанные с ними
удлинения  для различных глубин прихвата L.
На практике используется более десятка диаметров труб, для каждого из
которых предусмотрено до 4 толщин стенок. Необходимо предусмотреть целый
ряд значений усилий, и соответствующее число удлинений. Составление
таблицы определения глубины прихвата вручную требовало бы большого
объема вычислений. Для компьютера же это представляет несложную задачу,
хотя программа должна пройти по нескольким “вложенным ” друг в друга
циклам (о таких циклах см. ниже при описании языка Бейсик)
В оптимизационных моделях, операторы цикла используют для
перебора большого числа результатов вычислений, из которых
по
заданным признакам отбирается один, наиболее приемлемый.
Большим количеством вычислений, и цикловых операций, отличаются
статистические модели, необходимые для различных практических
применений. Особенно сложны расчеты экспериментальных зависимостей, и, в
частности, нахождение коэффициентов в уравнениях регрессии (формулы (3.7)
и (3.8). Использование компьютерных моделей позволило сделать в этой
области решающий шаг вперед.
Быстрый и точный расчет многофакторных статистических
зависимостей позволил осуществлять оптимальное
автоматическое
23
управление различными процессами. До начала производственного процесса
в память управляющего автомата закладываются данные, полученные по
результатам ранее проведенных работ. В ходе процесса с датчиков поступают
все новые данные, непрерывно пополняя память автомата. С помощью
разработанных критериев программа подвергает поступающую с датчиков
информацию анализу. На основе этого анализа автомат, используя заложенные
в него уравнения зависимости выходных параметров от входных, корректирует
управление текущим процессом, обеспечивая получение наилучших
результатов. Таким образом значения входных параметров непрерывно
приспосабливаются к меняющимся условиям. Самоприспосабливающиеся
управляющие модели называют адаптивными.
Адаптивные статистические оптимизационные модели управления с
успехом используются для управления процессом бурения глубоких скважин.
Содержащее компьютер и управляющую программу устройство собирает,
накапливает и статистически обрабатывает материал, относящийся к породам,
долотам, режимам бурения, буровому раствору, а также к таким выходным
данным, как рейсовые проходки, механические и рейсовые скорости бурения,
время СПО. Анализ этих данных осуществляется моделью по экономическому
критерию, например стоимости метра проходки
Оптимизационная модель в общих чертах разрабатывается при бурении
первой скважины. В ходе бурения специально осуществляется варьирование
(периодическое изменение) факторов технологии, с целью установления
влияния этих изменений на принятый критерий оптимизации в лучшую или в
худшую сторону. На этой основе программа разрабатывает и фиксирует в
памяти компьютера уравнения статистических зависимостей. Последние и
представляют собой адаптивную оптимизационную модель. При бурении
следующих скважин начальная модель корректируется
с учетом
изменяющихся условий (породы, глубины, диаметры скважины и т. д.)
Подобные модели могут иметь своим критерием и такой параметр, как
безаварийность. В этом случае собранный в ходе предварительного бурения
материал в дальнейшем используется для своевременного распознавания
возникающих опасных ситуаций (совокупность признаков которых уже
зафиксирована в памяти компьютера). Немедленно после распознавания
опасности аварий компьютер подает сигнал на автоматическое управляющее
устройство которое принимает необходимые меры (от корректировки режима
бурения или закрытия превенторов до извлечения бурового инструмента из
скважины). Таким образом авария предотвращается и экономятся средства
(часто очень большие) на ее ликвидацию.
Внедрение компьютерных моделей обеспечило резкое повышение
качества результатов работы целых отраслей. Известно, что скачкообразно
возросла сбываемость метеорологических прогнозов. Их разработка требует
выполнения многочисленных вычислений и в случае, когда из-за дефицита
времени (например при частой сменные погоды) такие
вычисления
выполнялись счетным персоналом не в полном объеме, прогнозы оказывались
ошибочными, что наносило ущерб всему народному хозяйству. По этой
24
причине бюро
метеорологические прогнозов были в числе первых
организаций, где в СССР еще в начале 50-х годов прошлого века начали
внедряться компьютеры.
Рекомендуемая литература: Осн. 4 с. 10-17
Контрольные вопросы
1 Что представляет собой компьютерная модель?
2 Пользовательские и машинные языки программирования. Различия
3 Что такое операционная система?
4 Что такое транслятор?
5 Что дает быстродействие компьютерной модели
6 Что дает точность компьютерной модели?
7 Что такое оператор цикла и для чего он используется?
8 Адаптивная оптимизационная управляющая модель. Применение в
бурении
ЛЕКЦИЯ 5. Общие сведения о компьютере
Компьютер – это устройство для переработки информации по
заданной программе (рис. 5.1) Для своей работы компьютер нуждается во
входной информации в виде цифр, букв или линий (буквы и линии, попадая в
компьютер, также преобразуются в цифры). В компьютере в соответствии с
заданной моделью (пользовательской программой) входная информация
перерабатывается с целью получить уже другую информацию, а именно, ту
которая представляет решение поставленной проблемы
Рис. 5.1 Сущность компьютера
1 – входная информация; 2 – компьютер с программой; 3 – выходная
информация
Входная информация представляет собой “сырье”, а выходная –
конечный продукт. С этой точки зрения компьютер может быть представлен в
виде – мясорубки. На вход подается сырье – мясо, на выходе имеем фарш,
потребный для изготовления котлет. В зависимости от вида сырья и способа его
переработки меняются ножи мясорубки (они как бы задают ту или иную
“программу” переработки сырья).
Данная примитивная модель компьютера помогает понять тот важный
факт, что качество конечного продукта зависит не только от его переработки,
но и от качества сырья. Если качество мяса низко, то как бы хорошо оно ни
было переработано, фарш все-таки будет опасен для употребления.
Аналогично: несмотря на высочайшую точность вычислений (переработки),
точность конечного результата будет неудовлетворительной, если низка
точность исходных данных (чисел, характеризующих входные параметры).
Компьютер может лишь не ухудшить точность результата, в основном
25
зависящего от точности исходных данных, которые необходимо тщательно
проверять.
Общая структура компьютера показана на рис 5.2 . Входная информация
подается через устройство ввода УВ. У современного компьютера это, как
правило, клавиатура. В прошлом для этой цели использовались печатающая
машинка (типа “Консул”), перфолента или набор перфокарт с
соответствующими загрузочными устройствами.
Информация с клавиатуры попадает в монитор (указано стрелкой),
включающий обладающее относительно малой памятью буферное
запоминающее устройство БЗУ, а также экран (дисплей). Выведенная на экран
информация дает возможность проконтролировать правильность ввода. Если
введены неправильные данные, то они удаляются из буферной памяти
нажатием клавиши “delete” (вычеркнуть). Если же данные верны, то с помощью
курсора проводят операцию “сохранить”, тем самым направляя входную
информацию в оперативное запоминающее устройство ОЗУ. Оперативная
память у современных компьютеров огромна (до триллиона “машинных слов” –
байтов). В ОЗУ информация может храниться неопределенно долго, пока по
каким-то причинам не возникает необходимость ее удалить.
Входная информация
подразделяется на пользовательскую
программу (компьютерную модель) и данные, которые с ее помощью
перерабатываются. Если требуется запустить процесс переработки данных,
то подают команду RUN и тогда и программа и данные поступают в АЛУ
(процессор). Результаты обработки возвращаются в ОЗУ и далее подаются на
УВЫВ –устройство вывода (принтер, экран).
Рис. 5.2 – основные блоки компьютера и их взаимодействие
УВ – устройство ввода; УВЫВ – устройство вывода; БЗУ – буферное
запоминающее устройство; ОЗУ –оперативное запоминающее устройство; ВЗУ
– внешнее запоминающее устройство; АЛУ– арифметическое и логическое
устройство; УУ– устройство управления
Кроме упомянутого устройства ввода, информация для обработки
может еще поступать с внешних запоминающих устройств ВЗУ (дисков
различного типа), через специальные дисководы. На ВЗУ могут также быть
26
выведены результаты обработки (вычислений). К ВЗУ можно отнести и
ИНТЕРНЕТ. Весь описанный путь обрабатываемых данных на схеме показан
сплошными линиями.
В компьютере имеется устройство управления УУ. Это программа,
образующая операционную систему, которая, как и пользовательская
программа, размещается в ОЗУ (но на рис. 5.2 для удобства рассмотрения.
вынесена в отдельный блок). От всех блоков УУ получает сигналы,
информирующие о состоянии этих блоков на каждый такт тактовой частоты
компьютера. Соответственно ко всем блокам от УУ поступают команды,
обеспечивающие согласованную работу. Команды УУ (в отличие всех прочих
связей) изображены на схеме пунктирными линиями.
Компьютеры в их теперешнем понимании появились сразу после второй
мировой войны, однако их прототипы известны задолго до этого времени.
Человечество с давних пор использовало различные приспособления,
облегчающие счет. В первобытные временя это были собственные пальцы (по 5
на каждой руке и ноге), потом для этой цели стали использовать наборы
камешков и палочек. Позднее появились счеты, которые представляли
настолько значительный прорыв в “вычислительной технике”, что
просуществовав много столетий, сохранились кое-где еще и сейчас.
Знаменитый французский физик Паскаль является создателем первого
арифмометра (1641 г). Этот арифмометр усовершенствовал другой крупнейший
ученый Лейбниц (1673). В начале 19 века улучшением арифмометра занимался
и русский математик Чебышев. В наше время потомком арифмометра Паскаля
можно считать широко применяемый калькулятор.
Первое устройство, сходное с современным компьютером по цели
(автоматические вычисления по заданной программе) и обладающее многими
из наиболее характерных черт появилось еще в 1833 г. Его автором был
англичанин Бэббидж. “Компьютер” Бэббиджа состоял целиком из
механических элементов (зубчатых шестерен, кулачков, толкателей, рычагов и
т. п.) и занимал большую комнату. В своем составе этот компьютер имел
память (называвшуюся складом), которая могла содержать до 100 чисел. Для
обработки числовой информации имелся аналог современного процессора,
называвшийся “фабрикой”. Процессор мог работать со скоростью 1
вычислительная операция в мин. Программу вычислений задавало устройство
управления – “контора”. Успешную работу своего изобретения Бэббидж
демонстрировал английскому двору. Ему было решено выделить средства для
строительства более мощного устройства, работы были начаты но довести их
до конца не удалось. Изобретение было забыто.
Работы, приведшие к созданию компьютера в современном понимании,
начались в США во время войны, с целью повышения эффективности борьбы с
вражескими подлодками. В 1941 г под руководством инженера Цузе был
построен предшественник компьютеров – машина Марк I (см. табл. 5.1 –
нулевое поколение). Машина включала 2600 электро-механических реле,
замыкавших и размыкавших питающую линию и тем передававших двоичные
числа. Так-как механические реле обладают инерционной массой и на них
27
действует трение, то время каждой операции
было довольно
продолжительным. Тем не менее машина сыграла существенную роль в
повышении эффективности военных действий и стало ясно, что работы по ее
совершенствованию должны быть продолжены.
Уже после войны пришла идея использовать в вычислительной машине
электронные реле, созданные на основе давно применявшихся в радио
электронных ламп. Такие реле не имеют обладающих массой элементов, сила
трения на них не действует, а скорость электронов приближается к скорости
света. Так в 1946 г под руководством Дж. Эккерта был создан первый
настоящий компьютер (компьютер первого поколения), основанный на
электронике. Он носил название Эниак. Из таблицы видно, что по сравнению с
Марк I быстродействие удалось повысить более, чем в 10000 раз. Уже в 1950 г
подобный компьютер под маркой МЭСМ (малая электронная счетная машина)
появился и в СССР и стал применяться в Минобороны и в некоторых других
отраслях.
Таблица 5.1 Поколения компьютеров
Начало эксплуатации, год
Материальная основа
Объем оперативной памяти, байт
Быстродействие, операций/с
Тип программирования
Мощность, квт
Занимаемая площадь, м 2
Представители
Поколения
0
1
2
3
4
1941
1946
1955
1965
1975
Механо- ЭлектТранИнтег- Большие
электри- ронные зисторы ральные интегческие.
лампы
схемы ральные
реле
схемы
5
7
2000
5000
2 х 10
2 х 10
10 12
0.2
5000
2 х 10 5
2 х 10 6
10 10
Ручное
Автоматическое
100
150
10
2
1
100
1500
50
20
До 1
Марк I
Эниак
БЭСМ
ЕСIBM-PC
ЭВМ
Однако эффективность компьютеров 1-го поколения резко снижала
малая надежность в работе. Электронные лампы (как и осветительные) имеют
способность перегорать и при огромном их количестве (несколько тысяч) в
среднем от перегорания одной лампы до перегорания следующей компьютер
мог работать лишь короткое время. Компьютер 1-го поколения находился в
ремонте дольше, чем в работе.
Вторым важнейшим недостатком была трудоемкость составления
программ. Как указывалось, компьютер работал (и работает поныне) на
двоичных цифрах. Поэтому в двоичный код надо было перерабатывать всю
информацию. Каждая десятичная цифра и каждая буква алфавита
представляется набором двоичных цифр. Несложная программа занимала
несколько страниц двоичных цифр. При малейшей и трудно распознаваемой
ошибке в какой-то цифре программа не работала. Большие программы для
производственных нужд писались коллективами программистов, которых с
28
ростом объема использования компьютеров требовалось все больше.
Существовала поговорка, что если дело пойдет так же и дальше, то через
несколько лет одна половина человечества будет занята составлением
программ , а вторая – ремонтом компьютеров.
Появление полупроводников и на их основе электронных реле
радикальным образом решило вопрос о надежности компьютеров. Внутри
полупроводникового
транзистора при правильной эксплуатации нет
ненадежных элементов. Началось изготовление компьютеров 2-го поколения –
на полупроводниках.
Столь же эффективно был решен вопрос и с трудоемкостью
программирования.
Появилось
так
называемое
автоматическое
программирование, когда вводимая в машину программа состоит из обычных
десятичных цифр и букв, которые переводит в двоичный код уже сама машина,
используя составленные для этого стандартные программы – переводчики
(трансляторы). Были предложены первые пользовательские языки
автоматического программирования (АЛГОЛ, ФОРТРАН).
Если вначале объем каждого полупроводникового элемента составлял
десятые доли см 3 , то постепенно размер таких элементов, стали уменьшать и в
конце концов появились так называемые интегральные схемы, когда на одном
полупроводниковом кристалле стали изготовлять 20 и более необходимых для
компьютера элементов. Это стало причиной появления компьютеров 3 - го
поколения, с резким уменьшением занимаемой площади и многократным
повышением объема памяти и быстродействия.
Появилась тенденция к созданию все более крупных и мощных
компьютеров, работа которых шла в режиме разделения времени, т. е один
компьютер обслуживал несколько пользователей одновременно, выделяя им по
долям секунды работы поочереди (пользователям это было незаметно).
Существовали машины обслуживающие пользователей нескольких разных
городов. У каждого пользователя была своя линия связи с центральным
компьютером и консоль с монитором и клавиатурой.
Компьютеры 4-го поколения возникли, когда в одном кристалле
полупроводника научились изготовлять сотни и тысячи элементов. Все
связывающие эти элементы соединения стали размещать внутри того же
кристалла. В результате не только резко снизились необходимая площадь,
мощность питания, объем и вес компьютера, но и предельно возросла его
надежность. В итоге по сравнению с компьютерами 1-го поколения стоимость
компьютера 4-го поколения упала в 10000 раз.
Компьютер стал доступен среднему американцу, а затем и среднему
жителю других развитых стран. Ведущее место заняли РС – персональные
компьютеры. Появилась международная сеть ИНТЕРНЕТ, способная
в
принципе объединить всех пользователей, что дало самые широкие
возможности для обмена информацией.
Наконец основной узел компьютера – процессор, вследствие его
крайнего удешевления стал широко применяться в технике и в быту (в
29
автомобилях, стиральных машинах и т. п.), предельно упрощая возможности
автоматизации любых процессов.
Основными признаками компьютера являются:
– Работа по заданной программе (главное отличие компьютера от
калькулятора)
– Использование двоичной системы счисления, обеспечивающей
безошибочность
– Использование электронных реле, обеспечивающих быстродействие
– Использование полупроводников, обеспечивающих надежность работы и
уменьшение геометрических размеров и стоимости
Рекомендуемая литература: Осн. 3 с. 3-5, 307-309
Контрольные вопросы:
1 Определение компьютера
2 Основные блоки компьютера
3 Виды памяти компьютера и их особенности
4 Блок компьютера, в котором происходит обработка информации
5 Что такое устройство управления и как оно функционирует
6 Особенности компьютеров нулевого поколения
7 Особенности компьютеров первого поколения
8 Особенности компьютеров второго поколения
9 Особенности компьютеров третьего поколения
10 Особенности компьютеров четвертого поколения
ЛЕКЦИЯ 6. Математические основы компьютера
Выше упоминалось, что компьютер производит любые операции
только в 2-ичной системе счисления. Подобно всем известной десятичной
системе (и в отличие, например от Римской системы) двоичная система
принадлежит к позиционным системам счисления. Общая формула
позиционной системы счисления:
  K m a n  ...  K 8 a 4  K 4 a 3  K 2 a 2  K 3 a 1  K 5 a 0  K 4 a 1  K1 a 2  ... ,
(6.1)
где  – числовое значение, выраженное в данной системе счисления, a –
основание системы – целое положительное число, K m – цифра, n …, 4, 3, 2,
1, 0, -1, -2 – номера позиций, на которых стоят члены K m a n (в общем виде).
На каждой позиции основание системы a возводится в степень,
представляющую собой номер позиции. Цифра в позиционной системе
счисления может принимать любые целые положительные значения от 0
до a  1 :
0  Km  a
(6.2)
В формуле (6.1) индексы при цифрах означают, только то, что цифры с
разными индексами различны, а с одинаковыми – одинаковы.
Возьмем для примера число  = 84235.41 10 , выраженное в 10 – ной
системе счисления (это показано индексом 10 в конце числа). Основанием 10 –
ичной системы является число a = 10 . Согласно формуле (6.2) система имеет
30
цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Выразим рассматриваемое число в
соотве6тствии с формулой (6.1). Получим:
 = 8 х 10 4 + 4 х 10 3 + 2 х 10 2 +3 х 10 1 + 5 х 10 0 +4 х 10 1 + 1 х 10 2 или
5 + 0.4
+ 0.01 = 84235.41.
 = 80000 + 4000 + 200 + 30 +
Основной принцип позиционной системы счисления состоит в том, что в
позиционном числе  значение каждой цифры K m зависит от ее позиции.
Так, в примере одна и та же цифра 4 встречается два раза, занимая 3-ю и –1-ю
позиции. Соответственно, на 3-ей позиции эта цифра означает 4 тысячи, а на –
1-ой – 4 десятых.
Применим теперь формулу (6.1) к двоичной системе счисления с
основанием а = 2 . Из формулы (6.2) следует, что двоичная система имеет
всего две цифры: 0, 1.
Возьмем для примера двоичное число  =110101.011 2 . Разложим его на
составляющие слагаемые согласно формуле (6.1). Учтем, что нулевая
позиция – это следующая позиция левее точки и что положительные
позиции растут от нулевой справа-налево, а отрицательные –
уменьшаются слева-направо. Не забудем, что любое число в нулевой
степени равно единице:
 = 1 х 2 5 + 1 х 2 4 + 0 х 2 3 +1 х 2 2 + 0 х 2 1 +1 х 2 0 + 0 х 2 1 + 1 х 2 2 +1 х 2 3 .
или  = 32 + 16 + 0 + 4 + 0 + 1 + 0 + 0.25 + 0.125 = 53.375 10
Для перевода двоичных чисел в десятичные можно использовать
таблицу 6.1. С ее же помощью выполняется и перевод десятичного числа в
двоичное. Сделаем это, например, для числа 813 10 . Разместим будущее
двоичное число в таблице 6.2. Наибольшая степень двойки, способная
полностью уместиться в числе 813, это – девятая, а именно число 512 (табл.
6.1). Поэтому под девятой позицией в таблице 6.2 ставим единицу. 512 – это и
есть крайнее слева слагаемое. Все остальные слагаемые вместе составляют
остаток, т. е. 813 – 512 = 301.
Таблица 6.1 Степени 2-х (основания двоичной системы)
Показатель степени
Степень 2-х
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10
1/8 (0.125)
1/4 (0.25)
1/2 (0.5)
1
2
4
8
16
32
64
128
256
512
1024
31
То же, записанное в
2-ичной системе
0.001
0.01
0.1
1
10
100
1000
10 000
100 000
1000 000
10 000 000
100 000 000
1000 000 000
10 000 000 000
Таблица 6.2 Нахождение двоичного аналога десятичного числа 813
Позиция
Цифра
9
1
8
1
7
0
6
0
5
1
4
0
3
1
2
1
1
0
0
1
Повторим уже проведенную операцию. Наибольшая степень двойки,
способная полностью уместиться в числе 301, это восьмая, а именно число 256.
Под восьмой позицией в таблице 6.2 ставим еще единицу и таким образом
находим второе слева слагаемое. Остальные слагаемые составляют новый
остаток, равный 813– 512–256 = 45 (или 301 – 256 = 45).
Наибольшая степень двойки, способная полностью разместиться в числе
45, это пятая, – число 32. Поэтому под пятой позицией в таблице 6.2 ставим
еще единицу. и, таким образом находим пятое слева слагаемое в формуле (6.1)
Т. к. ни седьмая, ни шестая степени двойки в остатке 45 не умещаются
(превышают его), то это значит, что соответствующие члены формулы (6.1)
равны 0. Для этого должны быть равны нулю коэффициенты (цифры) K m .
Поэтому под позициями 7 и 6 таблицы 6.2 ставим нули.
Аналогично находим и все остальные двоичные цифры: 45 – 32 =13. В
этом остатке умещается третья степень двойки 8 – ставим 1 в 3-ю позицию и 0
в 4-ю; 13 – 8 = 5. Здесь умещается вторая степень двойки 4 – единица во 2-ю
позицию; 5– 4 = 1 – это нулевая степень двойки, откуда появляется 1 в нулевой
и 0 в 1-й позициях.
Двоичная система счисления дала
науке о компьютерах такие
основополагающие понятия как бит и байт. Битом называют двоичные
цифры, т. е. нуль либо единицу. Восемь битов называют байтом
(“двоичным словом”), – например 10001101.
Над числами в двоичной системе (говорят также “в двоичном коде”)
легко производить четыре арифметических действия.
Как и принято при сложении “столбиком”, процесс сложения начинают с
самого низкого разряда (позиции), которым в примере – табл. 6.3 – является
нулевой разряд. В этом разряде имеем 1+ 0 =1 (что и записано в строке
“сумма”). Далее, в первом разряде имеем 1 + 1= 2. Однако цифры 2 в двоичной
системе нет. Поэтому осуществляется перенос единицы в более высокий второй
разряд (что показано в строке “перенос”), в первом же разряде остается нуль.
То же имеет место в 3-ей и 4-й позициях.
Процедура сложения
Таблица 6.3 Сложение двоичных чисел, означающих 11+10 =21
Позиция (разряд)
Перенос в больший разряд
Первое слагаемое
Второе слагаемое
Сумма
4
1
1
3
1
1
0
2
1
0
0
1
1
0
1
1
0
1
0
1
В десятичной системе сложение выполняется аналогично. Общим для
обеих систем является то, что если сумма в данном разряде превышает
основание системы (10 в десятичной системе и 2 в двоичной), то в этом
32
разряде остается разность между суммой и основанием, а в следующий
разряд переносится единица.
Таблица 6.4 Сложение в десятичной системе
Позиция (разряд)
Перенос в больший разряд
Первое слагаемое
Второе слагаемое
Сумма
3
1
1
2
1
7
4
2
1
0
5
5
0
1
0
1
Процедура вычитания
Таблица 6.5 Вычитание двоичных чисел, означающих 19 –14 = 5
Позиция (разряд)
Перенос в низший разряд
Уменьшаемое
Вычитаемое
Разность
4
1
0
3
2
0
1
0
2
2
0
1
1
1
0
1
1
0
1
0
1
Как и сложение, процесс вычитания начинают с нулевого разряда. В этом
разряде имеем 1– 0 = 1 (что и записано в строке “разность”). Далее, в первом
разряде имеем
1–1 = 0. Во втором и третьем разрядах чтобы вычесть 1 из
0, производим перенос единицы из 4-го разряда уменьшаемого (где остается 0)
в его 3-й разряд, где эта единица представляет собой двойку (основание
степени). Из этой двойки одну единицу переносим во второй разряд, где она
опять же становится двойкой. Вычтя из нее единицу получаем во втором
разряде 1. В третьем разряде из оставшейся от двойки после переноса единицы
вычитаем 1 и получаем 0. Итоговый результат показан в строке “разность”.
Для сравнения
в табл. 6.6 приводится вычитание столбиком в
десятичной системе.
Общая особенность вычитания в позиционных
системах заключается в том, что если уменьшаемое в данном разряде
меньше вычитаемого, то из более высокого разряда заимствуется единица,
которая превращается в основание системы (10 в десятичной системе и 2 в
двоичной).
Таблица 6.6 Вычитание в десятичной системе
Позиция (разряд)
Перенос в низший разряд
Уменьшаемое
Вычитаемое
Разность
2
1
0
1
10
0
4
5
0
10
3
8
5
Процедура умножения
Множимое поочередно умножается на цифры, стоящие в каждом
разряде множителя (начиная с нулевого). Получаемые результаты (как и в
десятичной системе) записываются один под другим со сдвигом влево на одну
позицию
33
Поскольку двоичная система имеет только две цифры: 1 и 0, то
результат умножения на них может представлять собой либо повторение
самого множимого – при умножении на единицу, либо нуль (при умножении на
нуль).
После того как умножение множимого на отдельные позиции множителя
закончено, выполняют суммирование соответствующих строк.
Роль строки с нулевым результатом (в примере – это строка с
умножением на нуль во втором разряде множителя) состоит в том, следующая
значимая строка (относящаяся к 3-му разряду множителя), оказывается
сдвинутой, по отношению к предыдущей значимой строке (относящейся к 1-му
разряду) не на одну, а на две позиции. Что практически и делают, пропуская
саму “нулевую” строку (как в таблице 6.8)
Таблица 6.7 Умножение двоичных чисел, означающих 22 х 11 = 242
Позиция (разряд)
Множимое
Множитель
Перенос в высший разряд
Произведение на 0-й разряд
Произведение на 1-й разряд
Произведение на 2-й разряд
Произведение на 3-й разряд
Сумма
8
7
1
1
6
5
4
1
2
1
0
1
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
3
0
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
5
4
3
2
2
1
1
8
0
0
7
2
5
7
2
7
4
7
4
Таблица 6.8 Умножение десятичных чисел
Позиция (разряд)
Множимое
Множитель
8
7
6
Перенос в высший разряд
Произведение на 0-й разряд
Произведение на 2-й разряд
Произведение
1
2
2
8
9
Процедура деления
Деление начинают с наибольшего разряда делимого, подписывая под
ним делитель (табл. 6.9). Это делается без сдвига, если делитель меньше, чем
содержащая столько же позиций левая часть делимого (как в примере), либо, в
противном случае, со сдвигом делителя на один разряд вправо. В высший
разряд частного записывают 1.
Высший разряд частного равен разности числа позиций делимого и
делителя, если они записываются, начиная с той же самой крайней левой
позиции. Если же делитель записывается со сдвигом на одну позицию
вправо, то из разности высших разрядов следует вычесть единицу. В табл.
6.9 с учетом положения делимого и делителя (оба записаны, начиная с 7-й
позиции) имеем 7 – 5 = 2. Поэтому частное записывается, начиная со второго
разряда (со второй позиции).
34
Далее находят разность упомянутой левой части делимого и делителя. К
этой разности сносят справа цифру из еще одного разряда делимого. Если
полученное число остается меньше делителя (как в примере), то в следующий
справа разряд частного записывают 0. После этого сносят следующий разряд
делителя. Если полученное после сноса число окажется больше делителя, то в
соответствующий разряд частного записывают 1. Далее продолжают
вычитание, снос, оценку разности и запись в частное нуля либо единицы.
Операции повторяют, пока не будет обеспечена нужная точность
Таблица 6.9 Деление двоичных чисел, означающих 225 / 45 = 5
Позиция (разряд)
Расчет высшего разряда частного
Перенос в низший разряд
Делимое
Делитель (сорок пять)
Разность
Расчет следующего разряда
Остаток со снесенным разрядом
Расчет следующего разряда
Перенос в низший разряд
Остаток с о снесенным разрядом
Делитель
Разность
Частное
7
1
1
0
6
5
4
3
2
1
0
1
0
0
2
1
1
1
2
0
1
0
2
0
0
1
2
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
Рассмотренные четыре арифметических действия показывают, что
производство их в двоичной системе осуществляется проще, чем в десятичной
Таблица 6.10 Деление десятичных чисел
Позиция (разряд)
Расчет высшего разряда частного
Делимое
Делитель помноженный на
высший разряд частного (1)
Разность
Расчет следующего разряда
Остаток с о снесенным разрядом
Делитель помноженный на второй
разряд частного (2 )
Разность
Частное
7
6
5
4
3
2
1
0
1
0
8
4
7
1
7
1
1
7
7
4
4
0
0
1
0
2
4
Рекомендуемая литература: Осн. 3 с. 6-21
Контрольные вопросы
1 Основной принцип позиционной системы счисления
2 Что представляет собой число в позиционной системе
35
3 Формула любого члена позиционной системы
4 Что такое основание позиционной системы.
Требования к их основанию
5 Что такое цифра в позиционной системы. Требования к цифре
6 Каково основание 2-ичной системы, и каковы ее цифры
7 Почему арифметические действия в 2-ичной системе проще, чем в
10-тичной
ЛЕКЦИЯ 7. Физические основы компьютера
Выше указывалось, что физической основой компьютера являются
электронные реле. Первоначально для создания таких реле использовались
вакуумные лампы, простейшая из которых – вакуумный диод – показана на рис
7.1.
Диод – это устройство, пропускающее ток
только в одном
направлении.
В корпусе 1 создан вакуум т. е. воздух откачен, чтобы не препятствовать
движению электрических зарядов. В корпусе размещены электроды 2 и 3. Они
состоят из металла, который (как любой металл) содержит свободные
электроны. Последние находятся в беспорядочном движении, скорость
которого тем выше, чем выше температура. Нижний электрод 3 специально
Рис 7.1 Электронная вакуумная лампа (диод)
А – ток есть (диод открыт); Б – ток отсутствует (диод закрыт); 1 – стеклянный
корпус; 2, 3 электроды; 4 – батарея нагрева; 5 – анодная батарея; 6 – нагрузка; 7
– электронное облако; 8 – спираль подогрева
подогревается до высокой температуры спиралью 8, работающей от батареи 4.
При этой температуре скорость электронов настолько велика, что значительная
их часть выскакивает из электрода и образует над его поверхностью так
называемое электронное облако 7. При подключении электродов к анодной
батарее 5, так, как это показано на рис. 7.1 А, верхний электрод 2 приобретает
положительный заряд (становится анодом), а нижний 3 – отрицательный
(становится катодом). При этом отрицательно заряженное электронное облако
отталкивается от катода и через пространство лампы (движение электронов
показано стрелкой) устремляется к аноду. Возникает ток, поддерживаемый
батареей 5.
В положении Б анод и катод поменялись местами (анодная батарея
повернута на 180 0 .) Положительный заряд нижнего электрода 3 (он теперь
анод), притягивая отрицательное электронное облако, возвращает его обратно в
36
электрод. Движение электронов через лампу к электроду 2 невозможно. Таким
образом в рассмотренном устройстве ток может идти только снизу вверх, т. е.
при подаче отрицательного потенциала на нагреваемый электрод 3
На рис. 7.2. показан вакуумный триод (лампа с тремя электродами). Его
устройство аналогично показанному на рис. 7.1А (обозначения сохранены), за
исключением элемента 9 – металлической сетки. Сетка расположена к
источнику электронов (катоду 3) ближе чем анод 2, и поэтому оказывает на
наличие или отсутствие тока сильное влияние.
Рис. 7.2 Ламповый триод
А – ток есть; Б – ток отсутствует; 9 – сетка
В положении 7.2 А на сетку подан положительный потенциал и поэтому
электроны, отталкиваясь от катода, устремляются к сетке. Часть электронов на
ней задерживается, но большинство, двигаясь по инерции сквозь отверстия
сетки, достигают анода (где положительный потенциал выше сеточного).
Возникает электрический ток J.
В положении Б заряд на сетке отрицательный.
Он, отталкивая
электроны, не пропускает их дальше к аноду. Тока нет. Подавая на сетку то
положительный то отрицательный потенциал, можно включать или
отключать ток внутри лампы. Это и есть электронное реле, на котором
базируется работа компьютера.
Ненадежность вакуумных ламп вызвана относительно частым
перегоранием нагревательной спирали 8. Проблему решило появление
полупроводников
По электропроводности физические тела делятся на три группы:
диэлектрики, проводники и полупроводники. Удельное сопротивление первых
(это стекло, слюда, нефтепродукты) огромно – от 10 8 до 10 12 Ом*см. Поэтому
они ток практически не пропускают. Наоборот, удельное сопротивление
проводников (металлы, электролиты) является исключительно низким: от 10 4
до 10 6 Ом*см.
Полупроводники занимают промежуточное положение. Их изучение
началось вскоре после войны, в конце 40-х годов прошлого века. Было
обнаружено, что на сопротивление полупроводников действуют такие факторы,
как температура и свет (с ростом их интенсивности сопротивление падает), а
также электромагнитное поле. Кроме того, было установлено, что
сопротивление полупроводниковых элементов (в частности кремния и
германия) резко уменьшается по мере их загрязнения другими элементами.
На рис. 7.3 А схематично представлена кристаллическая решетка кремния.
37
Положительно заряженное ядро 1 окружено несколькими электронными
слоями 2. Кристаллическая решетка зависит от внешнего слоя, состоящего из
четырех электронов. Эти электроны скрепляют решетку, связывая каждый атом
с четырьмя соседними
На рис.7.3. Б кремний загрязнен сурьмой (ее символ Sb). У сурьмы во
внешнем слое не 4, а 5 электронов. Из них четыре встроены в кристаллическую
решетку, будучи связаны с соседними атомами кремния, а один электрон
оказывается свободным. Такие электроны обеспечивают электронную или
отрицательную – типа n (negative) – проводимость. Эта проводимость
подобна проводимости металлов, структура которых также содержит
свободные электроны.
Рис. 7.3 Схема кристаллической решетки полупроводника кремния (Si))
А – химически чистого; Б – загрязненного сурьмой; В – загрязненного индием;
1 – ядро атома; 2 – внутренние электронные оболочки; 3 – электроны наружной
оболочки
На рис.7.3 В кремний загрязнен индием (символ In). У индия во
внешнем слое не 4, а только 3 электрона. В кристаллической структуре кремния
образуются “дырки”, представляющие собой (ввиду дефицита электронов, т. е.
отрицательных зарядов) положительные заряды. При подаче напряжения
дырки (как и электроны) способны перемещаться. На рис 7.3 В стрелка
показывает, как при подаче отрицательного напряжения слева, электрон атома
кремния, отталкиваясь, перескакивает в находящуюся правее положительно
заряженную дырку. При этом он образует дырку там, откуда он перескочил.
Сама же дырка таким образом как бы перескочила влево Эта дырка будет
занята следующим еще более “левым электроном” и, таким образом при
перескакивании электронов слева направо образуется движение (ток) дырок
справа-налево. Проводники с дырочной проводимостью, называются
проводниками типа p (positive).
Полупроводники с электронной и дырочной проводимостями стали
создавать специально. Это позволило
разработать современную
полупроводниковую технику.
Рис. 7.4 показывает состыкованные друг с другом полупроводники
обоих рассмотренных типов. Плоскость
стыковки называется p – n
переходом. При подаче напряжения, как показано на виде А, насыщающие
38
полупроводник типа
электроны, отталкиваются от подаваемого
n
отрицательного заряда и, преодолевая переход, через полупроводник типа
p продвигаются к положительной клемме. При этом, на место ушедших
электронов из цепи поступают новые. Аналогичный процесс происходит с
дырками в полупроводнике p , но они двигаются в противоположном
направлении – от плюса к минусу. Диод открыт. Через диод, нагрузку и
питающую батарею идет ток.
Рис. 7.4. Полупроводниковый диод
А – диод открыт ; Б – диод закрыт. В – условное обозначение диода
На рис. 7.4 Б на диод подано напряжение противоположной полярности.
Электроны из зоны n притягиваются к положительной клемме, дырки из зоны
p – к отрицательной. Число тех и других зарядов в диоде ограничено, и по
мере их ухода из диода лишенный зарядов p – n переход расширяется. Ток
становится невозможен. Диод закрыт.
Рис. 7.5. Транзистор
I – вид, отражающий физическую сущность ; II – условное обозначение ; Э –
эмиттер; Б – база; К – коллектор; КБ – коллекторная батарея; R – нагрузка
(сопротивление); J – ток; А – точка съема сигнала 1 – положительный импульс
(бит); 0 – нулевой импульс.
Транзистор
–
это
полупроводниковое
электронное
реле
(полупроводниковый аналог вакуумного триода), На рис. 7.5 I он представлен
как комбинация двух
n полупроводников с одним p полупроводником,
расположенным между ними. На один из n полупроводников (нижний на
схеме) от батареи КБ подается минус. Этот полупроводник получил название
“эмиттер” (излучатель). На верхний n полупроводник подается плюс. Это
“коллектор” (собиратель). Полупроводник типа p , на который можно подавать
как положительный, так и отрицательный потенциалы, получил название базы.
Сравнив рис. 7.5 и 7.2, легко (несмотря на различную физическую
природу) заметить функциональную аналогию: Как и катод лампового триода
39
эмиттер транзистора содержит избыток электронов. Последние стремятся
оттолкнуться от подаваемого на них минуса и, преодолев расстояние,
соответствующее длине устройства, достичь плюсового контакта коллектора
(аналога анода).
Тонкий прослой полупроводника типа p (база) выполняет функцию
сетки триода. Если на базу подать плюс, то насыщающие эмиттер электроны
устремятся к базе и, ввиду ее малой толщины, пройдут ее насквозь, чтобы
достичь обладающего более высоким, чем база, положительным потенциалом
коллектора. Создастся электрический ток. Если же на базу подать минус, то ток
прекратится. Таким образом (как и с помощью сетки триода), с помощью базы
транзистора можно либо “включить” ток J , либо его “выключить”.
Рассмотрим работу транзистора в качестве электронного реле. На рис.
7.5. плюсовая клемма батареи КБ обозначена тремя знаками +. Здесь
положительный потенциал максимален. На виде 7.5 I на базу подан небольшой
положительный потенциал (обозначенный одним знаком +). Как упоминалось,
это вызывает прохождение через схему тока J (в соответствии с принятой
традицией направление тока указано от плюса к минусу). При движении тока
на сопротивлении R происходит падение напряжения. По этой причине
потенциал точки А , расположенной после сопротивления, обозначен только
двумя знаками +. Если же на базу подать минус (рис. 7.5 II), то ток прекратится,
падения напряжения на сопротивлении R не произойдет, и в точке А
сохранится высокий потенциал батареи “три плюса”.
Точку А принимают за “выход” транзистора, ее потенциал передается на
различные элементы компьютера, причем высокий потенциал – “три плюса”
считается двоичной единицей, а низкий “два плюса” – нулем.
Широко используемые в компьютерах триггеры служат для записи и
хранения
2-ичной цифры (бита). Триггер представляет собой комбинацию
двух транзисторов T1 и T2 . Их базы Б1 и Б2 через сопротивления r1 и r2
соединены с выходами транзисторов иного номера ( Б1 – с Q , а Б2 – с Q ). К
базе Б1 через диод Д 1 подключен вход R , а к базе Б2 через диод Д 2 – вход S .
Вход C может быть подключен к обеим базам.
Рис. 7.6. Триггер
I – схема работы; II – условное изображение; T1 ,T2 – транзисторы; Б1 , Б2 – базы;
R1 , R2 , r1 , r2 – сопротивления, Д1 , Д 2 – диоды; R, S , C - входы триггера; Q , Q –
выходы.
40
На каждый из упомянутых входов может быть подан положительный
потенциал (отрицательный потенциал диоды не пропускают – в этом их
назначение). Положительный потенциал может быть подан только в виде
импульса, т. е. он появляется на входе и мгновенно исчезает (длительность
импульса соответствует тактовой частоте компьютера). Положительный
потенциал считается двоичной единицей. Работа триггера иллюстрируется
таблицей 7.1
Таблица 7.1 Различные состояния триггера
Положение
0
1
2
3
4
5
6
7
R
Входы
S
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
C
0
0
0
0
0
0
1
1
Базы
Б2
Б1
0
1
0
1
1
0
1
0
1
0
0
1
1
0
0
1
Транзисторы
T1
T2
Закр. Откр.
Закр Откр.
Откр. Закр
Откр. Закр
Откр. Закр
Закр Откр.
Откр. Закр
Закр Откр.
Выходы
Q
Q
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
В качестве исходного выбрано положение 0, когда при отсутствии
импульсов на всех входах транзистор T1 закрыт, а транзистор T2 открыт. Тогда
на базе Б1 потенциал низкий (что обозначается как 0), а на базе Б2 – высокий
(1). В закрытом транзисторе T1 тока нет и потенциал не его выходе Q высокий
(1), и соответственно потенциал на выходе Q открытого транзистора T2 –
низкий (0) вследствие падения напряжения на резисторе нагрузки R2
В положении 1 на вход S подан положительный импульс напряжения 1.
Этот импульс мог бы передаться на базу Б2 транзистора T2 и на выход Q
транзистора T1 , но там положительные потенциалы уже имеются. Поэтому
подача импульса на вход S состояния триггера не меняет, что и демонстрирует
таблица.
В положении 2 импульс (1) подается на вход R . Единица передается на
базу Б1 транзистора T1 , который от этого открывается и на выходе Q возникает
0. Последний передается на базу Б2 транзистора T2 и закрывает его. На выходе
Q этого транзистора появляется 1. Иными словами при подаче на вход R
импульса состояние триггера меняется на противоположное (все нули
сменились единицами и все единицы – нулями).
В положении 3 импульс на входе R прекратился (сменился нулем),
однако состояние триггера сохраняется (на выходах то же, что и в положении
2). Триггер может сохранять свое состояние и “записанные” на его выходах
биты неопределенно долго.
В положении 4 импульс на входе R повторился, но ничего не
изменилось, т. к. триггер уже (начиная с положения 2) находился в
соответствующем состоянии
41
В положении 5 импульс подан на вход S (после исчезновения импульса
на входе R ) и состояние триггера сменилось на противоположное.
В положении 6 (при отсутствии импульсов на входах R и
S)
импульс подан на вход C . Этот импульс (как видно из рис. 7.6) подается на
базы обоих транзисторов. Однако в предшествующем положении 5 на базе Б2
(и выходе Q ) единица уже была. Так-как положительный импульс не может
идти к другому положительному импульсу, то импульс со входа C может идти
только на базу Б1 и тогда состояние триггера меняется на противоположное.
В положении 7 на вход C импульс пришел повторно. Однако согласно
уже описанной логике, он теперь может попасть только на базу Б2 , что опять
приводит к изменению состояния. Вход С называют также счетным входом.
Таким образом, если повторные импульсы, приходящие на вход R
(либо S ) оставляют триггер в прежнем состоянии, то каждый повторный
импульс, подаваемый на вход С меняет его состояние на противоположное.
На рис. 7.6 II показано условное изображение триггера. Смысл его в том,
что единица, поданная на вход R приводит к появлению единицы на выходе Q
и нуля на выходе Q , тогда как импульс на входе S дает противоположный
результат
Выше говорилось о миниатюризации полупроводниковых элементов,
приведшей к появлению больших интегральных схем (БИС) и компьютеров
четвертого поколения.
Интегральные схемы создаются на кристаллах полупроводников.
Количество элементов на одном кристалле объемом приблизительно в 1 см 3
находится в пределах от 10 4 до 10 8 . БИС в виде кристаллов создаются
поточным методом на специальных высокоточных установках. Весь процесс
создания БИС протекает под управлением компьютера практически без
человеческого вмешательства.
Рис. 7.7. Структура интегральной схемы, созданной согласно МДП технологии
I – конденсатор; II – резистор; III – диод; IV – транзистор; 1 – окись кремния
SiO 2 (диэлектрик); 2 – кристалл кремния Si; 3 – металл – серебро Ag; 4 –
металлические выводы; 5 – подложка из стекла.
Сокращение МДП означает “металл – диэлектрик – полупроводник ”. В
кристалле кремния 2 методом диффузии создаются насыщенные сурьмой или
индием зоны типов n или p (показаны на схеме). Комбинации этих зон
образуют на кристалле полупроводниковые элементы. Каждый элемент
снабжен своими металлическими выводами 4, выполненными в толще 1
42
диэлектрика SiO 2 , что исключает создание между ними электрической связи.
Ниже рисунка приведены традиционные обозначения изображенных на схеме
конденсатора, резистора, диода и транзистора.
Элементы своими выводами объединяются в более крупные узлы и
блоки, и в итоге один кристалл может представлять собой процессор
(микропроцессор) компьютера, например подобный изображенному на рис.
7.8.
Рис. 7.8. Интегральная схема
А – Внешний вид; Б – кристалл со схемой; 1 – корпус; 2 – вывод
Рекомендуемая литература: Доп. 8 с. 88-112
Контрольные вопросы
1 Устройство работа и назначение вакуумного диода
2 Устройство, работа и назначение вакуумного триода
3 Особенности полупроводников
4 Кристаллическая решетка чистого кремния (германия)
5 Результат загрязнения кремния сурьмой. Тип проводимости
6 Результат загрязнения кремния индием. Тип проводимости
7 Назначение, устройство и работа полупроводникового диода
8 Назначение, устройство и работа транзистора
9 Назначение устройство и работа триггера
10 Интегральная микросхема и технология ее изготовления
ЛЕКЦИЯ 8. Элементы структуры процессора
Если для записи и хранения двоичной цифры служит триггер, то для
записи и хранения комбинации двоичных цифр – двоичного числа –
служит регистр.
Регистр, показанный на рис. 8.1., предназначен для
трехзначного двоичного числа и поэтому состоит их трех триггеров,
содержащих цифры, занимающие 0-ю, 1-ю и 2-ю. позиции. Все входы R
Рис. 8.1. Схема регистра
S , R – входы триггеров T ; Q , Q – их выходы; x – записываемые двоичные
цифры; 0, 1, 2 – позиции хранимого двоичного числа
43
присоединены к общей линии, входы S работают раздельно и на них подают
записываемые биты.
Таблица 8.1 демонстрирует работу регистра на примере записи
двоичного числа 101 (пять) на месте числа 100 (четыре). Для этого выполняется
три операции:
– Хранение ранее записанного двоичного числа 100. Оно записано на выходах
Q.
– Обнуление выходов Q (т. е. стирание числа 100), что необходимо для записи
нового числа. Для этого на соединяющую все три входа R общую линию
подается единица
– Подача новых двоичных цифр x (числа 101) на входы S
Таблица 8.1 Работа регистра
N
Операция
Входы
R
1
2
3
Хранение ранее записанного числа
Обнуление выходов Q
Запись нового числа
0
1
0
S
0
0
101
Q
1
0
1
Позиции выходов
2
1
0
Q
Q Q
Q
Q
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
От количества включаемых регистром триггеров зависит размер
хранимого в нем числа. В свою очередь от размера числа зависит его
точность, которая возрастает на порядок с каждой новой цифрой.
Сравним два действительных числа, полученных с помощью округления:
1.2 и 1.24. Абсолютная погрешность округления принимается равной половине
единицы последнего разряда числа. Для приведенных чисел – это  0.05 т. е.
 5*10 2 и  0.005 (  5*10 3 ) соответственно. Видно, что с учетом знака степень
десятки на единицу меньше номера позиции последней цифры числа. Обычные
современные компьютеры имеют точность в 17 десятичных знаков. Вот,
например, результат деления: 1/7 = 0.1428571492433548. Последнее число (8)
стоит на –16-й позиции, и следовательно погрешность приведенного числа
равна  0.5*10 17 .
Поскольку десятичная цифра требует для своей записи в двоичной форме
в среднем 2.78 бита, то чтобы записать число, содержащее 17 десятичных
знаков необходим регистр состоящий из 48 триггеров.
Для учета количества различных операций, проводимых
процессором, служит счетчик импульсов. Простейший счетчик (в котором
общее число импульсов может быть выражено числом, вмещающемся в три
позиции, представлен на рис. 8.2
Счетчик состоит из трех триггеров. Все входы R этих триггеров
подключены к общей линии. Импульсы, которые необходимо посчитать,
подаются на вход С (“счетный” вход) триггера нулевой позиции. К входам С
остальных триггеров подключены выходы Q триггеров, им предшествующих.
44
Выходы Q всех триггеров используются для записи числа, означающего
количество импульсов.
Работа счетчика начинается с обнуления всех выходов Q путем подачи
единицы в общую линию входов R . При этом все выходы Q обратились в
единицы. Данная операция в таблице не показана.
Подаваемый на вход С триггера нулевой позиции импульс номер 0, как
и любой импульс, подаваемый на этот вход, меняет состояние триггера на
противоположное. Поэтому на выходе Q единица сменилась нулем, а на
выходе Q нуль сменился единицей. Последняя подается на вход С триггера 1-й
позиции, состояние которого меняется точно так же, как состояние триггера
нулевой позиции. То же происходит и с триггером 2-й позиции. Результат
показан в строке 0 (все три Q =1, все три Q =0). Здесь заканчивается
предварительный этап и начинается счет входных импульсов
Рис. 8.2. Счетчик импульсов
Таблица 8.2. Работа счетчика импульсов
Номер входного импульса С
Q
Состояние
2
1
Q
Q
1
0
1
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
2
3
4
5
6
7
1
1
1
1
0
0
0
0
выходов
0
Q
Q
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
Q
0
1
0
1
0
1
0
1
При подаче 1-го импульса, он меняет состояние 0-го триггера на
противоположное ( Q =0, Q =1). Теперь на вход С 1-го триггера подается Q =0,
т. е. фактически импульс отсутствует. Поэтому состояние триггеров 1 и 2 не
изменяется. Суммарное число прошедших импульсов, как оно записано на
выходах Q трех триггеров это 001 (выделено жирно). Т. е засчитан один
импульс.
При подаче 2-го импульса, он снова меняет состояние 0-го триггера на
противоположное. На выходе Q имеем теперь 1. Единица попадает на вход С 1го триггера и меняет его состояние на Q =0. Q =1. Состояние 2-го триггера не
45
меняется. Выходы Q дают двоичное число 010, что означает двоичную двойку
(два импульса).
При подаче 3-го импульса, состояние 0-го триггера как всегда меняется
на противоположное. Имеем теперь Q = 0, Q =1. Состояние 2-го и 3-го
триггеров остается прежним. Выходы Q дают двоичное число 011 – тройку.
Следуя приведенной логике, можно объяснить и происхождение всех
остальных строк (после прохождения импульсов номер 4, 5, 6, 7. Число 7 в
двоичном коде записывается как 111, число 8 – 1000, т. е для его записи трех
триггеров уже недостаточно, необходим четвертый.
Чтобы
рассказать о других элементах процессора, необходимо
прибегнуть к основам так. называемой компьютерной алгебры (алгебры Буля).
Она исключительно проста. Рассмотрим три действия алгебры Буля
Логическое сложение (операция ИЛИ): 0+0=0; 0+1=1; 1+1=1
Логическое умножение (операция И): 0*0=0; 1*0=0; 1*1=1
Логическое отрицание (операция НЕ): НЕ 1=0; НЕ 0=1
Перечисленные операции могут быть осуществлены в виде
электрических схем
Рис. 8.3. Схемное решение для логического сложения
В действии 1+1=1 (1 ИЛИ 1=1) на оба входа (к которым диоды
повернуты своей положительной стороной) поданы плюсы (единицы). Диоды
пропускают ток J и подаваемое на них напряжение передается на точку
съема, где также имеем единицу
В действии 1+ 0 =1 (1 ИЛИ 0 =1) от того, что на один из двух входов
подан минус (0) ничего не меняется. Ток все равно идет, (хотя только через
верхнюю ветвь), и на точку съема приходит 1 (плюс с верхнего диода).
В действии 0 + 0 = 0 (0 ИЛИ 0 = 0). На оба входа поданы минусы (нули),
которые диоды далее не пропускают. Ток отсутствует и на точку съема через
резистор приходит минус (0) с правого конца схемы.
Рис. 8.4. Схемное решение для логического умножения
На схеме диоды повернуты к двум входам своей отрицательной
стороной. В действии 1*1=1 (1 И 1 =1) на оба входа поданы 1 (плюсы).
Протекание тока невозможно. На точку съема через резистор приходит плюс
(1) с правого конца схемы.
46
В действии 1*0=0 (1 И 0 =0) на верхний вход подан минус (0), а на
нижний – плюс (1). Ток идет через верхний диод и напряжение на резисторе
падает. На его левой стороне оно оказывается отрицательным (тем, которое
прошло через верхний диод). Отрицательное напряжение попадает на точку
съема и принимается за нуль.
В действии 0*0=0 (0 И 0 =0) минусы (нули) поданы на оба входа. По
сравнению с предшествующим случаем это положения не меняет, и на точку
съема попадает 0.
За элемент НЕ принимают транзистор (рис. 7.5), у которого (как это
указывалось выше) при подаче 1 на базу (вход) на точке съема (выходе)
появляется 0 и наоборот.
Рассмотренные логические схемы использованы в устройстве главного
элемента процессора – сумматора. На рис. 8.5. представлен одноразрядный
сумматор, т. е. такой, который способен складывать двоичные числа, состоящие
только из одной цифры.
Работа одноразрядного сумматора приведена в таблице 8.3
Вариант I: На входы А и В сумматора поданы нули с целью их сложения.
В верхней ветви эти значения попадают на элемент И (умножение). Т. к. 0*0=0,
то перенос П=0. В нижней линии входные значения попадают на элемент ИЛИ
(сложение). Т. к. 0+0=0, то на выходе элемента ИЛИ имеем 0. Он подается на
вход нижнего элемента И, на другой вход которого поступает прошедший через
элемент НЕ выход первого элемента И. Он равен 0, но после НЕ превратился в
1. В итоге на выходе нижнего элемента И имеем  = 0 (т. к. 0*1=0)
Вариант II: На входы А и В сумматора поданы 1 и 0. На верхней ветви
после элемента И имеем П = 0 (0*1=0). На нижней ветви после элемента
ИЛИ имеем 1 (1+0=1). Единица поступает на вход нижнего элемента И. На его
второй вход поступает перенос, прошедший через элемент НЕ. Т. к. НЕ 0 =1, то
на оба входа второго элемента И поступает по единице. Следовательно  =1.
Рис. 8.5. Одноразрядный сумматор
I – функциональная схема; II –условное обозначение; А, В – слагаемые,  –
сумма, П – перенос, И, ИЛИ, НЕ – обозначение логических операций.
Таблица 8.3. Работа одноразрядного сумматора
I
0
0
0
0
Перенос на более высокую позицию П
Первое слагаемое А
Второе слагаемое В
Сумма 
47
Варианты
II
0
0
1
1
III
1
1
1
0
Вариант III: На входы А и В сумматора подано по единице. На верхней
линии после И имеем П=1. На нижней линии после ИЛИ имеем 1 (Согласно
алгебре Буля 1+1=1). Т. к. после прохода через элемент НЕ перенос
превратился в НЕ 1=0, то на входы нижнего И поданы 1 и 0 и результат их
перемножения  =0.
Рассмотрим теперь трехразрядный сумматор, состоящий из элементов 0го, 1-го и 2-го разрядов. (Число разрядов можно увеличивать, и все они будут
состоять из трех одноразрядных сумматоров Это относится и к суммированию
чисел, содержащих дробную часть, например 1001.11 2 , где только крайний
справа элемент будет таким же, как элемент 0-го разряда на рис. 8.6.)
Пример со сложением двух 3-хразрядных двоичных чисел: 111 +
101=1100 (7+5=12) приведен в таблице 8.4: В 0-м разряде единственный
одноразрядный сумматор складывает 1+1 и дает  =0 и перенос П=1.
В 1-м разряде сумматор ВВ складывает вводимые слагаемые (1+0) и
выводит  =1 и П=0. Сумма с ВВ поступает в сумматор  П, на другой вход
которого поступает перенос с 0-го разряда. Т. к обе эти величины равны
единице, то окончательно выдаваемая с  П (а значит и с элемента1-го разряда)
сумма  =0. Кроме того  П выдает перенос П=1 . Одноразрядный сумматор
ПП суммирует переносы с ВВ и  П, т. е. 0+1. Полученная на выходе единица
переходит в элемент 2-го разряда.
Рис. 8.6. Трехразрядный сумматор
0, 1, 2 – разряды; А, В – слагаемые двоичные цифры;  – суммы; П –
переносы; ВВ – сумматор входных цифр;  П – сумматор суммы от ВВ с
переносом элемента предшествующего разряда; ПП – сумматор двух переносов
Во 2-м разряде в ВВ поступают две единицы и он передает  =0 в  П и
П=1 в ПП. В свою очередь  П суммирует сумму с ВВ с переносом элемента 1го разряда (0+1) и выдает  =1 как окончательную сумму по 2-му разряду и
перенос П=0 в ПП. В этом
Таблица 8.4. Работа сумматора
Перенос в более высокий разряд П
Первое слагаемое А
Второе слагаемое В
Сумма 
3
1
1
Разряды
2
1
1
1
1
1
1
0
1
0
0
1
1
0
последнем сумматоре этот 0 суммируется с П=1, пришедшим с ВВ.
Полученная на выходе единица пошла бы на вход элемента третьего разряда
48
(его на рис. 8.6 нет) и было бы получено число 1100 2 , т. е. двенадцать, что и
показано в таблице.
Еще один элемент процессора – дешифратор – преобразует двоичное
число, представляющее собой код какой-либо команды, в импульс для ее
выполнения
Рис. 8.7. Дешифратор команд
Таблица 8.5. Работа дешифратора команд
Триггеры
I
S
0
1
1
0
Выходы на элементах И
1
2
3
4
II
R
1
0
0
1
S
0
0
1
1
R
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
Операция
Вычитание
Умножение
Сложение
Деление
Дешифратор состоит из четырех линий (проводов). Подключенные к этим
линиям два триггера образуют вход дешифратора, четыре элемента И – его
выход.
Триггеры могут подавать две единицы одновременно только на
вход одного из выходных элементов И. Пусть например требуется импульс (т.
е. команда на запуск) операции “умножение”. Как показано в таблице 8.7,
единицы (положительные импульсы) подаются на вход S триггера I и на вход
R триггера II. (Вся команда выглядит как двоичное число 1001 –девятка).
Тогда две единицы одновременно поступают на входы 3-го элемента И, на
выходе которого появляется единица, или импульс на запуск требуемой
операции “умножение”. По схеме можно проследить, что на входах 1-го И
будут 1 и 0, на входе 2-го И – соответственно 0 и 1, на входе 4-го – 0 и 0, т. е
на остальных выходах дешифратора результат равен 0 (импульса не будет)
Рекомендуемая литература: Осн. 3 с. 190-204
Контрольные вопросы
1 Назначение регистра, счетчика, сумматора и дешифратора
2 Устройство и работа регистра
3 Устройство и работа счетчика импульсов
4 Суть операции ИЛИ, ее схемное воплощение
5 Суть операции И, ее схемное воплощение
6 Суть операции НЕ, ее схемное воплощение
7 Устройство и работа одноразрядного сумматора
8 Устройство и работа трехразрядного сумматора
49
9 Устройство и работа дешифратора
10 От чего зависит точность компьютера
ЛЕКЦИЯ 9. Устройство и работа процессора
Схема процессора дана на рис. 9.1. Компьютерная модель содержится в
оперативной памяти ОП. Это программа, состоящая из команд, которые одна за
другой поступают в процессор и там выполняются. Результат выполнения
каждой команды направляется из процессора обратно в ОП (пунктирная линия
справа).
Каждая команда состоит из трех частей: двух операндов (чисел, с
которыми надо выполнить арифметические действия) О1 и О2 , а также шифра
вида операции ШО. В процессоре операнды О1 и О2 записываются на
соответствующие регистры R1 и R2.
Шифр вида операции поступает на
дешифратор команд ДШК. Он подает импульс на блок выполнения операций
БВО. Этот блок содержит системы, обеспечивающие выполнение сложения,
вычитания умножения и деления. Каждая система представляет собой
программу, выполненную в виде микросхемы. Микросхема задает требуемый
режим работы сумматору  и регистрам R1, R2 и R  .
Счетчик СЧ считает число выполненных команд и дает оперативной
памяти сигнал о завершении выполнения программы.
Рис 9.1. Процессор
ОП – оперативная память; ШО – шифр операции; О1, О2 – операнды; R1, R2
– регистры для записи операндов; R  – регистр для записи суммы;  –
сумматор; ДШК – дешифратор команд; БВО – блок выполнения операций; СЧ
– счетчик команд.
Рассмотрим, как выполняются процессором арифметические операции.
Отметим, что все они производятся сумматором, который способен
производить
только
сложение.
Для
осуществления
прочих
арифметических действий БВО задает обходные пути, позволяющие
заменить эти операции сложением. Операция сложения.
50
Таблица 9.1 Сложение двух чисел в процессоре (21+9=30)
Регистр
5
Операнд О1 (первое слагаемое)
Операнд О2 (второе слагаемое)
Сумма 
R1
R2
R
4
1
1
Позиции
3
2
0
1
1
0
1
1
1
0
0
1
0
1
1
0
Операция вычитания. Вместо вычитания сумматор производит
сложение уменьшаемого с вычитаемым, выраженным в обратном коде,
после чего к результату добавляется единица. Разность Р операторов О1 и
О2 равна:
Р = О1 + НЕ О2 + 1
(9.1)
Получение любого числа в обратном коде с регистра его записи не
представляет трудности,
Таблица 9.2. Вычитание в процессоре (21 – 9 = 12)
Регистр
5
Операнд О2 (вычитаемое) в
прямом коде
Операнд О2 (вычитаемое) в
обратном коде
Операнд О1 (уменьшаемое)
Сумма 
Сумма 
Прибавление единицы
Разность Р
Позиции
3
2
1
0
R2
4
0
1
0
0
1
R2
1
0
1
1
0
R1
R
R1
R2
R
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
0
1
0
т. к. регистр состоит из триггеров, а каждый триггер имеет два выхода Q и Q ,
причем Q = НЕ Q . Таким образом после подачи вычитаемого на входы S
триггеров (и на выходы Q ), оно (с помощью БВО) считывается в обратном
коде, т. е подается на сумматор с выхода Q (см. рис. 8.1). Процесс вычитания
демонстрирует таблица 9.2
В верхней строке вычитаемое приведено в прямом коде (на выходах Q
регистра R2). Во второй строке то же число записано в обратном коде (на
выходах Q того же регистра). В третьей строке записано уменьшаемое
(регистр R1) В четвертой строке находится сумма уменьшаемого с вычитаемым
в обратном коде (регистр R  ).
Эту сумму БВО с регистра R  . переводит на R1 (предварительно
очистив этот регистр). На R2 БВО заносит единицу. После добавления единицы
на R  появляется число, указанное в нижней строке. Окончательно БВО
отправляет в оперативную память только число 1100 (т. е.12), выделенное
жирным шрифтом, т. к. в противном случае разность оказалась бы больше
уменьшаемого (что невозможно).
51
Операция умножения. Вместо умножения сумматор производит
повторение множимого в качестве слагаемого столько раз, сколько единиц
Ч ем содержится во множителе. Всего производится операций сложения
ОС = Ч ем -1
(9.2)
Каждое следующие слагаемое сдвигается влево на одну позицию. Если
множитель содержит 0, то следующее слагаемое сдвигается влево на две
позиции.
Управляющая умножением система БВО переводит множитель на свой
внутренний регистр. Производится повторная запись множимого со сдвигом на
необходимое число позиций. Сумматору подаются команды на выполнение
сложения
Таблица 9.3. Умножение чисел в процессоре (21*11=231)
Регистр
7
Множитель
Множимое
Множимое
Сумма 
Сумма 
Множимое
Произведение
*
R1
R2
R
R1
R2
R
1
1
6
5
0
1
1
1
1
1
1
Позиции
4
3
1
1
0
0
1
1
1
1
1
0
1
0
0
2
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
* Переводится с R2 в БВО
В примере (таблица 9.3) множитель содержит четыре цифры, в т. ч. три
единицы (Ч ем =3) и ноль. Согласно формуле (9.2) множимое повторяется в
качестве слагаемого три раза, в 2-х операциях сложения (ОС =2). В строке 3
множимое сдвигается влево на 1 позицию. В строке 6 оно же сдвигается уже на
3 позиции (с учетом ноля). Сумма в последней строке
дает искомое
произведение.
Операция деления. Вместо деления сумматор
производит повторные операции вычитания делителя из делимого (точнее
– сложение с использованием обратного кода). Операции вычитания
производятся, начиная с наиболее высоких позиций делимого. При каждой
операции вычитания в дополнительный регистр заносится единица, либо
ноль – последнее, если при данной попытке вычитания величина остатка с
добавленной к нему цифрой из следующей позиции делимого окажется
меньше делителя.
Рассмотрим приведенный в таблице 9.4 пример. Допустим, что частное
должно быть получено с точностью до минус второй позиции (т. е. до 2 2 = ¼ =
0.25).
Напомним, что высший разряд частного равен разности числа позиций
делимого и делителя, если они записываются, начиная с той же самой крайней
левой позиции. Если же делитель записывается со сдвигом на одну позицию
вправо, то из разности высших разрядов следует вычесть единицу. В примере
наибольшая позиция делимого – 5-я, делителя – 2-я. При вычитании он, как и
52
делимое, записывается, начиная с 5-й позиции (т. к. 110>101). Поэтому частное
записывается с 3-ей позиции
После первого вычитания в 3-й позиции образуется остаток 1. Снос в
этот остаток нуля из 2-й позиции делимого с образованием двоичного числа 10
не позволяет проводить второе вычитание (10<101), поэтому в частном на 2-й
позиции записывается нуль. То же происходит и после сноса 0 из 1-й позиции
делимого (100<101). В этой позиции частного также сохраняется 0.
Вычитание (с записью 1 на 0 - ю позицию частного) оказалось
возможным только после сноса 1 из нулевой позиции делимого.
Далее описанным способом определяются значения частного на –1-й и
на – 2-й позициях, после чего процесс завершается, ввиду достижения
заданной точности. Полученное значение частного 1001.11 2 = 9.75 10 . Для
большего приближения к точному значению 9.8 циклы вычитания необходимо
продолжить.
Таблица 9.4 Деление чисел в процессоре (49/5 = 9.8)
Регистр
Делимое
Делитель
Остаток
Частное
Остаток
Делитель
Остаток
Частное
Остаток
Делитель
Остаток
Частное
Остаток
Делитель
Остаток
Частное




R1
R2
R
*
R1
R2
R
*
R1
R2
R
*
R1
R2
R
*
5
1
1
4
1
0
3
0
1
1
1
1
1
1
1
Позиции
2
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
-1
1
1
0
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
-2
0
1
1
1
* Дополнительный регистр
Рекомендуемая литература: Осн. 3 с. 211-221
Контрольные вопросы
1 Важнейшие элементы процессора
2 Структура команды, откуда она поступает и как работает в
процессоре
3 Последовательность выполнения операции сложения
4 Принцип согласно которому сумматор выполняет вычитание
5 Последовательность выполнения операции вычитания
6 Принцип согласно которому сумматор выполняет умножение
7 Последовательность выполнения операции умножения
8 Принцип согласно которому сумматор выполняет деление
53
9 Последовательность выполнения операции деления
ЛЕКЦИЯ 10. Работа программы в компьютерной среде
Для компьютеров первого поколения программисты составляли
программы в виде последовательности команд, записываемых одна под
другой. Команды (рис 10.1) записывались непосредственно в двоичном коде.
Из рисунка видно, что в общем виде команда состоит из шифра операции,
адресов операндов О1 и О2 (рис. 9.1), адреса, по которому записывается
результат выполненной операции, и адреса следующей команды. Адресом
называется номер ячейки оперативной памяти компьютера.
Рис 10.1 Структура команд, из которых состоит программа
Рис. 10.2. Схема памяти
Рассмотрим простейший пример программы по вычислению некоторой
величины по формуле:
y
c  ax
b
(10.1)
Прежде всего необходимо
осуществить ввод переменных, т. е.
разместить их по ячейкам памяти с указанием адресов. Это выполняется
командами ввода:
1. Разместить с по адресу 11. (один один). Перейти к команде 2
2. Разместить а по адресу 12. Перейти к команде 3
3. Разместить в по адресу 13. Перейти к команде 4
4. Разместить х по адресу 14. Перейти к команде 5
Далее с введенными переменными проводятся операции:
5. Взять содержимое ячеек 12 и 14 (т. е а и х соответственно), перемножить
эти содержимые друг на друга, результат записать в ячейку 15. Перейти к
команде 6
6. Взять содержимое ячеек 11 и 15 ( с и ах ), вычесть содержимое
ячейки 15 из содержимого ячейки 11, результат записать в ячейку16. Перейти к
команде 7
7. Взять содержимое ячеек 16 и 13 ( с  ах и в ), разделить содержимое
ячейки 16 на содержимое ячейки 13, результат записать в ячейку 21.
8. Содержание ячейки 21 вывести на печать. Перейти к команде 9
54
9. Закончить выполнение программы
Таким образом, процесс программирования простейшей формулы
вылился в девять команд. Особую сложность представлял перевод цифр и слов
в двоичный код. Обычно программист должен был держать перед собой
словарь (шифровальный лист) для перевода. Кроме того, программист держал
перед собой схему оперативной памяти (подобную изображенной на рис. 10.2),
чтобы видеть, свободна ли ячейка, в которую он собирается поместить
очередную информацию, либо она уже чем-то занята.
Уже с появлением компьютеров второго поколения оперативная память
возросла в десятки раз, появилась возможность использования
в
производственных нуждах программ, содержащих десятки и сотни формул,
программирование одной из которых рассмотрено в вышеприведенном
примере. Задача составлять подобные программы в командах стала слишком
трудоемкой.
Однако, сам компьютер и его процессор могут работать только в
командах,
выполненных в двоичных кодах. Как бы велика ни была
оперативная память, все равно, каждая ее ячейка должна учитываться, – в
противном случае хранящаяся там информация окажется утерянной.
Вышеуказанные обстоятельства привели к тому что с появлением
компьютеров второго поколения “ручное” программирование в командах (как
в примере) сменилось “автоматическим” программированием (см. таблицу 5.1)
Сущность автоматического программирования состоит в том, что вместо
команд, где тщательно расписан каждый шаг выполнения той или иной
операции, стали использовать “операторы”. Так, рассмотренный пример,
состоял бы всего из 3-х операторов:
1 Ввести а, в, с, х
2 у  (с  ах) / в
3 Вывести y
Язык программирования в операторах называется
языком
высокого уровня (алгоритмическим языком). При его использовании
компьютер сам должен переводить операторы в команды. Для этого:
– Компьютер должен “знать” местонахождение и содержание каждой ячейки
своей оперативной памяти
– Он должен “уметь” расписывать каждый оператор в серию необходимых
команд
– Он должен переводить цифры и слова в их двоичные коды
Для производства этих и многих других операций компьютеры стали
оснащаться операционными системами, представляющими собой обширную
программу, постоянно содержащуюся в оперативной памяти и являющуюся
неотъемлемой частью компьютера.
Если пользовательские программы ориентированы на пользователя, т.е.
должны быть удобны для специалистов различных отраслей науки и техники,
то операционные системы должны наилучшим образом сочетаться с работой
компьютера. Это обеспечивается тем, что они пишутся на специальных “языках
низкого уровня” С помощью устройства ввода УВ (клавиатуры) программа
55
вводится в оперативную память ОЗУ. Здесь написанная на языке высокого
уровня (Паскале, Бейсике, Фортране и др.) программа представляет собой
“исходный модуль” ИМ, т. е. материал для дальнейших преобразований.
Рис. 10.3. Работа написанной на алгоязыке программы в компьютерной среде
Когда с устройства ввода нажатием кнопки RUN программу запускают,
соответствующая команда
поступает в операционную систему ОПРС
компьютера и оттуда на управляющую программу данного языка УПЯЗ.
Управляющая программа языка включает, 1-й и 2-й трансляторы, а
также библиотеку стандартных программ. По сигналу управляющей
программы исходный модуль с помощью транслятора ТР1 преобразуется в
объектный модуль ОМ. В объектном модуле каждый оператор исходного
модуля подразделен на серии команд.
Если на каком-то этапе работы ТР 1 из-за ошибки в исходном модуле его
переход в объектный модуль оказывается невозможным, то на устройство
вывода транслятор направляет сообщение об ошибке. Выполнение программы
приостанавливается. После внесения исправлений
программу запускают
повторно.
В исходном модуле могут быть использованы различные стандартные
функции типа синуса, косинуса логарифма и т. п. С подобными функциями
сумматор непосредственно работать не может, и поэтому ТР 1, распознав
стандартную функцию, обращается в библиотеку стандартных программ,
позволяющих вычислить значения таких функций методом суммирования
(например, используя ряд Тейлора).
На следующем этапе объектный модуль транслятором ТР2 преобразуется
в загрузочный модуль. Загрузочный модуль – это программа, выполненная
в командах и переведенная в двоичные коды (говорят, что она написана
на машинном языке) Она готова к загрузке в процессор. В ТР 2 подаются
также записанные в десятичной системе числовые данные ДН для их перевода
в двоичную систему и подачи в загрузочный модуль.
56
Загрузочный модуль одну за другой направляет в процессор АЛУ
команды (см. рис.9.1) для выполнения счета (после выполнения каждой
команды АЛУ подает запрос на следующую). Результат счета возвращается в
ТР2, где переводится из двоичной системы в десятичную, а после этого
появляется на устройстве вывода УВЫВ
Рекомендуемая литература: Осн. 3 с. 230-245
Контрольные вопросы
1 Как располагается информация в памяти компьютера
2 Из каких частей состоит команда в компьютерной программе
3 Что такое операционная система компьютера
4 В виде каких модулей существует программы высокого уровня, их
отличия
5 Назначение транслятора 1
6 Назначение транслятора 2
7 Путь данных после запуска программы
8 Зачем нужна библиотека стандартных программ
ЛЕКЦИЯ 11. Элементы языка Бейсик и простейшие компьютерные
модели
Бейсик принадлежит к языкам высокого уровня (алгоязыкам). Он был
изобретен в 1964 г. для обучения студентов программированию. В первой
версии языка было 14 служебных слов. В дальнейшем появлялись все новые
версии языка Бейсик. В данной лекции будет рассмотрена версия, называемая
Турбо Бейсик. Бейсик работает в операционной системе DOC, которая с этой
целью вводится в персональные компьютеры наряду с системой WINDOWS.
Алфавит языка.
В структуре языка Бейсик используются только латинские буквы. В
некоторых случаях имеется возможность писать комментарии к программам на
кириллице. Если этой возможности нет, то допускается писать русские слова
комментариев латинским шрифтом. Пример: “russkie slova”. Кроме букв
используются разделительные символы: точка, запятая, двоеточие, точка с
запятой, кавычки, круглые скобки. Иногда применяются специальные символы:
!, #, $, %.
Все числа пишутся в цифрах десятичной системы счисления.
Применяются следующие символы математических операций : + (плюс), –
(минус), * (помножить), / (разделить), ^ (возвести в степень), = (равно), >
(больше),  (больше или равно), < (меньше),  (меньше или равно). Еще имеется
знак цельночисленного деления \ Например 7 \ 3 = 2 (тогда как 7 / 3 = 2.33)
Функции, имеющиеся в библиотеке языка
Тригонометрические функции:
SIN(X) (синус), COS(X) (косинус),
TAN(X) (тангенс). При этом угол Х записывается в радианах. Один радиан
равен 180 0 /  , т. е. 57.3 0 . Также имеется функция АТN (Х) (арктангенс – тоже
в радианах)
57
Другие имеющиеся в Бейсике функции:
– LOG(X) – это натуральный логарифм от величины Х (при этом десятичный
логарифм определяется как: lg x = ln x / ln 10 )
– ABS(X) – абсолютная (без учета знака) величина Х
– SIGN(X) – знак Х: Если Х > 0 SIGN(X) = 1, Х < 0 SIGN(X) = –1, Х = 0
SIGN(X) = 0
– FIX(X) – число, полученное отбрасыванием дробной части Х. Так FIX(-2.67)
= –2
Структура программы
Операторы записываются в виде строк – каждая строка
ниже
предшествующей. Строки нумеруются. Желательно это делать с интервалом:
например 10, 20, 30 и т. д. В этом случае при необходимости можно вставить
дополнительную строку (например под номером 22), не меняя нумерацию.
Строка не должна содержать более 255 символов. Т. к. экранная строка не
превышает 80 символов, то на экране продолжение слишком длинной строки
можно видеть сдвинув “картинку” влево
Типы чисел
Числа бывают целые (1, -7, 111) и действительные (с десятичной точкой: 1.0, 12.4, 34.785). Очень большие и очень маленькие числа записывают в
показательной форме. Например, число 1.23Е 6 означает: 1.23*10 6 или
1 230 000; а число 5.71Е–4 означает: 5.71*10 4 либо 0. 000571
Константы и переменные
Константы – это величины, имеющие единственное значение. В программе
константы записываются в виде числа (например, число  следует записывать
не в буквенной, а непосредственно в числовой форме как 3.14.
В отличие от констант переменные могут принимать целый ряд
значений, т. е. разные значения при каждом пробеге программы. В ОЗУ
переменная имеет собственную ячейку и характеризуется адресом этой ячейки
(см. рис.10.2). В программе на языке высокого уровня вместо конкретного
адреса записывают имя переменной (в адрес ячейки это имя переведет
транслятор 2 – см. рис 10.3). В Бейсике переменная может обозначаться
латинской буквой ( А, L, Q), сочетанием нескольких латинских букв (TEMP –
например, чтобы обозначить температуру). Начинающееся с буквы имя может
включать цифры (например, D1, D2, D3 – для сходных по своей физической
сути переменных)
Ввод данных
Любая программа делится на три части: ввод данных, их обработка,
вывод результата.
Ввод часто осуществляется оператором INPUT, после которого в
кавычках помещают комментарий: характеристика вводимой переменной и
единица измерения. Все единицы должны относиться к системе СИ. После
закрытия кавычек следует точка с запятой и обозначение переменной.
Пример: 10 INPUT “Глубина скважины Н, м”; Н
При запуске программы на экране появится комментарий (без кавычек ). Далее
вводят требуемое числовое значение. Например: Глубина скважины Н, м 752.
58
2-й способ ввода – оператор присваивания. Пример: 10 Н = 752. (в
строке номер 10 переменной Н присваивается значение 752). Этот способ
имеет то преимущество, что если при повторном прогоне программы данная
переменная измениться не должна, то экономится время на ее повторный ввод.
В противном случае числовое значение после знака равенства переписывается.
Вывод результатов
Для вывода используется оператор PRINT (обычно с комментарием).
После закрытия кавычек комментария ставятся: точка с запятой, двоеточие и
оператор PRINT USING, после которого (в кавычках) – регламентация
точности выводимого числа (количество отводимых на него знаков до и после
десятичной точки). В конце после точки с запятой следует обозначение
переменной. Пример: 110 PRINT “Мощность, W, кBт”;: PRINT USING
“###.#”; W. Вывод будет иметь вид: Мощность, W, кBт 12.8
Из запланированных (с запасом) трех разрядов на целую часть числа
потребовалось только два. Одна позиция отведена на дробную часть. Без
оператора PRINT USING “###.#” после точки было бы до 15 знаков, что
неудобно для чтения.
Если на целую часть числа отводится недостаточное количество
разрядов, то число не умещается в формат. Программа дает сообщение об
ошибке в виде знака %.
Если бы число выводилось в показательной форме, то наш пример имел
бы вид: 110 PRINT “Мощность, W, Bт”;: PRINT USING “#.##^^^^”; W. Здесь
знаки #.## отводятся на мантиссу, а ^^^^ означают (в порядке перечисления):
символ показательной формы Е, знак степени (плюс или минус), числовое
значение степени. Будет выведено: Мощность, W, Bт 1.28Е 04 (т. е.
1.28*10 4 )
Обработка данных
Операторы этой части программы состоят в основном из формул.
Формулы пишутся в одну строку, “двухэтажные” формулы недопустимы. Так,
формула y 
c  ax
должна быть приведена к виду:
b
y  (c  a * x ) / b .
(11.1)
(недопустимо и выражение умножения как ах , без использования символа *).
В формулах соблюдается приоритетность математических операций:
– В первую очередь вычисляются функции
– Во вторую очередь – операции возведения в степень и извлечения корня
– В третью очередь – операции умножения и деления
– В четвертую очередь – операции сложения и вычитания
Операции одной очереди выполняются последовательно слева направо
Если приоритетность необходимо нарушить, то вводят скобки. Это
сделано в формуле (11.1). Если бы скобки отсутствовали:
y  c  a*x/b ,
то вначале были бы выполнены все операции умножения и деления, а уже
потом результат был бы вычтен из с .
59
Следует проверять, чтобы в любой формуле число открытых и закрытых
скобок было одинаковым. Если содержащееся в скобках выражение имеет в
своем составе еще одни скобки, то процесс вычисления начинаются с
внутренних скобок.
Составим простейшую программу – компьютерную модель веса одного
метра бурильной колонны. Программа будет основана на единственной
формуле:
q  1.06

4
( D 2  d 2 )  м (1 
ж
) cos( )9.81 ,
м
(11.2)
где 1.06, коэффициент, учитывающий соединения, D, d – наружный и
внутренний диаметры труб,  м ,  ж – плотности металла бурильных труб и
промывочной жидкости,  – зенитный угол скважины, 9.81 – ускорение
свободного падения.
В представленном виде эта формула для языка Бейсик неприемлема
Произведем переименования: греческие буквы заменим латинскими;
учтем, что Бейсик не делает различия между большими и малыми буквами.
Желательно, чтобы новые символы напоминали те, что стоят в формуле (11.2)
Таблица 11.1 Переименование переменных
Символы в формуле (11.1)
Имена в программе
D
DH
d
DB
м
ж

q
RM
RG
TT
Q
Программа Q1M (т. е. вес 1 м)
10 CLS
20 PRINT “РАСЧЕТ ВЕСА ОДНОГО МЕТРА БУРИЛЬНОЙ ТРУБЫ В СКВАЖИНЕ”
30 INPUT “Наружный диаметр трубы, DH, м”, DH
40 INPUT “Внутренний диаметр трубы, DВ, м”, D
50 INPUT “Плотность материала трубы, RM, кг/м 3 ”, RM
60 INPUT “Плотность промывочной жидкости, RG, кг/м 3 ”, RG
70 INPUT “Зенитный угол скважины, ТТ, град”, ТТ
80 Q = 1.06* (3.14/4)*(DH^2 – DB^2)*RM*(1 – RG/RM)*COS(TT/57.3)
90 PRINT “Вес одного метра бурильной трубы, Q, H”; : PRINT USING “####”; Q
Прокомментируем программу
Оператор CLS (№ 10) стирает результаты ранее проведенных расчетов.
Оператор PRINT и комментарий (номер 20) – это заголовок программы,
который появится над выведенным на печать результатом расчета.
Формат вывода (после PRINT USING) подобран с учетом того, что
значения веса 1 м труб, выраженные в Ньютонах, реально не могут занять
более четырех позиций.
Проведем исследования на этой модели: Сравним веса стальных и
алюминиевых бурильных труб при различных плотностях промывочной
жидкости:
60
Таблица 11.3. Зависимость веса 1 м бурильных труб (в Н/м) от плотности
раствора в вертикальной скважине. Наружный диаметр D = 0.054 м,
внутренний d = 0.044мм
Тип материала труб и
плотность
Сталь,  м = 7850 кг/м 3
Потеря по сравнению с
воздушной средой, %
Дюраль,  м = кг/м 3 2800
Потеря по сравнению с
воздушной средой, %
0*
Плотность бурового раствора,  ж , кг/м 3
1000
1200
1400
1700
2000
2300
62.8
54.8
53.2
51.6
49.2
46.8
44.4
0
12.7
15.3
17.8
21.6
25.5
29.3
22.4
14.4
12.8
11.2
8.8
6.4
4.0
0
35.7
42.8
50
60.7
71.4
82.1
* В воздухе
Анализ показывает, что с ростом плотности промывочной среды и
соответственно Архимедовой силы дюралевые трубы теряют свой вес очень
быстро. Так, по сравнению с нахождением труб в воздушной среде при
промывке водой вес дюралевых труб уменьшается на 35.7%, тогда как вес
стальных – только на 12.7 %. Если же промывка ведется утяжеленным буровым
раствором с плотностью 2300, то вес дюралевых труб уменьшается более, чем в
5 раз, тогда как вес стальных – менее, чем на 30%.
Очевидно, что в глубоких скважинах преимущество дюралевых труб не
только в их 3-кратно меньшей массе, но и в большей “плавучести” в
промывочной жидкости
Операторы перехода
Нормально составляющие программу операторы выполняются один за
другим в порядке сверху вниз. Но этот порядок могут нарушать операторы
перехода. Их два:
– Оператор безусловного перехода GOTO c указанием номера оператора, к
которому следует перейти (например GOTO 40)
– Оператор условного перехода IF …THEN... После IF стоит условие в виде
соотношения “больше” – “меньше” – “равно”. После THEN – указывают номер
строки, к которой переходит программа при выполнении условия (пример: IF
А>В THEN 70). Если условие не соблюдается, программа переходит к
следующему по порядку оператору.
В других вариантах (см., Лекция 12: программа Q1MCA, номер 100)
после THEN ставится оператор присваивания. При соблюдении условия этот
оператор вступает в силу, после чего программа выполняет следующий по
порядку оператор
Рассмотрим действие операторов перехода на примере:
Расчет длины l ф и диаметра Dвпч водоприемной части скважины при
бурении на воду.
Ставятся следующее условия:
61
В случае, если мощность водоносного горизонта m <10 м ,
принимают, что
lф = m
(11.3)
(т. е. под водоприемную часть используют всю мощность водоносного пласта)
Диаметр же водоприемной части находят по формуле
Dвпч 
Q
,
mVф
(11.4)
где Q – проектная производительность в м 3 /ч, а Vф –скорость фильтрации в
м/ч.
(11.5)
Vф  2.713 К ф ,
где К ф – коэффициент фильтрации в м/сут.
Eсли же мощность водоноса m > 10 м, то в качестве диаметра
принимают некоторое минимальное значение, чаще всего Dвпч  0.108 м.
Тогда необходимая длина фильтра:
lф 
Q
,
DвпчVф
(11.6)
Программа дана ниже. После определения допустимой скорости
фильтрации Vф помещен оператор условного перехода (70). Программа
“ветвится”: Если условие (M > 10) выполняется, то программа переходит на
номер 110 и, после выполнения действий, в этом и следующем операторах,
попадает на номер 130 и печатает результаты.
Таблица 11.2. Переименование переменных
Символы в формулах
m
Q
Кф
D
lф
Vф
Имена в программе
M
Q
K
D
L
V
Программа VPTSH (водоприемная часть)
10 CLS
20 PRINT “РАСЧЕТ РАЗМЕРОВ ВОДОЗАБОРНОЙ ЧАСТИ СКВАЖИНЫ ”
30 INPUT “Мощность водоносного пласта, M, м”, M
40 INPUT “Проектная производительность скважины, Q м 3 /ч ”, Q
50 INPUT “Коэффициент фильтрации пласта, K, м/сут”, K
60 V = 2.71*(K^(1/3))
70 IF M > 10 THEN 110
80 L = M
90 D = Q/(3/14*M* V)
100 GOTO 130
110 D = 0.108
120 L = Q/(3/14*D* V)
130 PRINT “Допустимая скорость фильтрации, V, м/ч.”; : PRINT USING “ ###.#”; V
140 PRINT “Длина водоприемной части, L, м”; : PRINT USING “ ###.#”; L
150 PRINT “Диаметр водоприемной части, D, м”; : PRINT USING “ #.###”; D
62
Если же условие не выполняется, то программа выполняет номера 80 и
90 и с помощью оператора (100) безусловного перехода, обходя операторы 110
и 120, также попадает оператор 130
В таблице 11.3 приведены варианты расчетов на такой модели
Таблица 11.3. Расчет приемной части скважины при проектном дебите
Q=21 м 3 /ч, и коэффициенте фильтрации водоносного пласта 9 м/сут ( Vф =5.61)
Мощность пласта, м
(входные данные)
5
24
Выходные данные (размеры приемной части, м)
Диаметр
Длина
0.237
5
0.108
11
При мощности 5 м, вся она используется в водоприемной части скважины.
Требуемый дебит обеспечивается при диаметре 237 мм. Если же мощность
пласта
велика, то задаются диаметром всего 108 мм (это облегчает
конструкцию скважины), и тогда дебит обеспечивается за счет длины
водоприемной части.
Использование подпрограмм
Если программа
несет несколько повторяющихся элементов, то
целесообразно каждый раз отсылать ее к одному и тому же блоку –
подпрограмме – для их расчета. Это делает программу более компактной.
В Бейсике имеется два типа подпрограмм.
Подпрограмма-функция состоит из единственного оператора вида:
DEF FN A(X1, X2, X3, …XN) = Функция от этих аргументов
Допустим, в нескольких частях программы необходимо считать площадь
поперечного сечения различных труб. В начале программы (или в любом
удобном месте) помещается оператор-функция:
DEF FN A(X1, X2) = 3.14/4*(X1^2–X2^)
(11.7)
Это означает, что определяется функция А (имя функции) от
формальных параметров Х1 и Х2). Функция написана после знака равенства
Пусть в каком-то месте программы необходимо найти площадь сечения
УБТ, причем наружному диаметру УБТ присвоено имя DHU, а внутреннему –
DVU. В этом месте вместо того, чтобы расписывать всю формулу, помещают
оператор:
F = FN A(DNU, DVU),
означающий, что площадь сечения УБТ F есть функция А (формулыа
(11.7)), но не от формальных параметров Х1, Х2, а от фактических DHU и
DVU.
Чем длиннее формула, тем удобнее применение подпрограммы-функции
Подпрограмма может включать некую последовательность операторов,
выполняемых с ранее введенными величинами. Подпрограмма начинается с
определенного места основной программы и обозначается оператором GOSUB
(т. е. “идем в подпрограмму”).
Например: 120 GOSUB 200 означает, что подойдя к оператору номер
120, программа переходит на оператор 200 и выполняет этот оператор и все
63
последующие по порядку, пока не встретится оператор RETURN (т. е.
“возвращаемся”.
Например:
280 RETURN. После этого программа
возвращается к исходному месту и выполняет оператор, который следует за
GOSUB.
Рекомендуемая литература: Осн. 1 с. 4-36
Контрольные вопросы
1 Алфавит языка Бейсик, из чего могут состоять имена переменных?
2 Функции Бейсика. Что означают функции ABS(X), FIX(X) и
SIGN(X)?
3 Показательная форма представления чисел
4 Способы ввода данных
5 Вывод данных, как ограничивается размер выводимых чисел?
6 Запись формул. Приоритеты арифметических действий и роль
скобок
7 Операторы перехода
8 Подпрограмма-функция
9 Подпрограмма
ЛЕКЦИЯ 12. Цикловые операции
Оператор цикла в общем виде выглядит как:
FOR I = К TO N STEP H
…………………………
NEXT I
Строка, начинающаяся с FOR., называется заголовком цикла. Он
означает, что параметр цикла I, с шагом Н (по английски шаг – “step”),
начиная с исходного значения К, принимает ряд все возрастающих значений, а
именно К, К+1*Н, К+2*Н, К+3*Н и т. д. При каждом значении I
производятся некоторые действия, результат которых зависит от параметра
цикла. Эти выраженные последовательностью некоторых операторов действия
составляют тело цикла (оно условно обозначено точками). После того, как все
операторы тела цикла выполнены, управление передается на конец цикла –
оператор NEXT I (“следующее I ”), и значение I возрастает на шаг Н.
Операторы тела цикла выполняются снова – уже при новом I, и все повторяется
до тех пор, пока при очередном возрастании I не окажется, что I > N. Тогда
выполнение цикла прекращается.
Значения К, Н и N либо указываются еще до цикла, либо в операторе
цикла вместо них ставят конкретные цифры. Чаще всего принимается значение
Н = 1, и тогда заголовок цикла выглядит как FOR I =К TO N (без указания
шага).
Оператор цикла обычно выполняется при участии индексных
переменных. Индексные переменные имеют вид А(1), А(2), А(3) и т. д, или в
общем случае А(I), Все вместе индексные переменные образуют массив
значений некоторой величины А. Если составляющие массив члены А(I)
64
имеют только один индекс, то массив называется одномерным. Существуют
двумерные массивы типа А(I,J), трехмерные – А(I,J,K) и т. д.
Массивы могут иметь большой объем (включать десятки, сотни и даже
тысячи значений). Эти значения требуют для своего размещения
существенного объема памяти. Поэтому управляющая программа языка Бейсик
требует, чтобы объем массива был указан заранее. Это делается с помощью
оператора DIM (от английского “dimension” – размер). Например DIM A (41),
В(5, 4) означает что в программе будут присутствовать два массива. Массив А
одномерный и состоит из 41 члена ( А(1), А(2), А(3), …, А(41) ), а массив В –
двумерный: ( В (1, 1), …, В(1,4, В(2,1),…,В(2,4) и т. д. до В(5,4), т. е данный
двумерный массив состоит из 20 членов: 5*4 = 20
Обычно оператор DIM размещается в начале программы. Если размеры
массивов в этот момент точно не установлены, то в операторе
DIM
допускается указывать размеры массивов с завышением. Так, вместо оператора,
упомянутого в примере, допустимо написать DIM A(50), B(10,10). Это
возможно, ввиду весьма обширного объема оперативной памяти современных
компьютеров.
В операторе DIM должны учитываться как вводимые массивы, так и те,
которые образуются при работе программы
Ввод индексных переменных можно осуществлять с помощью оператора
цикла. Для упомянутого одномерного массива А ввод будет иметь вид:
FOR I=1 TO 41
INPUT “A”, A(I)
NEXT I
Т. е. на экране 41 раз будет появляться имя индексной переменной А, и каждый
раз после этого имени надо будет ввести следующее по порядку значение и
нажать ENTER.
Ввод двумерного массива требует двух “вложенных” циклов, когда
внутренний цикл, т. е цикл по второму индексу (ниже в примере это индекс
J)
находится внутри наружного цикла (по I). Для каждого значения
наружного цикла вводятся все указанные значения внутреннего цикла, и
только после этого программа переходит к следующему значению наружного
цикла, для которого также вводятся все значения внутреннего цикла и т. д. пока
все значения наружного цикла не будут отработаны (см. ниже пример)
FOR I=1 TO 5
FOR J=1 TO 4
INPUT “B”, B(I,J)
NEXT J
NEXT I
Ввод будет осуществляться в следущем порядке: В (1, 1), В(1,2), В(1, 3), В(1, 4);
В(2.1), …, В (2, 4); … В(5,1),… В(5, 4 ).
Для ввода индексных переменных удобно использовать оператор
DATA, в котором значения переменных
записываются через запятую.
Оператор DATA обычно помещается в начале программы, например, после
операторов DIM. Ниже в определенной части программы располагается
65
оператор READ (“прочитать”) с указанием имен переменных. Оператор READ
осуществляет ввод данных, записанных в DATA.
Для примера рассмотрим ввод двумерного массива
C(3,2). В
приведенной ниже программе ввода переменным будут присвоены значения:
В(1, 1) = 12; В(1, 2) = 34; В(2, 1) = 8; В(2, 2) = 6; В(3, 1) = 25; В(3, 2) = 17.
DATA 12, 34, 8, 6, 25, 17
FOR I=1 TO 3
FOR J=1 TO 2
READ B(I,J)
NEXT J
NEXT I
В порядке, аналогичном вводу будет осуществляться и вывод (также в
цикле)
FOR I=1 TO 3
FOR J=1 TO 2
PRINT I, J B(I,J)
NEXT J
NEXT I
Выведенные данные расположатся столбиком.
Рассмотрим пример. Используем еще раз формулу расчета веса 1 м
бурильных труб в промывочной жидкости.
Выше эта формула обрабатывалась в программе Q1M. Результаты были
приведены в таблице 11.3. Отметим, что каждый результат, касающийся веса
дюралевых и стальных труб при различной плотности жидкости, получен путем
отдельного прогона программы. Всего потребовалось 14 прогонов. Кроме того,
вручную подсчитывались значения строк “Потеря веса в % по сравнению с
воздушной средой” . Это еще 12 значений. Применив циклы, определим все
это за единственный прогон программы, которая будет иметь вид:
Программа Q1MCA (вес 1м стальных и алюминиевых труб)
10 CLS
15 PRINT “ВЕС СТАЛЬНЫХ И ДЮРАЛЕВЫХ ТРУБ В ЖИДКОСТИ”
20 DIM QC (10), QA(10), QC%(10), QA%(10), N
30 DH = 0.054: DB = 0.044: DR =200
40 F = 3.14/4*(DH^2-DB^2)
50 PRINT “F”;: PRINT USING”##.######”; F
60 QC(0) = 1.06*7850*9.81*F: QA(0)= 1.06*2800*9.81*F: N(0)= QC(0)/QA(0)
70 PRINT “QC(0), QA(0), N(0)”; : PRINT USING”####”; QC(0),QA(0), N(0)
80 PRINT “I
DR
RG
QC
QC%
QA
QA% N ”
90 FOR I = 1 TO 6
100 IF I >3 THEN DR=300
110 RG(I) = RG(I-1) + DR
120 RG(1) = 1000
130 QC(I)= QC(0)* (1-RG(I)/7850)
140 QC%(I)= (QC(0)-QC(I))/QC(0)*100
150 QA(I)= QA(0)* (1-RG(I)/7850)
160 QA%(I)= (QA(0)-QA(I))/QA(0)*100
66
170 N(I)= QC(I)/QA(I)
180 PRINT I; : PRINT USING “######.#”;DR,RG(I),QC(I),QC%(I),QA(I), QA%(I), N(I)
190 NEXT I
В программе DH и DB – наружный и внутренний диаметры бурильной
трубы (в м); F – площадь ее сечения (м 2 ); DR – шаг изменения плотности
промывочной жидкости (кг/м 3 ); QC(0), QA(0) – вес 1 м бурильной трубы
(стальной и дюралевой) в воздухе; QC(I), QA(I), то же в промывочной жидкости
при I-м шаге изменения ее плотности RG(I).
Кроме того выводятся значения QС%(I) и QА%(I) снижения веса в
процентах, а также значения N(I) – отношений веса в воздухе к весу в
промывочной жидкости.
Для ввода DH, DB и DR. используется оператор присваивания. Для
экономии места все операторы присваивания расположены в строке 30 и
разделены двоеточием
После расчета и вывода на печать площади поперечного сечения
бурильных труб F в строке 60 вычисляются значения QC(0), QA(0). При
выводе QC(0) и QA(0) используется один и тот же формат чисел (оператор
PRINT USING”####”)
В строке 80 выводится заголовок таблицы, под символами которого
будут располагаться выводимые в ходе цикла данные ( I, DR, RG, QC, QC%,
QA, QA%, N)
Сложность заключается в том, что шаг изменения плотности жидкости
DR непостоянен. Положение “в воздушной среде”, соответствует 0-му
значению параметра цикла I. Следующее положение при I = 1 соответствует
использованию воды. Оба положения отделяет шаг DR = 1000 кг/м 3 . Далее от
RG = 1000 до RG = 1400 (т. е. до цикла номер 3 включительно) плотность
жидкости растет с шагом DR = 200 кг/м 3 . После третьего цикла шаг возрастает
до 300 кг/м 3
В заголовке цикла (строка 90) предусмотрено проведение 6 циклов: от 1го до 6-го. В следующей строке 100 ставится условие, что после третьего цикла
(т. е. при I >3) DR = 300. До этого момента сохраняется значение DR = 200,
заданное в строке 30.
В строке 110 указано, что плотность RG(I) для каждого I –го цикла на
шаг DR больше плотности RG(I-1) предшествующего цикла.
В ходе первого цикла (I=1) согласно оператору 110 должно быть:
RG(1) = RG(0) + 200. Значение RG(0) в программе не указано, поэтому
программа принимает его за нуль (RG(0)=0). Следовательно, RG(1) = 200.
Однако в следующем операторе 120 это значение заменяется на RG(1) = 1000
(для воды). Далее это значение участвует в операторах 130 – 170 при
нахождении QC(1), QC%(1), QA(1), QA%(1) и N(1). Все полученные значения
выводятся в строке 180 (для I = 1). После этого оператор конца цикла NEXT I
переводит программу опять на начало (“к следующему I “)
В ходе второго цикла (I=2) согласно оператору 110 RG(2) = RG(1) + DR
= 1000+200=1200. По этому значению находятся и печатаются QC(2), QC%(2),
QA(2), QA%(2), N(2). Аналогично проходит третий цикл (где RG(3)=1400).
67
В ходе четвертого цикла I = 4, т. е. I >3. Согласно этому условию шаг
становится равным 300 кг/м 3 . Теперь RG(4) = RG(3) + DR, т. е. 1400 + 300 =
1700. Аналогично выполняются 5-й и 6-й (последний) циклы.
Результаты выполнения
программы выглядят, как показано ниже.
Вначале на печать выведено название программы (согласно строке 15), после
чего представлено значение F, рассчитанное вне цикла. В строке 80 дается
заголовок таблицы результатов цикловых расчетов. Сами эти результаты
выведены по пронумерованным с помощью параметра цикла I строкам :
ВЕС СТАЛЬНЫХ И ДЮРАЛЕВЫХ ТРУБ В ЖИДКОСТИ
F 0.000769
QC(0), QA(0), N(0) 62.8 23.2 2.7
I
DR
RG
QC
QC%
QA
QA%
1
200
1000.0 54.8
13.0
14.9
36.0
2
200
1200.0 53.2
15.0
13.3
43.0
3
200
1400.0 51.6
18.0
11.6
50.0
4
300
1700.0 49.2
22.0
9.1
61.0
5
300
2000.0 46.8
25.0
6.6
71.0
6
300
2300.0 44.4
29.0
4.2
82.0
N
3.7
4.0
4.4
5.4
7.0
10.7
Видно, что если в воздушной среде соотношение N весов стальных и
дюралевых труб равнялось 3.7, то в утяжеленном растворе оно превышает 10.
Рекомендуемая литература: Осн. 1 с. 47-57
Контрольные вопросы
1 Оператор цикла: оформление и смысл
2 Индексные переменные: обозначение и сущность. Разновидности
3 Понятие о массивах. Виды массивов
4 Оператор DIM: оформление и сущность
5 Способы ввода и вывода одномерных массивов. Оператор DATA.
6 Ввод и вывод двумерных массивов. Вложенные циклы и их
выполнение
7 Как вывести результаты циклов в виде таблицы
8 Преимущества программ включающих циклы
ЛЕКЦИЯ 13. Некоторые приемы программирования
Суммирование ряда чисел. На практике часто возникает необходимость
суммировать ряд чисел. Так, при бурении каждый бурильщик записывает в
журнал пройденный им метраж за рейс. Глубина же скважины составляет
сумму рейсовых проходок. Для решения задачи суммирования каждая рейсовая
проходка представляется, как часть H(I) некоторого одномерного массива H.
Суммирование проводят с помощью оператора цикла. Например:
Программа SUM (суммирование)
10 DIM H(20)
15 PRINT “СУММИРОВАНИЕ ЧИСЛОВОГО РЯДА”
20 DATA 11,6,71,45,2,73,40,9,10, 13,4,7,33,19,57,25
30 C = 0
68
40 FOR I = 1 TO 16
50 READ H(I)
60 C = C + H(I)
70 NEXT I
80 PRINT “C”; C
В операторе DIM (строка 10), указывается, что программа будет работать
с одномерным массивом Н, объемом не более 20 членов. В операторе DATA
(20) приводится ряд из 16 -ти чисел. В следующей 30-й строке искомой сумме
первоначально присваивается значение 0. В заголовке цикла (40), указано, что
будет осуществлено всего 16 циклов, начиная с первого. Оператор READ
воспринимает ряд чисел оператора DATA, как ряд значений H(I) рейсовой
проходки.
Суммирование осуществляется в строке 60. Бессмысленное с точки
зрения правил арифметики выражение C = C + H(I) означает, что новое (левая
часть формулы) значение числа, в закодированной именем С ячейке памяти,
равно старому (ранее помещенному туда) значению плюс текущее I – тое
значение величины Н. Первоначально (до начала циклов) в ячейке С
находилось число 0.
Посмотрим, что происходит в ячейке С в ходе циклов. В первом цикле к
старому значению 0 прибавляется первое значение рейсовой проходки Н(1), т. е
11 (см. оператор DATA). Это число и хранится здесь до следующего цикла. В
цикле номер 2 к старому значению 11 прибавляется Н(2), т. е. 6 и теперь в
ячейке сохраняется сумма 11 + 6 = 17. В третьем цикле происходит следующее
сложение: 17 + 71 = 88. Очевидно, что после 16-го цикла все значения Н(I)
вплоть до Н(16) окажутся просуммированными. По окончании циклов оператор
PRINT “заглянув” в ячейку с именем С, обнаруживает значение суммы 16-ти
рейсовых проходок и печатает: С = 425
Рассмотрим модель, в которой на основании данных, полученных
при бурении пород конкретного разреза, производится выбор между
шарошечными и алмазными долотами с учетом их стоимости и ресурса
(проходки на долото). Прием суммирования получил здесь довольно широкое
применение.
Введем обозначения: H(I) – глубина подошвы I –й толщи пластов; М (I) –
его мощность; Р(I) – ресурс шарошечного долота при бурении по I –му пласту;
РА(I)– ресурс алмазного долота по тому же пласту; CD(I) – стоимость
шарошечного долота для бурения по I –му пласту; DА(I) – стоимость
соответствующего алмазного долота; D(I) – стоимость всех шарошечных долот,
отработанных по I –му пласту; DА(I) – стоимость всех алмазных долот; NR(I) –
число шарошечных долот, потребовавшихся для перебурки пласта; NRА(I) –
число алмазных долот; CP(I) – стоимость СПО (спускоподъемных операций)
при перебурке I-го пласта шарошками; CPА(I) – стоимость СПО при перебурке
I-го пласта алмазами; OD – общая стоимость всех шарошечных долот; ODА –
общая стоимость всех алмазных долот; ONR – общее число СПО при бурении
шарошками; ONRА – общее число СПО при бурении алмазами; ОCP – общая
стоимость всех СПО при бурении шарошками; ОCА – общая стоимость всех
69
СПО при бурении алмазами; СРО – средняя стоимость одного спуско-подъема
на данном разрезе; CD – общая стоимость при бурении данного разреза
шарошками; CDА – общая стоимость при бурении данного разреза алмазами
В программе оператор DIM (строка 20) разрешает каждой из 12
индексных переменных принимать до 10 значений. Оператор DATA (строка 30)
coдержит 30 чисел (все они умещаются в одну строку монитора, но в строке
страницы WORD не убираются и поэтому условно пришлось применить
перенос на нижеследующую строку).
В строке 40 происходит “обнуление” ячеек, где будет происходить
суммирование. В одной строке 40 разделенные двоеточием размещаются 6
таких операторов (обнуляются ячейки OD, ODA, ONR, ONRA, OCR, OCRA)
В строке 45 указана средняя по скважине стоимость СПО, и далее в
заголовке цикла (строка 50) указывается, что будет проведено 6 циклов
(бурение ведется по 6-ти пачкам пород).
В строке 60 располагается оператор READ, указывающий на то, что в
каждом I-том цикле из оператора DATA будут последовательно отбираться
значения пяти величин, а именно подошвы пачки H(I), ресурса P(I), и
стоимости CD(I) шарошечного, и PA(I) и CDА(I) и алмазного долот. В
частности, в первом цикле H(1)=548 м,
P(1)=84 м CD(1) =2976 $, PA(1)=434
м и CDА(1)=32370 $, во втором – 1777, 97, 2264, 577 и 28905 и т. д.
соответственно (все линейные размеры даны в м), стоимости - в у. е.)
Программа SHAD (шарошечные и алмазные долота)
10 CLS
15 PRINT “ВЫБОР ТИПА ДОЛОТА”
20 DIM H(10),M(10),P(10),PA(10), CD(10),CDA(10),D(10),DA(10),NR(10),NRA(10),
CP(10),CPA(10)
30 DATA 548,84,2976,434,32370, 1777,97,2264,577,28905, 2865,68,2190,383,23788,
3575,27,2456,307,25604, 4282,18,3015,259,23399, 4815,45,3067,339,24879
40 OD=0: ODA=0: ONR=0: ONRA=0: OCP=0: OCPA=0
45 CPO=1095
50 FOR I=1 TO 6
60 READ H(I), P(I), CD(I), PA(I), CDA(I)
70 M(I)=H(I) – H(I-1)
80 NR(I)=M(I)/P(I): NRA(I)=M(I)/PA(I)
90 D(I)=NR(I)*CD(I): DА(I)=NRА(I)*CDА(I)
100 CP(I)= NR(I)*CPO: CPA(I)= NRA(I)*CPO
110 OD = OD+D(I): ODA=ODA+DA(I)
115 ONR=ONR+NR(I): ONRA=ONRA+NRA(I)
120 OCP= OCP+CP(I): OCPA= OCPA+CPA(I)
130 NEXT I
140 CD=OD+OCP: CDA=ODA+OCPA
150 PRINT “ONR, OD, OCR, CD”;: PRINT USING “########”;ONR, OD,OCR,CD
160 PRINT“ONRA,ODA,OCRA,CDA”;:PRINTUSING“########”;ONRA,ODA,OCRA,CD
170 IF CD>CDA THEN 190
180 PRINT “ВЫБИРАЕМ ШАРОШЕЧНЫЕ ДОЛОТА”: GOTO 200
190 PRINT “ВЫБИРАЕМ АЛМАЗНЫЕ ДОЛОТА”
200 END
70
Далее в строках 70 – 100 производятся вычисления :
– Мощности пачки M(I) – путем вычитания глубины подошвы
предшествующего пласта (номер I-1) из глубины последующего (номер I)
– Числа рейсов шарошечных NR(I) и алмазных NRА(I) по каждой I-той пачке
(или, что то же, – числа отработанных долот)
– Стоимости шарошечных D(I) и алмазных DА(I) долот, отработанных на
I-той пачке
– Стоимости спускоподъемных операций при бурении I-той пачки
шарошечными CP(I) и алмазными CPА(I) долотами
Наконец, в строках 110 – 120 производится суммирование с целью
вычисления:
– Общей стоимости затраченных на скважину шарошечных OD и алмазных
ODA долот
– Общего числа рейсов ONR и ONRA по каждому типу долот
– Общей стоимости спускоподъемных операций OCP и OCPA
После оператора конца цикла вычисляются суммарные затраты на долота
и спускоподъемные операции CD и CDA (строка 140)
В строке 150 данные относящиеся к шарошечному бурению выводятся на
печать, а в строке 160 это же делается для алмазного бурения.
В строке 170 располагается оператор условного перехода. Если затраты
на бурение шарошечными долотами превышают затраты на алмазное бурение,
то
осуществляется переход на оператор 190 с появлением на печати
заключительного вывода: ВЫБИРАЕМ АЛМАЗНЫЕ ДОЛОТА и переходом на
строку 200 – END (конец программы). Если же условие CD>CDA не
удовлетворяется, то на строке 180 осуществляется печать противоположного
вывода: ВЫБИРАЕМ ШАРОШЕЧНЫЕ ДОЛОТА, после которого через
двоеточие помещен оператор безусловного перехода на конец программы.
При тех числовых значениях, которые введены в программу оператором
DATA после выполнения программы будет в соответствии с операторами
PRINT (15, 150, 160, 190) напечатано:
ВЫБОР ТИПА ДОЛОТА
ONR, OD, OCR, CD
113 302473 123311 425784
ONRА, ODА, OCRА, CDА
13 332219
14069 346288
ВЫБИРАЕМ АЛМАЗНЫЕ ДОЛОТА
Алмазное бурение оказалось экономически выгоднее. Причина – в
многократно меньшем числе необходимых рейсов для бурения того же метража
и соответствующем. многократном снижении стоимости спускоподъемных
операций.
Скважина, которая здесь рассматривается, состоит из 6 пачек пород
примерно одинаковой буримости. Рассмотрим случай, когда данная модель
применяется только для бурения трех верхних пачек (из оператора DATA
будут автоматически взяты только данные, относящиеся к ним). Естественно
при малой глубине среднее время спускоподъемной операции должно быть
71
много меньше, а буримость верхних пачек несколько выше, как и ресурсы
обоих типов долот.
Заменим содержание строки 45 на: СРО = 200, а строки 50 на:
FOR I=1 TO 3. В итоге прогона программы для этих новых условий получим:
ВЫБОР ТИПА ДОЛОТА
ONR, OD, OCR, CD
35 83140 7039 90179
ONRА, ODА, OCRА, CDА 6 170015 1247 171262
ВЫБИРАЕМ ШАРОШЕЧНЫЕ ДОЛОТА
Из-за низкой стоимости СПО, их роль в общем балансе упала, и на
передний план выдвинулась стоимость самих долот. Теперь шарошечные
долота стали экономичнее.
К изложенному добавим, что, хотя в операторе DATA приведены данные
по 6-и пачкам, оператор READ использовал, только то, что относится к 3-м,
что допустимо
Нахождение максимального значения из ряда чисел.
Программа MAX
10 СLS
15 PRINT “НАХОЖДЕНИЕ НАИБОЛЬШЕГО ЧЛЕНА ЧИСЛОВОГО РЯДА”
20 DIM А(20)
30 DATA 11, 48, 3, б, 21, 12, 36, 7, 56, 33, 41, 23, 40, 18, 41
40 MAX=0
50 FOR I=1 TO 15
60 READ A(I)
70 IF A(I)> MAX THEN MAX=A(I)
80 NEXT I
90 PRINT “MAX”, MAX
Числовой ряд массива А вводится с помощью оператора DATA.
Искомый максимум обозначается именем MAX
и в строке 40 ему
присваивается наименьшее возможное значение 0. Далее после заголовка
цикла (строка 50) и ввода числового ряда с помощью оператора READ (60)
программа подходит к строке 70, содержащей условие IF A(I)>MAX THEN
MAX=A(I), в котором и заключается основной механизмом поиска
максимума. Присмотримся к его работе:
В ходе первого цикла программа имеет дело с величиной А(1) =11. Т. к
11 >0, а MAX=0 (строка 40), то A(I) >MAX и значит, по результатам первого
цикла, имеем MAX=А(1) т. е. MAX=11. Далее программа переходит к
оператору NEXT (80) и от него к заголовку цикла. Параметр цикла I принимает
значение 2
В ходе второго цикла программа имеет дело с величиной А(2) =48.
Условие строки 70 соблюдается и на этот раз (48> 11), поэтому после второго
цикла MAX=48.
72
В ходе третьего цикла программа имеет дело с величиной А(3) =3.
Условие не соблюдается и значение MAX=48 после третьего цикла
сохраняется.
Из рассмотрения оператора DATA очевидно, что значение MAX=48
сохраняется вплоть до восьмого цикла включительно (все значения меньше 48)
Однако после девятого цикла мы имеем MAX=56.
Это значение сохраняется в ходе оставшихся циклов, вследствие чего по
их завершении на печать выводится: MAX=56. Наибольшее значение найдено.
Нахождение минимального значения из ряда чисел.
Программа MIN
10 СLS
15 PRINT “НАХОЖДЕНИЕ НАИМЕНЬШЕГО ЧЛЕНА ЧИСЛОВОГО РЯДА”
20 DIM А(20)
30 DATA 11, 48, 3, б, 21, 12, 36, 7, 56, 33, 41, 23, 40, 18, 41
40 MIN=10000
50 FOR I=1 TO 15
60 READ A(I)
70 IF A(I)< MIN THEN MIN =A(I)
80 NEXT I
90 PRINT “ MIN ”, MIN
Она совпадает с предшествующей программой во всем, кроме 2-х
моментов:
– До начала циклов в строке 40 принимается число заведомо большее, чем все
члены ряда в операторе DATA (мы приняли 10000)
– В строке 70, в операторе условия вместо знака > теперь стоит <. Механизм
работы программы станет понятным, если рассмотреть работу каждого цикла,
так, как это было сделано выше при рассмотрении поисков максимума.
Расположение всех чисел ряда в порядке возрастания.
Программа имеет вид, показанный ниже. В одинарном цикле (строки 50
– 70) с помощью оператора READ из оператора DATA вводятся значения A(I)
неупорядоченного числового ряда.
Начиная со строки 80, располагаются два цикла с параметрами J и I,
причем второй цикл находится внутри первого (“вложен” в него). После
заголовка внешнего цикла принимается начальное значение минимума 90
MIN(J)=10000.
Внутренний цикл (строки 100 – 120), состоит из заголовка и оператора
конца, между которыми находится оператор условия 110 IF A(I)=< MIN(J)
THEN MIN(J) =A(I).
Программа SORT (сортировка)
10 CLS
20 DIM A(20), MIN (20)
30 PRINT “РАСПОЛОЖЕНИЕ ЧИСЛОВОГО РЯДА В ПОРЯДКЕ ВОЗРАСТАНИЯ”
40 DATA 11, 48, 3, б, 21, 12, 36, 7, 56, 33, 41, 23, 40, 18, 41
73
50 FOR I=1 TO 15
60 READ A(I)
70 NEXT I
80 FOR J=1 TO 15
90 MIN(J)=10000
100 FOR I=1 TO 15
110 IF A(I) =< MIN(J) THEN MIN(J) =A(I): K=I
120 NEXT I
130 A(K)=10000
140 К1=2: К2 = (1+J*4)
150 LOCATE K1, K2: PRINT MIN(J)
160 NEXT J
Отличие сортировки по возрастанию от поисков минимума
заключается в том, что минимум находится не один единственный раз, а 15
раз т. е. определяется MIN(J) – для каждого J - го значения параметра
внешней серии циклов. После каждого прохождения внешнего цикла
запоминается не только минимум, но и номер соответствующего значения
исходного ряда. Это делается с помощью оператора K=I.
Для первого J-го цикла (как видно из оператора DATA) MIN(1)=3 и
К=3. После окончания внутреннего цикла помещен оператор присваивания 130
А(К)=10000 (в данном случае А(3)=10000). Во всех следующих поисках
минимума на третьем месте исходного ряда вместо 3 будет стоять 1000,
поэтому 3 в качестве минимума более не повториться.
Для второго J-го цикла, внутренний цикл найдет, что MIN(2)=6.
Номер этого значения (I = 4) с помощью оператора K=I. будет запомнен и
использован для фактического устранения этого значения из рассмотрения
(А(4)=10000)
Для третьего J-го цикла, будет найдено MIN(3)=7 (К=8) и таким
образом продолжится построение упорядоченных по возрастанию значений
исходного ряда, пока очередь не дойдет до последнего 15-го значения:
MIN(15)=56
При выведении значений MIN(J) в цикле обычным порядком, эти
значения будут располагаться одно под другим, что займет много места и
неудобно для чтения. Поэтому для выведения использована строка 150,
содержащая операторы LOCATE K1, K2: PRINT MIN(J). Оператор LOCATE
K1, K2 перед печатанием значений MIN(J) устанавливает курсор на строке с
номером К1 в позиции К2. При этом выше на строке 140 устанавливается, что
К1= 2 (т. е. вторая сверху строка экрана). Символ же К2=(1+4*J) означает, что
на указанной строке первое значение MIN(1) печатается на 5-й позиции
(1+4*1=5), считая с левого края экрана, второе MIN(2) – на 9-й, третье – на 13-й
и т. д. В итоге на экране появится:
РАСПОЛОЖЕНИЕ ЧИСЛОВОГО РЯДА В ПОРЯДКЕ ВОЗРАСТАНИЯ
3 6 7 11 12 18 21 23 33 36 40 41 41 48 56
Рекомендуемая литература: Осн. 1 с. 50-54
74
Контрольные вопросы
1 Как организовать суммирование ряда значений
2 Что означает оператор С=С+А(I)
3 Что делают с символом суммы до начала цикла сложения
4 Принцип нахождения минимального значения из ряда чисел
5 Что такое сортировка ряда чисел
6 Принцип осуществления сортировки
7 Сколько позиции занимает число на строке вывода сортировки
ЛЕКЦИЯ 14. Численные методы решения математических задач
Свойство компьютера выполнять огромное количество точных
вычислений за минимальное время легло в основу численных методов
решения математических задач. Это особые методы, отличные от обычных
аналитических методов. В ряде случаев численные методы позволяют решить
проблемы, которые с использованием аналитических методов являются
принципиально неразрешимыми. Как правило, численные методы не связаны
со сложными преобразованиями исходных функций с целью приведения их к
наиболее удобному для подстановки числовых значений виду. Чаще всего эти
методы основаны на простых и очевидных соотношениях, хотя и требующих
большого числа вычислений.
Преимущество численных методов – это быстрота получения
конкретного числового результата с любой заданной точностью. Их
недостаток – затрудненность теоретического анализа изучаемых явлений.
Рассмотрим несколько характерных случаев использования численных
методов.
Вычисление определенного интеграла.
Как известно из курса математического анализа, для нахождения
определенного интеграла
от заданной функции вначале находят
неопределенный интеграл или первообразную функцию, после чего
осуществляют подстановку задаваемых пределов. Эта задача сравнительно
легко решается только для простейших функций, в большинстве же случаев
решение связано с затруднениями, а часто и вообще невозможно. Говорят, что
интеграл “не берется”
Численный метод нахождения определенного интеграла основан на том,
что его графическое отображение представляет собой площадь (рис 14.1),
ограниченную сверху кривой интегрируемой функции, снизу – осью абсцисс, а
справа и слева ординатами, проведенными через пределы интегрирования
Отрезок А- В на абсциссе разделен на некоторое число N (на рисунке
4) равных интервала Н, так, что
Н=(В-А)/N.
(14.1)
Через концы отрезков проведены ординаты. Кроме того, ординаты также
проведены через середины отрезков, на расстоянии Н/2 от их концов. Через
середины отрезков также проведены ординаты. Через точки пересечения этих
75
последних ординат с кривой функции f(x) между ординатами начал и концов
отрезков проведены горизонтальные линии, которые вместе с ординатами
образовали прямоугольники с одинаковыми основаниями. Высоты
прямоугольников суть значения
функции f(x) при
значениях
x,
соответствующих серединам отрезков.
Рис. 14.1 Графическая интерпретация определенного интервала
А и В – пределы интегрирования; f(x) – кривая интегрируемой функции; Н –
шаг изменения абсциссы x
Сумма площадей всех прямоугольников с некоторой ошибкой
площади под кривой функции, т. е определенному интегралу
равна
B
In   f ( x)dx
(14.2)
A
Ошибка связана с тем, что верхнее основание “столбиков” представляет собой
прямую линию, а не кусок кривой функции. Очевидно, что ошибку можно
сделать сколь угодно малой при уменьшении оснований прямоугольников Н за
счет увеличения числа N (формула (14.1)).
Вычисление определенного интервала
Программа INTEGR
10 CLS
20 PRINT “ВЫЧИСЛЕНИЕ ИНТЕГРАЛА ГАУССА”
40 INPUT “Число шагов N”; N
50 INPUT “Пределы интегрирования A, B”; А, В
60 Н=(В-А)/N
70 IN=0
80 FOR I=0 TO (N-1)
90 X= A+H/2+ I*H
100 Y= 2.7182^(-(X^2/2))/(2*3.14159)^0.5
110 S= Y*H
120 IN=IN+S
130 NEXT I
140 PRINT ”IN”; PRINT USING “#####.#####; IN
76
На строке 40 вводится число шагов N, на которые необходимо разделить
интервал от А до В. В следующей 50-й строке вводятся сами пределы
интегрирования. В сроке 60 рассчитывается шаг Н, а в строке 70 обнуляется
исходное значение суммы – в данном случае определенного интеграла INT.
Далее (строки 80–130) располагается цикл. В заголовке цикла
указывается, что параметр цикла I принимает значения от 0 до N-1.
В следующем операторе (строка 90) устанавливаются значения Х,
соответствующие серединам оснований прямоугольников (см. рис. 14.1). Так
для 0-го цикла (I-0) последний член формулы X= A+H/2+ I*H обращается в
нуль и тогда X= A+H/2 (что соответствует рисунку). Для 1-го цикла (I=1) X=
A+H/2+ 1*H, т.е больше на величину Н шага; для 2-го X= A+H/2+ 2*H, и т. д. –
до цикла номер N-1.
В строке 100 в исходную функцию для каждого цикла подставляется
найденное указанным путем значение Х и вычисляется У, т. е высота
прямоугольника. В строке 110 определяется площадь S каждого
прямоугольника. Наконец в строке 120 площади всех прямоугольников
суммируются, и вычисляется искомый определенный интеграл.
В таблице 14.1 демонстрируется зависимость точности вычисления
определенного интеграла от числа N прямоугольников, на которые разбит
интервал между пределами интегрирования.
Таблица 14.1 Точность вычисления интеграла в Гаусса зависимости от N
(для пределов интегрирования А = - 1; В = 1)
N
IN
2
0.704132
3
0.691892
10
0.683498
30
0.682779
100
0.682698
1000
0.682690
Из таблицы видно, что с ростом N величина интеграла уменьшается,
причем с ростом от N =2 до N=3 изменяются десятые доли, с N=3 до N=10 –
сотые доли, с N=10 до N=30 – тысячные, с N=30 до N=100 – десятитысячные, и
с N=100 до N=1000 – только стотысячные доли. Поэтому, если, например
результат должен выводиться с точностью до 3 цифровых знаков, то не следует
принимать N более 10
К изложенному следует добавить, что проинтегрированная функция
(строка 100) есть знаменитая функция нормального распределения Гаусса,
интеграл от которой играет весьма важную роль в математической статистике.
Первообразная от этой функции не существует, интегральная функция
нормального распределения –“интеграл вероятности”– может быть рассчитана
только численными методами.
Решение систем линейных уравнений.
Это часто встречающаяся и довольно трудоемкая задача, особенно при
большом числе уравнений в системе.
Рассмотрим, как находят решение таких систем вручную. Сделаем это
на несложном примере, используя метод Гаусса
77
2X – 5Y – 11Z – 8 = 0
3X + 12Y + Z+4 = 0
X – 2Y + 6Z - 7 = 0
(14.3)
Как известно, метод Гаусса состоит в поэтапном исключении
неизвестных.
На первом этапе исключают X. Для этого делят коэффициенты в
каждом уравнении на коэффициенты при Х (показано во 2-й преобразованной
системе (14.3).
1X – 2.5 – 5.5Z – 4 = 0
1X + 4Y – 0.33Z + 1.33 = 0
1X – 2Y + 6Z – 7 = 0
(14.4
Далее вычитают коэффициенты одного уравнения из соответствующих
коэффициентов другого. В примере коэффициенты 2-го и 3-го уравнений
системы (14.3) вычтены из коэффициентов 1-го. Результат:
– 6.5Y – 5.833Z – 5.333 = 0
– 0.5Y – 11.5Z + 3.0 = 0
(14.5)
Таким образом Х исключено.
(осталось только 2 уравнения с 2-мя
неизвестными).
Далее, повторяя описанные операции, исключают Y. Результат деления
на коэффициенты при Y:
1Y + 0.897Z + 0.821 = 0
1Y + 23.0Z – 6.0 = 0
(14.6)
При почленном вычитании второго уравнения из первого получаем:
– 22.103Z – 6.821 = 0
1Z – 0.3086 = 0
(14.7)
(14.8)
Откуда : Z = 0.3086
Подставив значение Z например, в верхнее уравнение системы (14.6),
получаем:
Y= – 1.0974
Подставив найденные Z и Y в верхнее уравнение системы (14.4),
находим:
Х = 2.9536.
Итак, решение системы уравнений подразделяется на два этапа:
– Последовательное исключение неизвестных вплоть до нахождения
значения последнего из них (в примере – это Z).
– Последовательное нахождение остальных неизвестных на основании
ранее найденных.
Все действия, производимые на первом этапе основываются на числовых
значениях коэффициентов. Записанные рядом с коэффициентами в буквенном
виде неизвестные никакой роли не играют. Поэтому систему (14.3) – как и все
78
остальные вытекающие из нее системы, вплоть до (14.8) – можно записать и без
буквенных символов неизвестных в виде матрицы:
2 – 5 – 11 – 8
3 12 1 4
1–2 6 –7
(14.9)
Либо в общем виде
А(1, 1) А(1, 2) А(1, 3) А(1, 4)
А(2, 1) А(2, 2) А(2, 3) А(2, 4)
А(3, 1) А(3, 2) А(3, 3) А(3, 4)
(14.10)
Матрица представляет собой двумерный массив А. Рядом с числовой
матрицей (14.9) представлена соответствующая ей буквенная (14.10), каждый
член которой обозначается как А(J,I). Первый индекс – это строка J, второй –
столбец I. Так А(2, 4) – это число находящееся в 4-м столбце 2-й строки. В
числовой матрице А(2, 4) = 4
Напишем программу решения систем уравнений, основанную
на методе Гаусса
Программа SYST
10 CLS
15 PRINT “РЕШЕНИЕ СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ”
20 DIM A(100,100), B(100,100)
30 DATA 2,-5,-11,-8,3,12,1,4,1,-2,6,-7
40 INPUT NJ
50 NI=NJ+1
60 FOR J=1 TO NJ
70 FOR I=1 TO NI
80 READ A(J,I)
90 NEXT I
100 NEXTJ
110 GOSUB 460
120 CLS
130 M = 1
140 FOR J = 1 TO NJ
150 S = A(J,M)
160 FOR I = M TO NI
170 A(J,I) = A(J,I)/S
180 NEXT I
190 NEXT J
200 GOSUB 460
210 CLS
220 FOR I = M TO NI
230 B(M,I) = A(1,I)
240 NEXT I
260 FOR J = 2 TO NJ
270 FOR I = M TO NI
79
280 A(J-1, I) = B(M,I)-A(J,I)
290 NEXT I
300 NEXT J
310 GOSUB 460
315 CLS
320 M = M+1
330 NJ = NJ-1
335 IF M > NI–1 THEN 350
340 GOTO 140
350 FOR K=1 TO NI-1
360 M = NI-K
370 C(K) = 0
380 FOR I = M TO NI-1
390 P(M,I) = B(M,I+1)*X(I+1)
400 C(K) = C(K)+P(M,I)
410 NEXT I
420 X(M) = – (B(M,NI)+C(K))
430 PRINT “M, X(M)”; M;: PRINT USING “####.######”;X(M)
440 NEXT K
450 GOTO 550
460 FOR J=1 TO NJ
470 K1=7+2*J
480 FOR I=1 TO NI
490 K2=4+9*I
500 LOCATE K1,K2: PRINT USING “####.####”; A(J,I)
510 NEXT I
520 NEXT J
530 INPUT A$
540 RETURN
550 END
После названия программы в операторе DIM (номер 20) резервируется
место в памяти для двух двумерных массивов А и В, с максимальным размером
100*100. Массив А представляет собой матрицу коэффициентов системы
линейных уравнений вида (14.3); массив В играет служебную роль, которая
будет видна ниже.
Конкретно коэффициенты рассматриваемой системы линейных
уравнений записываются в операторе DATA. В этом операторе они
представлены по строкам исходной матрицы (14.9)
В номере 40 задается число строк в исходной матрице NJ (число
уравнений в системе), а в номере 50, определяется число столбцов NI. В
примере NJ = 3, а NI = 4.
В номерах 60 – 100 массив А построчно вводится из оператора DATA с
помощью оператора READ и двух вложенных циклов.
Строка 110 отсылает программу к записанной в строках 460 – 540
подпрограмме. Подпрограмма выводит на печать числа в матричной форме. В
данном случае выводится исходная матрица вида (14.3)
Подпрограмма состоит из 2-х вложенных циклов. После заголовка
внешнего цикла по параметру J (строка 460) в следующей строке величина
80
К1=7+2*J показывает, что верхняя строка матрицы будет располагаться на 7
экранных строк ниже верхнего края экрана, а каждая последующая строка – на
2 экранных строки ниже. Например 3 - я строка матрицы (при J = 3) будет на
7+2*3=13 строк ниже края экрана.
Под номером 480 идет заголовок внутреннего цикла (по параметру I).
Далее идет величина К2=4+9*I, которая показывает, что первое (считая слеванаправо) число каждой матричной строки будут располагаться на 4 позиции
правее левого края экрана, а каждое следующее число – на 9 позиций далее.
Например число А(2,4) (матрица 14.10) будет располагаться во второй
экранной строке на расстоянии 4 + 9 * 4 = 40 позиций от левого края экрана. В
целом указанное расположение чисел матрицы даст оператор LOCATE K1,K2:
PRINT USING “####.####”; A(J,I), – строка 500
После операторов конца цикла (строки 510 и 520) на строке 530
располагается оператор INPUT A$. Такой оператор означает требование
нажать любую клавишу. Пока клавиша не нажата изображение матрицы будет
оставаться на экране и ее можно анализировать (например, в поисках ошибки).
Нажатие же клавиши возобновит выполнение программы. Программа перейдет
к строке 540 с оператором RETURN (“ВЕРНИСЬ”) и возвратиться из
подпрограммы в основную программу к следующему после 110 GOSUB 460
оператору 120 CLS, который удалит с экрана изображение матрицы.
В строке 130 некому параметру М присваивается начальное значение
М = 1. Далее идут два вложенных цикла. После заголовка внешнего цикла
(по J) в строке 150 присваивается S = A(J,M). Т. е S – это первое (М = 1)
число каждой J – той строки. Далее идет заголовок внутреннего цикла (по I) и в
нем стоит оператор 170 A(J,I) = A(J,I)/S, означающий, что в каждой J-той
строке каждый I-тый член делится на число S. С помощью этой процедуры в
примере система уравнений 14.3 (а точнее матрица коэффициентов этой
системы (14.8)) превращается в систему (14.4), причем для верхней строки
матрицы 14.9 ( J = 1) S = 2, для средней ( J = 2) S = 3 и для нижней (J=3) S = 1.
После завершения циклов в строке 200 GOSUB 460 программа снова
обращается к подпрограмме
для
вывода на печать преобразованной
(поделенной на S) матрицы А.
В цикле по параметру I (строки 220 – 240) в операторе 230 B(M,I) = A(1,I)
верхняя (при J=1) cтрока матрицы А сохраняется под именем В.
Далее (строки 260 – 300) программа проходит два вложенных цикла с
заголовками: 260 FOR J = 2 TO NJ и 270 FOR I = М TO NI, внутри которых
осуществляется почленное, вычитание из строки В(M,I) (а по сути А(1,I)
оставшихся строк. Это делается с помощью оператора 280 A(J–1, I) = B(M,I)–
A(J,I). В примере из коэффициентов верхнего уравнения системы (14.4) : 1 -2.5
-5.5 -4) вычитаются сначала коэффициенты среднего, т. е. второго уравнения, а
потом и нижнего.
Как следует из его заголовка, внешний цикл начинается с J=2 (а не J = 1,
как обычно). В результате будет осуществлено всего только 2 цикла (для J = 2
и J = 3) и после вычитания останется только 2 уравнения (14.4). Однако верхнее
из 2-х вновь полученных уравнений будет иметь номер J = 1, т. к. согласно
81
строке 280 при начале внешнего цикла при J = 2 имеем А(2-1,I) = В(1,I) – (А(2,I)
или А(1,I)=В(1,I)–(А(2,I). Аналогично нижнее уравнение будет иметь номер 2,
несмотря на то, что оно образовалось в ходе 3-го J-го цикла. Само же
почленное вычитание осуществляется для заданных внешним циклом двух
строк в рамках внутреннего I-го цикла. Вновь полученная матрица выводится
на печать обращением к подпрограмме 310 GOSUB 460, с возвращением к
строке 315 CLS.
В результате операторов, записанных в строках 140 – 300 в примере из
3-х исходных уравнений получено два уравнения с исключением первого
неизвестного Х.
Теперь два новых уравнения подлежат аналогичной обработке с целью
исключения второго неизвестного Y. Чтобы учесть специфику этой новой
системы уравнений используются операторы: 320 M = M + 1 и 330 NJ = NJ – 1.
Действительно по сравнению с исходной матрицей в новой матрице счет ее
членов в строке должен начинаться не с 1-го (который при вычитании
обратился в 0) а со второго. Поэтому вместо первоначально объявленного
значения М = 1 (номер 130) в соответствии с номером 320 мы теперь имеем М =
2. Число строк (номер 330) сократилось на одну (их осталось 2).
С учетом изложенных обстоятельств оператор 340 GOTO 140 отправляет
программу снова на начало программы (совершает 2-й большой цикл), чтобы,
пройдя путь до оператора 300 вторично, исключить Y. После этого оператор
340 GOTO 140 пошлет программу на 3-й большой цикл и т. д.
Большой цикл задан без обычного заголовка цикла, где бы указывался
параметр цикла и необходимое число его повторений. Компьютер мог бы
“зациклиться” (циклы 140 – 300 повторялись бы бесконечно), если бы не
оператор 335 IF M > NI – 1 THEN 350. Используется то обстоятельство, что
(хотя формально это и не обозначено) большой цикл идет по параметру М, а
этот параметр с каждым циклом возрастает на 1 (строка 320). Поэтому
наступает момент, когда условие в номере 335 удовлетворяется. При этом от
исходной системы уравнений (14.3) остаются только 2 члена: предпоследний –
с одним неизвестным – и последний, “свободный” член ( уравнение (14.7).
Если условие 335 удовлетворено, то программа переходит на строку
350. С этого момента первый этап решения системы линейных уравнений
(последовательное исключение неизвестных) закончен и начинается
второй – последовательное нахождение значений неизвестных. Этот
процесс идет в порядке, обратном порядку первого этапа ( в примере
первым определяется Z, затем Y и, наконец, X
Второй этап включает строки 350 – 450 и построен в виде двух
вложенных циклов. Внешний цикл идет по параметру К, изменяющемуся от 1
до NI-1 (в примере от 1 до 3). В следующей строке 360 M = NI - K
устанавливается связь между новым параметром К и ранее использованным
параметром большого цикла М. В строке 370 “обнуляется” сумма С(К) для
каждого внешнего цикла.
82
Внутренний цикл заключен между строками 380 – 410. Параметр
внутреннего цикла I задается от М до NI-1. Определяется многочлен 390
P(M,I) = B(M,I+1)*X(I+1).
Далее в строке 400 эти многочлены суммируются и внутренний цикл
закрывается. Наконец в строке 420 X(M) = – (B(M,NI)+C(K)) для каждого
значения М (и связанного с ним К ) определяется значение очередного
неизвестного. В строке 430 это значение печатается и цикл завершается.
Управление передается на конец программы 550 END.
Рассмотрим второй этап, используя пример. В начале внешнего цикла
при К = 1, имеем согласно номеру 360 М = 4 – 1 = 3. Произведя обнуление
суммы С(3), перейдем к внутреннему циклу по параметру I. Заголовок цикла
380 FOR I = M TO NI-1 для данного конкретного случая переводится как FOR I
= 3 TO 3 (т. к. NI = 4). То есть цикл проводится только один раз при I = 3.
Далее вычисляем многочлен 390 Р(3,3) = В(3,4)*Х(4). В операторе 230
B(M,I) = A(1,I) установлено, что В(М, I) есть верхняя (1-я) строка матрицы в
большом цикле номер М после деления на первый член строки. В примере это
матрица коэффициентов уравнения (14.8): 1Z – 0.3086 = 0, к которому свелась
исходная система после 3-го (М = 3) преобразования. Член строки В(3,3)
необходимо еще помножить на неизвестную Х(4), но т. к. ее значение не
определено, то компьютером оно принимается за 0. Отсюда Р(3,3) = 0
Оператор 400 дает С(3) = С(К)+Р(3,3) = 0 + 0 = 0
После конца цикла (410) стоит оператор 420 X(M) = – (B(M,NI) + C(K))
Определяется неизвестная Х(3) т. е. Z. Имеем X(3)= – (–0.3086+0) = 0.3086, т. к.
согласно (14.8) В(3,4)= – 0.309
Далее согласно внешнему циклу имеем К=2 и М=2. Перейдя к заголовку
внутреннего цикла (380), видим, что он повторяется дважды для I=2 и I=3.
Для I=2 оператор 390 дает Р(2,2) = В(2,3) * Х(3). При М=2 (во 2-м
большом цикле) исходная система уравнений уравнение свелась к (14.6):
1Y + 0.897Z + 0.821 = 0
1Y + 23.0Z – 6.0 = 0 ,
причем матрица коэффициентов верхней строки В(2.I) = 1 + 0.897 + 0.821.
Откуда В(2.3) = 0.897 (счет идет от начала строки исходной матрицы, причем в
данном случае В(2,1) = 0). В(2,3)*Х(3) = 0.897*(0.309)= 0.277. Оператор 400
дает С(2) = 0 + 0.277 = 0.277
Для I = 3 Р(2,3) = В(2,4)*Х(4) =0 и С(2)=0.277+0 = 0.277. Отсюда
номер 420 дает Х(2) = – (В(2,4) + С(2)= – (0.821 + 0.277)= – 1.097
Далее согласно внешнему циклу имеем К=3 и М=1. Внутренний цикл
(380), повторяется трижды: для I = 1, I = 2 и I = 3.
Для I=1 Р(1,1)= В(1,2)*Х(2). Т. к. В(1,I) = 1 -2.5 -5.5 - 4, то В(1,2)=–2.5 и
значит Р(1.1)=–2.5*–1.097=2.742 и С(1)= 2.742
Для I=2 Р(1,2)= В(1,3)*Х(3). или Р(1.3)=–5.5*0.309)= –1.699 и
С(1)=2.742–1.699=1.043
Для I=3 Р(1,3)= В(1,4)*Х(4) =0 и С(1) не изменяется.
83
Х(1)= – (В(1,4) + С(1) = –(–4 + 1.043) = 2.954
Рекомендуемая литература: Осн. 2 с. 56-64, 143
Контрольные вопросы
1 Преимущества и недостатки численных методов
2 Преимущества численного метода нахождения определенного
интеграла
3 Графическое изображение определенного интеграла
4 Суть численных методов нахождения определенного интеграла
5 От чего зависит ошибка нахождения интеграла численным методом
6 Два этапа решения системы линейных уравнений
7 Порядок выведения 2-мерной матрицы на печать
8 Чему равно число столбцов матрицы решения системы линейных
уравнений, если известно число строк?
9 Роль подпрограммы
10 “Большой” цикл, его роль и организация
11 Массив В и две роли, которые он играет в программе
ЛЕКЦИЯ 15. Компьютерные модели экспериментальных зависимостей
При исследовании процесса бурения часто устанавливаются зависимости
показателей бурения (механической скорости, рейсовой углубки, ресурса ПРИ,
выхода керна и т. п.) от режимных параметров. Это делается для новых
комплексов пород (ранее не встречавшихся в данном регионе), для новых типов
ПРИ, при внедрении новых способов бурения. Установление зависимостей
позволяет оптимизировать процесс бурения, например вести его с минимумом
затрат, либо с максимумом выхода керна и т. п.
Любые зависимости рассматриваются в условиях каких-то
ограничений (для определенного комплекса условий): типа месторождений,
пород, разновидностей ПРИ. Это означает, что, если, например, породы
сменятся, то полученные зависимости рейсовой углубки от режимных
параметров окажутся недействительными.
Ниже рассмотрен пример компьютерной модели зависимости скорости
бурения от осевой нагрузки для пород определенного типа. В основу
установления
зависимости
положены
данные,
полученные
на
экспериментальном стенде, типа показанного на рис. 2.3.
Методика осуществления таких экспериментов описана в лекции 3. Она
сводится к бурению ряда “скважин” в блоках, взятых из пород определенного
типа. Каждая скважина (обычно глубиной не более 1 м) бурится при каком
либо одном постоянном значении осевой нагрузки С . По окончании каждой
скважины вычисляется механическая скорость бурения:
V ji 
l ji
t ji
84
,
(15.1)
где l – рейсовая углубка (глубина “скважины ”), t – время бурения за данный
рейс
При каждом значении нагрузки бурится не одна, а несколько – m
скважин. Это делается для возможности выведения средних значений
скорости, поскольку, как указывалось выше, среднее значение более надежно,
чем одно единственное, частное значение. В формуле (15.1) j – номер
исследуемого значения осевой нагрузки, а i – номер повторного опыта при
каждом j -м значении нагрузки.
Все
факторы,
кроме
осевой
нагрузки,
должны
быть
стабилизированы, т. е. находиться у некоторых наилучших (с точки зрения
накопленного опыта) значений. Кроме типа породы сюда относятся тип и
диаметр ПРИ, режимные параметры и т. д. Чем лучше будут стабилизированы
те факторы, влияние которых в данном эксперименте не рассматривается, тем
отчетливей проявится исследуемая зависимость скорости от нагрузки.
Целью исследования является получение уравнения экспериментальной
зависимости – так
называемого уравнения регрессии.
Наиболее
употребительным типом такого уравнения является степенной ряд вида
Y  a 0  a1 X  a 2 X 2  a3 X 3  ...  a k X k ,
(15. 2)
где Y – зависимая величина (в примере средняя скорость бурения), X –
независимая величина – фактор (осевая нагрузка), а0 , а1 , а2 ,..., ак – коэффициенты.
На графике уравнение регрессии изображается линией регрессии
(рис. 15.1). Рисунок демонстрирует, что через любые 2 опытные точки можно
провести прямую, через 3 точки (не лежащие на одной прямой) – квадратичную
(выпуклую или вогнутую, в зависимости от коэффициентов а0 , а1 , а2 ) параболу,
через 4 точки – кубическую параболу с одной точкой перегиба и т. д. В
варианте I (прямая) уравнение регрессии (15.2) ограничивается двумя первыми
Рис. 15.1 Зависимость линии регрессии от степени уравнения регрессии k : I –
прямая ( k =1); II – квадратичная парабола ( k =2); III – кубичная парабола ( k =3)
членами и имеет 2 коэффициента а 0 , а1 , в варианте II – тремя членами, с тремя
коэффициентами а0 , а1 , а2 и т. д. Если максимальная степень ряда (15.2)
равна k , то число его членов, коэффициентов, а также точек, через
которые можно провести, его график равно
n j = k +1
(15.3)
Максимальную степень уравнения в конкретном случае устанавливают
априори, (“до опыта”)
на основании предварительной информации об
исследуемом процессе. В частности, необходимо знание теории исследуемых
явлений. Из теории разрушения горных пород при бурении известно, что в
85
породах средней буримости зависимость скорости бурения от осевой нагрузки
(рис. 15.2) распадается на три зоны:
– зона поверхностного разрушения), с верхней границей нагрузок у ординаты I
– зона объемного разрушения, ограниченная справа ординатой II
– зона зашламования III
Рис. 15.2 Зависимость скорости от осевой нагрузки в средних породах
C min ,C max – наименьшая, и наибольшая нагрузки; C j – значение нагрузки при j том опыте: Vср j – значение средней скорости при j -том опыте (крестик на
кривой); V ji – значение скорости при i -том повторении j -того опыта, h –
интервал между задаваемыми нагрузками; I, II, III, наибольшие нагрузки,
ограничивающие зоны разрушения
Интервал нагрузок от C min до C max подбирается так, чтобы охватить все
три зоны:
В первой зоне разрушение из-за недостаточной нагрузки
идет
неэффективно; рост нагрузки слабо влияет на рост скорости. Скорость низка и
линия зависимости – полога.
Во второй зоне разрушение эффективно, линия зависимости круто
поднимается.
В третьей зоне образующееся при бурении с очень высокой нагрузкой
количество шлама настолько велико, что промывка не в состоянии его
полностью удалять. Подачи насоса недостаточно. Идет накопление шлама, и
скорость бурения почти не растет. Намечается тенденция к ее падению.
Вид зависимости скорости от нагрузки, представленный на рис 15.2,
характерен только для средних пород. В очень крепких (таких как
роговики) породах реально невозможно создать нагрузку вне зоны
86
поверхностного разрушения; в мягких же породах (пески) практически
любая осевая нагрузка может привести к режиму зашламования.
Кривая на рис.15.2 имеет в середине точку перегиба, левее которой темп
нарастания скорости с нагрузкой возрастает, а правее убывает. Здесь
соединяются две квадратичные параболы: возрастающая (вогнутая), и
убывающая (выпуклая). Если учесть, что на построение каждой из парабол
требуется по три опытных точки, то всего это даст n j = 6 опытных точки.
Согласно формуле (15.3) проходящее через эти точки уравнение будет иметь
максимальную степень k =5. Это уравнение (15.2), где вместо знаков Х стоят
обозначения осевой нагрузки С:
V  a0  a1C  a 2 C 2  a3C 3  a 4 C 4  a5 C 5
(15.4)
С помощью этого уравнения для любого значения осевой нагрузки можно
найти соответствующую скорость бурения. Но это можно сделать, только
установив значения коэффициентов от а 0 до а 5 . Чтобы найти 6 неизвестных
коэффициентов, необходимо составить систему из 6 линейных уравнений.
Это можно сделать на основании результатов опытов, проведенных в 6
опытных точках:
Vср1  a0  a1C1  a2 C1  a3C1  a4 C1  a5C1
2
3
4
5
Vср 2  a0  a1C 2  a2 C 2  a3C 2  a4 C 2  a5 C 25
2
3
4
Vср 3  a0  a1C3  a2 C3  a3C3  a4 C3  a5 C35
2
3
4
…………………………………………………
5
2
3
4
(15.5)
Vср 6  a0  a1C6  a2 C6  a3C6  a4 C6  a5C6 ,
где Vсрj средняя скорость бурения для каждого значения осевой нагрузки С j , а
J – номер опыта, меняющийся от 1 до 6. Значения всех Vсрj и С j нам известны.
Подставив скорости, и нагрузки во всех требующихся степенях и решив
систему методом, описанным в предшествующей лекции, мы решим
поставленную проблему
Компьютерная модель зависимости
Программа VfnC (V в функции от C)
10 CLS
20 PRINT “ЗАВИСИМОСТЬ СКОРОСТИ ОТ ОСЕВОЙ НАГРУЗКИ”
30 DIM V(20,10), VSR(20), C(20), A(30,30)
40 DATA 0.2,0.4,0.5, 1.2,1.4,1.4, 4.8,5.3,6.4, 9.6,10.1,11.1, 13.2,14.2,14.8, 14.9,15.1,15.7
50 CMIN=0.3: CMAX=1.8
60 N=5: L=3: NI=N+2: NJ=N+1
70 H=(CMAX-CMIN)/N
80 FOR J=1 TO NJ
90 C(J)=CMIN+H*(J-1)
100 T=10+J*6
110 LOCATE 2,2: PRINT “J”
120 LOCATE 3,2: PRINT “C”
130 LOCATE 4,2: PRINT “VSR”
140 LOCATE 2,T: PRINT USING “###”; J
150 LOCATE 3,T: PRINT USING “##.##”; C(J)
160 NEXT J
87
170 FOR J=1 TO NJ
180 VSR(J) = 0
190 FOR I=1 TO L
200 READ V(J,I)
210 VSR(J)=VSR(J)+V(J,I)
220 NEXT I
230 VSR(J)=VSR(J)/L
240 T=10+J*6
250 LOCATE 4,T: PRINT USING “###.##”; VSR(J)
260 A(J,1)=1
270 A(J,NI)= –VSR(J)
280 NEXT J
290 FOR J=1 TO NJ
300 FOR I=2 TO NI-1
310 A(J,I)=C(J)^(I-1)
320 NEXT I
330 NEXT J
340 GOSUB 810
350 CLS
360 M = 1
370 FOR J = 1 TO NJ
380 S = A(J,M)
390 FOR I = M TO NI
400 A(J,I) = A(J,I)/S
410 NEXT I
420 NEXT J
430 GOSUB 810
440CLS
450 FOR I = M TO NI
460 B(M,I) = A(1,I)
470 NEXT I
480 FOR J = 2 TO NJ
490 FOR I = M TO NI
500 A(J-1,I) = B(M,I)-A(J,I)
510 NEXT I
520 NEXT J
530 GOSUB 810
540 CLS
550 M = M+1
560 NJ = NJ–1
570 IF M > NI–1 THEN 590
580 GOTO 370
590 FOR K=1 TO NI–1
600 M = NI–K
610 C(K) = 0
620 FOR I = M TO NI–1
630 P(M,I) = B(M,I+1)*X(I+1)
640 C(K) = C(K)+P(M,I)
650 NEXT I
660 X(M) = – (B(M,NI)+C(K))
670 NEXT K
680 CLS
88
690 LOCATE 2,2: PRINT “V=”
700 FOR K=1 TO NI-1
710 K3= 4+(K–1)*12
720 LOCATE 2,K3: PRINT USING “###.###”;X(K)
730 K4=11+(K–1)*12
740 LOCATE 2,K4: PRINT “C^”
750 K5=13+(K–1)*12
760 LOCATE 2,K5: PRINT USING “#”;K-1
770 K6=14+(K–1)*12
780 LOCATE 2,K6: PRINT “+”
790 NEXT K
800 GOTO 900
810 FOR J=1 TO NJ
820 K1=7+2*J
830 FOR I=1 TO NI
840 K2=4+9*I
850 LOCATE K1,K2: PRINT USING “######.##”; A(J,I)
860 NEXT I
870 NEXT J
880 INPUT A$
890 RETURN
900 END
После заголовка программы и оператора CLS в номере 30 задаются
размерности двухмерных и одномерных индексных переменных. В операторе
40 DATA дается перечень значений скоростей бурения V ji , полученных в ходе
эксперимента (по 3 скорости для каждого значения нагрузки). В строке 50
CMIN = 0.3: CMAX = 1.8 задаются минимальные и максимальные нагрузки,
использованные в эксперименте
Далее идет строка 60 N = 5: L = 3: NI = N + 2: NJ = N + 1. В ней задается
число делений N, на которые разбивается интервал от C min до C max . Это число
на 1 меньше числа опытных точек. В примере, задуман эксперимент с 6
испытываемыми зн ачениями нагрузки, поэтому число делений равно N = 5.
Составляется NJ =6 уравнений, а каждое уравнение (вместе со свободным
членом Vср j ) содержит NI = 7 членов. При каждом значении осевой нагрузки
проводится L = 3 опыта. В строке 70 вычисляется длина деления h интервала
от C min до C max (h = 0.3 т).
В строках 80 – 160 располагается цикл по параметру J. Внутри цикла в
операторе 90 C(J) = CMIN+H*(J-1) фиксируются использованные в опыте
значения осевой нагрузки C j с изменением J от 1 до NJ (до 6). Так, С1 = C min (0.3
т), С2 = 0.3+0.3*(2–1)= 0.6 т и т. д. до С6 = 0.3+0.3*(6-1) = 1.8 т (т. е. до C max )
В операторах 100 – 150 значения нагрузки C j и соответствующие
значения J
выведены на печать в виде таблицы. Слева таблица имеет
“боковик”, содержащий названия строк J и C. Так, оператор 110 LOCATE
2,2: PRINT “J” определяет, что буква J должна быть расположена на второй
сверху строке экрана и на второй позиции от его левого края. Буква С (номер
120) располагается тоже на 2-й позиции, но одной строкой ниже (строка 3).
89
Шесть же значений нагрузки, (найденные согласно оператору 90) печатаются
на той же строке 3 друг после друга с интервалами, определяемыми
параметром 100 T=10+J*6 (с интервалами в 6 позиций, начиная с 10-й). Так С1
печатается с 10-й по 16-ю позиции, С2 – с 16-й по 22-ю и т. д. (см таблицу 15.1).
Аналогичным образом, но на строке 2 печатаются значения J.
В операторах 170 – 280 по частным значениям скоростей V ji (j – номер
опыта, а i – номер повторения j-го опыта), рассчитываются средние скорости
Vср j : После заголовка внешнего цикла (170) в строке 180 VSR = 0 производится
обнуление с целью последующего суммирования. Далее идет заголовок
внутреннего цикла: 190 FOR I = 1 TO L. В операторе 200 READ V(J,I)
производится ввод записанных в операторе DATA.значений скоростей. В
номере 210 VSR(J) = VSR(J)+V(J,I) производится суммирование L значений
скоростей
для каждого j-го значения осевой нагрузки. По окончании
внутреннего цикла в строке 230 полученная сумма VSR(J) делится на число
повторений опыта и таким образом вычисляется средняя скорость Vср j , – в
программе она названа VSR(J).
В строках 240 – 250 значения VSR(J) заносятся в таблицу вывода ниже
значений нагрузки. (В операторе 250 LOCATE 4,T: PRINT USING “###.#”;
VSR(J), указано, что запись средних скоростей производится на 4- й сверху
строке экрана). Обозначение же этой строки подготовлено выше: 130 LOCATE
4,2: PRINT “VSR”
В строках 260 и 270 подготавливаются 1-й и последний члены матрицы
А для решения системы уравнений (15.5). Первый член (260) для всех
уравнений равен 1 (что также можно представить, как C 0j ). Последний NI-й,
член (270) – это средняя скорость VSR(J), которая в уравнении приобретает
знак минус.
После окончания внешнего цикла (280) в строках 290 – 330 снова
располагаются 2 вложенных цикла. Их цель – подготовить оставшиеся члены
матрицы. Заголовок внутреннего цикла 300 FOR I=2 TO NI-1 показывает, что
этот цикл идет от 2-го до N-1 го (6-го) значения I – поскольку 1-й и 7-й члены
уже подготовлены выше. Сама подготовка: 310 A(J,I) = C(J)^(I-1) заключается
в возведении значений нагрузок в необходимые степени. Например, во третьем
(j = 3) уравнении системы (15.5 ) в его5-м по порядку члене (не считая
Vср 3  a0  a1C3  a2 C3  a3C3  a4 C3  a5 C35
2
3
4
Vср 2 ) осевая нагрузка стоит в 4-й степени. Т. к. С 3 = 0.9, то оператор 310 даст
А(3,4)=0.656
В строках 340 – 670 и 810 – 900 располагается программа решения
систем линейных уравнений, уже рассмотренная в лекции 14.
В строках 680 – 800 осуществляется вывод найденных коэффициентов в
виде уравнения регрессии типа (15.4):
V  a 0  a1C  a 2 C 2  a3 C 3  ...  a k C k ,
В примере будет выведено:
V  7.37  44.47 * C  87.02 * C 2  61.72 * C 3  22.8 * С 4  3.89 * C 5
(15.6)
90
Процедура вывода задана в строках 690 – 800. Вывод осуществляется на
второй строке экрана (во всех операторах LOCATE первая цифра – 2). В номере
690 LOCATE 2,2: PRINT “V=” указывается место начала уравнения.
Далее в рамках цикла по параметру К (строка 700) выводятся с
интервалом в 12 позиций по 6 значений циклических величин. Это:
– Значения коэффициентов (в программе они именуются Х(К). Их
расположение на строке определяет параметр К3 в операторе 720 LOCATE
2,K3: PRINT USING “###.###”;X(K). Сам же этот параметр указан выше: 710
K3 = 4+(K–1)*12. Таким образом требуется отступить от левого края на 4
позиции, отсчитать (К–1) по 12 позиций и с этого места написать значение К го коэффициента, так чтобы оно заняло 7 позиций (число решеток в операторе
PRINT USING плюс десятичная точка.
– Символ С^, который должен 6 раз стоять после каждого коэффициента в
целом определяется аналогично. Его расположение на строке определяет
параметр 730 K4 = 11 + (K–1)*12. Особенность его в том, что первое значение
С^ печатается от края экрана на расстоянии не в 4 позиции, как в 710, а в 11.
Разница 11– 4= 7 это длина коэффициента – 7 позиций
– Степень К–1. Здесь оператор 750 K5=13 + (K–1)*12 имеет начальный сдвиг на
13 позиций. Это учитывает тот факт, что стоящий перед степенью символ C^
занимает 2 позиции (11+2=13).
– Знак + для соединения.
Уравнение регрессии типа
(15.2), или конкретно (15.6) – с
найденными числовыми значениями коэффициентов à0, à1 , à 2 ...à6 –
построено в соответствии с тем принципом, что оно в обязательном
порядке должно проходить через все опытные точки. Значения функции в
точках проведения опытов (V j ) известны и без уравнения – по данным
эксперимента. Смысл уравнения (15.6) заключается в том, что оно
позволяет находить значения функции между опытными точками, т. е
проводить интерполяцию. Поэтому многочлены типа (15.6) называют также
интерполяционными полиномами. Таблица 15.1 показывает пример
интерполяции
Таблица 15.1 Расчеты с помощью уравнения (15.6)
С, т
Vт ,м/ч
0.2
1.5
Vэ ,м/ч
0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7
0.4 0.1 0.5 1.3 2.5 4.0 5.5 7.1 8.7 10. 11. 13. 14. 14. 15.
7
0
8
2
3
1
0.4
1.3
5.5
10.
14.
3
1
Продолжение таблицы
С
Vт
1.8
15.2
Vэ
15.2
1.9
14.5
В верхней строке приведены осевые нагрузки, изменяющиеся от 0.2 до 1.9
т с шагом в 0.1 т (1 кН) . Жирным шрифтом выделены нагрузки, задававшиеся
91
в ходе эксперимента. Во 2-й строке даны “теоретические” скорости бурения –
рассчитанные по уравнению регрессии (15.6) с подстановкой в него
соответствующих нагрузок из верхней строки. В нижней строке приведены
“экспериментальные ” скорости, полученные в ходе проведенных опытов при
бурении “скважин на стенде”. Видно, что в опытных точках теоретические
скорости совпадают с экспериментальными.
В промежутках между опытными точками теоретические скорости
растут с ростом осевой нагрузки. Закономерность роста соответствует рис. 15.2
и расположенным на нем зонам II и III. Во второй зоне (зона объемного
разрушения) рост весьма интенсивный, в третьей (зона зашламования) рост все
более замедляется. И только в зоне I в интервале нагрузок от 0.3 до 0.6 т
полученная кривая дает сомнительные данные: У значения нагрузки 0.4 т
кривая регрессии дает минимум скорости, который здесь не ожидается. Вопрос
можно решить, проведя в точке 0.4 т дополнительный опыт и затем (с
участием полученных в нем данных) сделав повторный расчет уравнения
регрессии
Интерполяционные полиномы типа (15.6) иногда применяют и для
экстраполяции (т. е за пределами интервала от C min до C max ). Однако, как
правило, это рискованно. В таблице 15.1 есть две экстраполяционные точки –
при нагрузках в 0.2 и 1.9 т. В последнем случае – падение скорости до 14.5 м/ч
ожидается, т. к. с ростом нагрузки резцы глубоко входят в породу, уменьшая
зазор с телом коронки и ухудшая условия выноса шлама. Говорят, что коронка
“садится” на шлам, затрудняя процесс углубки. В первом же случае “подскок”
скорости до 1.5 м/ч при снижении нагрузки до 0.2 т вряд ли реален.
Рекомендуемая литература: Осн. 2 с. 93-117, 5 с. 188-167
Контрольные вопросы
1 Что такое оптимизация процесса бурения
2 Типы зависимостей
3 Методика изучения экспериментальных зависимостей на стенде
4 Почему при каждой нагрузке проводится несколько опытов
5 Что такое линия и уравнение регрессии
6 Как зависит степень уравнения регрессии от числа точек,
через которые проходит линия регрессии
7 Зоны, на которые подразделяется зависимость скорости от осевой
нагрузки
8 С какой целью составляется система линейных уравнений и по
каким данным
9 Что такое интерполяция; почему рассмотренное уравнение
регрессии азывают еще интерполяционным многочленом
92
2.3. Планы практических занятий
Практическая работа 1
Изучение основ математической статистики и статистических моделей
Задание: Изучение основных понятий мат.статистики. Решение типичных
статистических задач. Методика выполнения состоит в проведении расчетов,
связанных со статистическими распределениями экспериментальных данных.
Используемая литература: Осн. 5. с. 78-124
Контрольные вопросы
1 Понятие о генеральной совокупности.
2 Понятие о выборке из генеральной совокупности
3 Статистические распределения и их важнейшие характеристики
4 Понятие о вариационных рядах: упорядоченные и неупорядоченные ряды
5 Сгруппированные ряды их назначение и методика построения
6 Определение средних значений и средних квадратических отклонений для
сгруппированных и несгруппированных рядов
7 Переход от выборки к генеральной совокупности, теоретические
распределения
8 Понятие о нормальном распределении и распределении Стьюдента
9 Основные задачи, решаемые с помощью теоретических распределений
10 Ошибка среднего значения выборки. Необходимое число членов в выборке
12 Задача о существенности различий средних значений по двум выборкам
Практическая работа 2
Изучение математических основ компьютера
Задание: Получить понятие о позиционных системах счисления и, в частности,
о 2-ичной системе. Методика выполнения состоит в проведении расчетов по
основным арифметическим действиям в 2-ичной системе.
Используемая литература: Осн. 3. с. 6-21
Контрольные вопросы
1 Перевод чисел из 10-ичной системы в 2-ичную
2 Перевод чисел из 2-ичной системы в 10-ичную
3 Сложение в 2-ичной системе (в сравнении с 10-ичной)
4 Два способа вычитания в 2-ичной системе (в сравнении с 10-ичной)
5 Замена вычитания в 2-ичной системе сложением в дополнительном коде
6 Умножение в 2-ичной системе (в сравнении с 10-ичной)
7 Деление в 2-ичной системе (в сравнении с 10-ичной)
8 Перевод чисел из 2-ичной системы в 8-ричную и обратно
9 Перевод чисел из 2-ичной системы в 16-ричную и обратно
Практическая работа 3
Изучение физических основ компьютера
Задание. Получить понятие о физических основах компьютера. Методика
выполнения состоит в изучении текстов и схем, а также работы
93
соответствующих устройств с целью составления письменных ответов на
следующие вопросы.
Используемая литература: Доп 8 с 88-112
Контрольные вопросы
1 В чем причина быстродействия компьютера
2 Вакуумный диод, устройство и работа; направление тока
3 Вакуумный триод, устройство и работа; роль сетки
4 Полупроводники, отличия от проводников и диэлектриков
5 Сколько электронов во внешнем слое атомов кремния и германия; роль этих
электронов
6 Что получается при загрязнении кремния (германия) а) сурьмой; б) индием;
какой тип проводимости получается в результате; название таких
полупроводников
7 Полупроводниковый диод, устройство и работа; направление тока
8 Полупроводниковый триод, устройство и работа; роль базы
9 Устройство и работа триггера; входы и выходы; назначение триггера
Практическая работа 4
Изучение элементов структуры процессора
Задание. Получить понятие об элементах структуры процессора. Методика
выполнения состоит в изучении текстов и схем с целью составления
письменных ответов на следующие вопросы.
Используемая литература: Осн. 3. с 190 –204
Контрольные вопросы
1 Назначение и устройство регистра
2 Работа регистра
3 Назначение и устройство счетчика
4 Работа счетчика
5 Элементы алгебры Буля и их схемное воплощение
6 Устройство и работа одноразрядного сумматора
7 Устройство и работа многоразрядного сумматора
8 Назначение и устройство дешифратора
9 Работа дешифратора
Практическая работа 5
Изучение элементов языка Бейсик
Задание: Освоить важнейшие элементы языка Бейсик. Методика выполнения
состоит в изучении нижеприведенных элементов и составлении, отладке и
анализе простейших компьютерных моделей на темы буровых работ.
Используемая литература: Осн. 1 с. 4-36, Доп. 6 с. 4-164, Доп. 7 с. 4-264
Контрольные вопросы
1 Алфавит и символы математических операций
2 Стандартные функции
3 Представление чисел
4 Переменные и константы
94
5 Ввод данных с помощью специального оператора. Комментарий и его цель
6 Ввод данных с помощью оператора присваивания
7 Вывод результатов. Форматы выводимых данных
8 Представление формул; приоритетность операций, роль скобок
9 Структура программы
10 Операторы условного и безусловного перехода
11 Функции пользователя и подпрограммы
12 Расположение результатов расчета на экране с помощью оператора Locate
Практическая работа 6
Цикловые операции в языке Бейсик
Задание: Освоить цикловые операции и массивы. Методика выполнения
состоит в изучении таких операций и составлении, отладке и анализе
компьютерных моделей на темы буровых работ
Используемая литература: Осн. 1. с. 47-57, Доп. 6 с. 4-164, Доп. 7 с. 4-264
Контрольные вопросы
1 Операторы начала и конца цикла и их расшифровка
2 Индексные переменные и массивы; виды массивов
3 Оператор DIM, его оформление и смысл. Когда этот оператор может быть
опущен.
4 Оператор DATA и порядок его использования для ввода массивов
5 Оператор READ и порядок его использования для вывода массивов
6 Ввод, обработка и вывод данных в рамках одномерного цикла
7 Ввод, обработка и вывод данных в рамках двумерного цикла
8 Использование циклов для составления таблиц с определенным шагом
9 Вывод результатов цикловых расчетов на экран. Выбор формата
10 Возможность просмотра результатов расчета при большом количестве
данных
11 Использование оператора LOCATE для вывода на экран таблиц и матриц
Практическая работа 7
Некоторые приемы программирования
Задание: Освоить важнейшие приемы программирования. Методика
выполнения состоит в изучении этих приемов и составлении, отладке и анализе
соответствующих компьютерных моделей на темы буровых работ, требующих
статистической обработки .
Используемая литература: Осн. 1. с. 50, 54, Доп. 6 с. 4-164, Доп. 7 с. 4-264
Контрольные вопросы
1 Проведение суммирования индексных переменных в цикле
2 Смысл операторов С = 0 и С = С + Н(I)
3 Нахождение максимума ряда положительных индексных переменных
4 Смысл операторов MAX = 0 и IF A(I) > MAX THEN MAX = A(I)
5 Нахождение максимума ряда, состоящего из отрицательных величин
6 Нахождение минимума ряда индексных переменных
7 Расположение ряда значений в порядке возрастания
95
8 Расположение ряда значений в порядке убывания
9 Почему для упорядочения ряда индексных переменных используются
вложенные циклы
10 Что при этом происходит во внутреннем цикле
11 Сущность операторов К = I и А(К) = 1000. Что происходит во внешнем
цикле
12 Нахождение параметров статистических распределений
Практическая работа 8
Численные методы решения математических задач
Задание: Изучить и освоить численные методы решения математических задач.
Методика выполнения состоит в изучении численных методов и составлении,
отладке и анализе соответствующих компьютерных моделей.
Используемая литература: Осн.2.с.56-64,143, Доп. 6 с. 4-164, Доп. 7 с. 4-264
Контрольные вопросы
1 Численный метод нахождения определенного интеграла
2 Сущность оператора X=H/2+I*H; что определяется с помощью X
3 Сущность оператора S=Y*H.
4 От чего зависит точность нахождения определенного интеграла
5 Нахождение интеграла Гаусса
6 Два этапа, на которые распадается решение системы линейных уравнений
7 Операции, совершаемые над матрицей коэффициентов уравнений в 1-м этапе
и их отображение в программе
8 Роль параметра S = A(I,M)
9 Роль оператора B(M,I) = A(1,I)
10 Роль операторов М = М+1 и NJ = NJ-1
11 Условие перехода от первого этапа ко второму
12 Операции совершаемые во 2-м этапе и их отображение в программе; роль
параметра К
13 Роль операторов P(M,I) = B(M,I+1) * X(I+1) и С(K) = С(K) + P(M,I)
14 Роль оператора X(M)= – (B(M,NI) * X(I+1) + С(K))
15 Численный метод нахождения корней уравнений различных степеней
Практическая работа 9
Изучение экспериментальных зависимостей
Задание: Освоить компьютерный способ нахождения интерполяционных
полиномов дл однофакторных статистических зависимостей. Методика состоит
в изучении элементов таких зависимостей и составлении, отладке и анализе
компьютерных моделей на темы буровых работ.
Используемая литература: Осн.2 с.93-117, Осн.5 с.138-167, Доп. 6 с. 4-164, Доп.
7 с. 4-264
Контрольные вопросы
1 Постановка эксперимента по установлению зависимости скорости от
нагрузки
2 Соображения, по которым задаются наименьшая и наибольшая нагрузки
96
3 Три зоны зависимости скорости от нагрузки и число опытных точек, через
которые должна пройти кривая зависимости, наибольшая степень
уравнения регрессии
4 Цель повторения опытов при каждом значении осевой нагрузки
5 Процедура нахождения коэффициентов уравнения регрессии, откуда берутся
данные для составления матрицы
6 Что представляет собой последний члены строк матрицы
7 Что определяет собой оператор C(J) = CMIN+H * (J-1)
8 Что представляют собой члены матрицы, кроме последнего: как их
рассчитывают
9 Смысл выражений: VSR(J) = VSR(J) + V(J,I) и VSR(J) = VSR(J) / L
10 Окончательный вид интерполяционного полинома, для чего его используют
11 Что такое интерполяция и экстраполяция, можно ли использовать
интерполяционный
полином для экстраполяции
2.4. Планы занятий в рамках самостоятельной работы студентов под
руководством преподавателя (СРСП)
Задание: изучить
1 Условия целесообразности моделирования в
исследованиях. Этапы
2 Методы предметного и
абстрактного моделирования
3 Методы статистического моделирования
Форма
проведедения
занятий
Дискуссия
Дискуссия
Дискуссия
4 Методы компьютерного моделирования
Дискуссия
5 Общие сведения о компьютере, как инструмен
те моделирования
Дискуссия
6 Позиционные системы
счисления
Дискуссия
7 Электронные реле
Дискуссия
8 Структура процессора
Дискуссия
9 Работа процессора
Дискуссия
Методические рекомендации
Понять возможности моделирования как инструмента
исследований
Понять возможности и сферы
применения двух основных
методов моделирования
Понять возможности статистического моделирования как
дополнения к предметному
Понять возможности компьютеров
как инструмента повышения
эффективности моделирования
Уяснить общее устройство
компьютера, принципы его построения,
важнейшие характеристики
Уяснить роль 2-ичной системы
в обеспечении точности и
надежности компьютера
Уяснить роль электронных реле
в обеспечении быстродействия
компьютера
Разобраться в работе важнейших
частей компьютера
Разобраться в работе процессора
как целого
97
Литература
Осн.4.
с 4-5
Осн.4.
с 5-7
Осн.4
с. 8-10
Осн. 4
с. 10-17
Осн.4 с.3-4
3 с. 3-5
Осн. 3.
с. 6-21
Доп. 8 с 88112
Осн. 3. с
190 –204
Осн. 3. с
211 –221
10 Работа программы в
компьютерной среде
11 Элементы языка
Бейсик
12 Цикловые операции
Дискуссия
Разобраться в соотношении
пользовательской программы и
операционной системы
Тренировка Освоить основные элементы языка
Тренировка Освоить разновидности циклов в
Языке Бейсик
13 Приемы программиро- Тренировка Освоить важнейшие приемы прогвания
раммирования
14 Численные методы
Дискуссия Освоить численные методы
в математике
решения важнейших задач
15 Компьютерные модели Дискуссия Освоить компьютерные модели
экспериментальных
экспериментальных
зависимостей
зависимостей
Осн. 3. с
230 –245
Осн. 1 с.
4-36
Осн. 1. с.
47-57
Осн. 1. с.
50, 54
Осн.2.с.5664,143
Осн.2
с.93-117,
5 с.138 -167
2.5. Планы занятий в рамках самостоятельной работы студентов (СРС)
Задание: дать обзор и
классификацию
1 Областей моделирования
2 Видов моделей
3 Преимуществ компьютерного
моделирования
4 Основных признаков компьютера
5 Поколений компьютеров
6 Систем счисления
7 Полупроводниковых элементов
8 Основных блоков процессора
9 Взаимосвязей элементов процессора
10 Взаимосвязей пользовательской
программы и операционной системы
11 Структуры языка Бейсик
12 Цикловых операций
13 Областей использования
оператора LOCATE в языке Бейсик
14 Численных методов решения
математических задач
15 Экспериментальных зависимостей
Методические рекомендации
Литература
Упорядочить знания об областях
моделирования
Упорядочить знания о видах моделей
Упорядочить знания о преимуществах компьютерного моделирования
Упорядочить знания об основных
признаках компьютера
Упорядочить знания о поколениях
компьютеров
Упорядочить знания о системах
счисления
Упорядочить знания о полупроводниковых элементах
Упорядочить знания об основных
блоках процессора
Упорядочить знания взаимосвязях
элементов процессора
Упорядочить знания взаимосвязях
программы с операционной системы
Осн.4 с 2-4
Упорядочить знания о языке
программирования Бейсик
Упорядочить знания о цикловых опеРациях в языке Бейсик
Упорядочить знания об областях
использования оператора LOCATE
Упорядочить знания о численных
методах
Упорядочить знания об экспериментальных зависимостях
98
Осн.4 с 4-17
Осн.4 с.1017
Осн.4 с.3-4
3 с. 3-5
Осн. 3.
с. 307-309
Осн. 3.
с. 6-21
Доп. 8
с 88-112
Осн. 3. с
190 –204
Осн. 3. с
211 –221
Осн. 3. с
230 –245
Осн. 3. с
250 –270
Осн. 1. с.
47-57
Осн. 1. с.
26-33
Осн.2.с.5664,143
Осн.5
с.138 -167
2.6 Тестовые задания для самоконтроля
1 От чего зависит безошибочность работы исправного компьютера
А От того, что его работа основана на использовании электронных реле
В От того, что его работа основана на использовании 2-ичной системы
счисления
С От того, что его работа основана на использовании полупроводников
D От того, что его работа основана на использовании микросхем
Е От качества изготовления
2 В комплексе с каким другим оператором применяется оператор DATA
А DIM
В READ
С INPUT
D NEXT
Е PRINT
3 В комплексе с каким оператором применяется оператор FOR I =N TO M
А NEXT
В READ
С INPUT
D PRINT
Е GOTO
4 От чего зависит быстродействие компьютера
А От того, что его работа основана на использовании полупроводников
В От того, что его работа основана на использовании 2-ичной системы
счисления
С От того, что его работа основана на использовании электронных реле
D От того, что его работа основана на использовании микросхем
Е От качества изготовления
5 Что определяет оператор DIM
А Конец программы
В Конец цикла
С Размер числа
D Размер массива
Е Длину строки
6 В комплексе с каким другим оператором применяется оператор GOSUB
А READ
В RESTORE
C PRINT
D LOCATE
E RETURN
7 Какой из блоков процессора служит непосредственно для счета
А Регистр
В Сумматор
С Счетчик
D Дешифратор
99
Е Триггер
8 От чего в первую очередь зависит высокая надежность компьютера
А От того, что его работа основана на использовании электронных реле
В От того, что его работа основана на использовании 2-ичной системы
счисления
С От того, что его работа основана на использовании полупроводников
D От того, что его работа основана на использовании микросхем
Е От качества изготовления
9 Что означает оператор CLS
А Очистка экрана
В Ввод дополнительных данных
С Конец цикла
D Место расположения курсора на экране
Е Поле вывода числа
10 В комплексе с каким другим оператором применяется оператор LOCATE
А DATA
В INPUT
С DIM
D PRINT
E GOTO
11 От чего зависят малый размер и низкая стоимость компьютера
А От того, что его работа основана на использовании электронных реле
В От того, что его работа основана на использовании 2-ичной системы
счисления
С От того, что его работа основана на использовании полупроводников
D От качества изготовления
E От того, что его работа основана на использовании микросхем
12 От чего зависит смена поколений компьютеров
А От появления новых способов программирования
В От появления новых требований к компьютерам
С От появления новой элементной базы
D От роста объема использования
Е От повышения качества изготовления
13 Какой из блоков процессора служит для записи и хранения чисел
А Регистр
В Сумматор
С Счетчик
D Дешифратор
Е Триггер
14 Какие арифметические действия способен выполнять сумматор
непосредственно
А Все
В Все, кроме возведения в степень
С Все, кроме умножения, деления, возведения в степень и извлечения корня
D Только сложение и вычитание
100
Е Только сложение
15 Оператор безусловного перехода
А GOSUB
В INPUT
С IF THEN
D GOTO
Е RETURN
16 Что означает оператор LOCATE
А Установление местоположения оператор-функции
В Установление местоположения подпрограммы
С Установление местоположения оператора DATA
D Установление местоположения точки перехода в программе
E Установление места вывода на печать
17 Чем определяется точность выводимого числа
А Величиной его значения
В Ошибкой, с которой была определены исходные физические величины
С Надежностью работы компьютера
D Числом цифр после десятичной точки
Е Количеством цифр в числе
18 Чем определяется точность результата расчета на компьютере
А Величиной выведенного числа
В Ошибкой, с которой была определены исходные физические величины
С Надежностью работы компьютера
D Числом цифр после запятой
Е Количеством цифр в числе
19 Что означает оператор IF – THEN
А Заголовок цикла
В Конец цикла
С Переход в другое место программы при исполнении условия
D Очистка экрана
Е Ввод текстовой константы
20 Что означает оператор DATA
А Набор данных для ввода
В Указание даты написания программы
С Вывод данных на печать
D Требование ввести данные
Е Текстовая константа
Номер
вопроса
Правильный ответ
Номер
вопроса
Правильный ответ
Номер
вопроса
Правильный ответ
Номер
вопроса
Правильный ответ
1
2
3
4
5
B
В
А
С
D
6
7
8
9
10
E
B
C
A
D
11
12
13
14
15
Е
C
A
E
D
16
17
18
19
20
D
E
B
C
А
101
2.8 Экзаменационные вопросы по курсу
1 Модель, отличие от натурного экземпляра, виды моделей
2 Моделирование, цель, преимущества, этапы
3 Связь структуры модели с целью исследований, адекватность модели
4 Предметная модель и ее составные части; адекватность
5 Метод, который позволяет использовать результаты полученные на
уменьшенных моделях
6 Стенд для моделирования бурения, виды исследований на нем
7 Факторы, влияющие на процесс разрушения породы при бурении
8 Абстрактная модель, методика построения, адекватность
9 Сравнительные достоинства и недостатки предметных и абстрактных моделей
10 Статистическая модель, основной принцип, цель, область применения
11 Два основных показателя ряда результатов повторения опыта
12 Ошибка среднего значения результата опыта и ее зависимость от числа
повторений
13 Что такое промах и как его обнаруживают
14 Эмпирическая формула как модель экспериментальной зависимости
15 Компьютерная модель, преимущества создаваемые ее быстродействием и
точностью
16 Пользовательские языки программирования, машинный язык, операционная
система
17 Циклические операции и их применение
18 Адаптивная статистическая оптимизационная модель; ее применение в
бурении
19 Компьютер, основные блоки, виды памяти, важнейшие характеристики
20 История вычислительной техники, прототипы современного компьютера
21 Признаки современного компьютера
22 Поколения компьютеров, причина смены поколений, особенности каждого
23 Формула позиционной системы счисления; основание системы, ее цифры
24 2- ичная система, основание, цифры, Перевод в 10-тичную и из 10-тичной в
2-ичную
25 Сложение, вычитание, умножение и деление в 2-ичной системе
26 Преимущества и недостатки 2-ичной системы счисления
27 Устройство работа и назначение вакуумного диода
28 Устройство, работа и назначение вакуумного триода
29 Полупроводники; сравнительные особенности с проводниками и
диэлектриками
30 Кристаллическая решетка кремния и германия, ее загрязнение сурьмой и
индием
31 Устройство работа и назначение полупроводникового диода
32 Устройство работа и назначение транзистора
33 Устройство работа и назначение триггера
34 Устройство работа и назначение счетчика импульсов
102
35 Алгебра Буля, основные операции, область применения
36 Операция “ ИЛИ ” и ее схемное воплощение
37 Операция “ И ” и ее схемное воплощение
38 Операция “ НЕ ” и ее схемное воплощение
39 Устройство работа и назначение одноразрядного сумматора
40 Устройство работа и назначение 3-х и многоразрядного сумматора
41 Устройство работа и назначение дешифратора
42 Устройство процессора и взаимодействие его блоков при поступлении
команды
43 Последовательность выполнения сложения в процессоре
44 Вычитание, как сложение в дополнительном коде, последовательность
операций
45 Способ выполнения умножения в процессоре, последовательность операций
46 Способ выполнения деления в процессоре, последовательность операций
47 Распределение информации в памяти компьютера, микропрограммирование
48 Принцип автоматического программирования, языки высокого и низкого
уровня
49 Работа пользовательской программы в компьютерной среде
50 Алфавит языка Бейсик, из чего могут состоять имена переменных
51 Функции Бейсика. показательная форма представления чисел
52 Что означают функции ABS(X), FIX(X) и SIGN(X)
53 Бейсик: способы ввода данных, комментарии, их назначение и оформление
54 Бейсик: вывод данных, как ограничивается размер выводимых чисел
55 Бейсик: символы операций запись формул
56 Бейсик: приоритеты арифметических действий и роль скобок
57 Бейсик: операторы безусловного и условного перехода
58 Бейсик: функция пользователя, назначение и оформление
59 Бейсик: подпрограмма, назначение и оформление
60 Бейсик: оператор СLS, смысл, назначение, место в программе
61 Бейсик. оператор Locate, оформление, смысл, назначение
62 Бейсик: оператор цикла. оформление, смысл, работа
63 Бейсик: индексные переменные и массивы, виды массивов
64 Бейсик: оператор DIM, оформление и назначение
65 Бейсик: способы ввода и вывода одномерных массивов. Оператор DATA
66 Бейсик: операторы DATA и READ, оформление, назначение, размещение в
программе
67 Бейсик: двумерные и многомерные вложенные циклы; ввод 2-х мерной
матрицы
68 Бейсик: получение таблицы зависимости при изменяющемся с шагом
аргументе
69 Бейсик: организация просмотра выводимых в цикле данных, если их
количество не умещается на экране
70 Бейсик: как организовать суммирование ряда значений в цикле
71 Бейсик: смысл оператора С = С + А(I)
72 Вычисление параметров, для сравнительной оценки 2-х разных типов долот
103
73 Сравнительные особенности алмазных и шарошечных долот, области
применения
74 Принцип нахождения максимального значения из ряда чисел
75 Принцип нахождения минимального значения из ряда чисел
76 Сортировка ряда чисел по возрастанию и принцип ее осуществления
77 Численные методы решения математических задач преимущества и
недостатки
78 Принцип, используемый при численном методе нахождения определенного
интеграла
79 Ошибка численного метода нахождения интеграла, способ ее уменьшения
80 Чем численный метод нахождения определенного интеграла лучше
аналитического
81 Два этапа решения системы линейных уравнений по методу Гаусса
82 Чему равно число строк и столбцов матрицы системы линейных уравнений
83 “Большой” цикл по параметру М в программе решения системы уравнений,
как он организован, какие операции включает
84 Массив В в программе решения системы уравнений, его структура и две
задачи, выполняемые с его помощью
85 Что такое оптимизация процесса бурения, по каким параметрам она
проводится
86 Методика изучения зависимостей на экспериментальном стенде
87 Зоны, на которые подразделяется зависимость скорости от осевой нагрузки
88 Почему при установлении зависимости скорости от нагрузки при каждой
нагрузке бурится несколько “скважин”
89 Что такое линия и уравнение регрессии, структура уравнения регрессии и
его степень
90 С какой целью и на основе каких данных при поисках экспериментальной
зависимости строится система линейных уравнений
91 Что такое интерполяция; почему уравнение регрессии
называют еще интерполяционным полиномом
92 Большие интегральные схемы: устройство и преимущества, которые они
обеспечивают
93 От чего зависит погрешность числа, с чем это связано
ГЛОССАРИЙ
АВТОМАТИЧЕСКОЕ
ПРОГРАММИРОВАНИЕ – Программирование на
языках высокого уровня в операторах, которые операционная система сама
преобразует в последовательности необходимых для компьютера детальных
команд
АДЕКВАТНОСТЬ МОДЕЛИ – Пригодность модели для выполнения
поставленной исследовательской задачи
АЛГОРИТМИЧЕСКИЙ ЯЗЫК – Язык высокого уровня, удобный для
использования специалистами различных отраслей науки и техники
104
БИБЛИОТЕКА КОМПЬЮТЕРА – Набор программ к которым процессор
обращается при необходимости вычисления стандартных функций (синус,
логарифм и т. п.) путем выполнения операций сложения
БУЛЯ АЛГЕБРА – Компьютерная алгебра, регламентирующая выполнение
процессором логических операций. Ее элементы воплощены в специальные
микросхемы
ГАУССА МЕТОД РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ – Метод,
основанный на 2-х этапах: последовательное исключение неизвестных – со
сведением их к единственному; и последовательное нахождение неизвестных
ГАУССА ИНТЕГРАЛ – Так называемый “интеграл вероятности”,
описывающий широко применяемое в статистике нормальное распределение
случайных величин
ДЕЙСТВИТЕЛЬНОЕ ЧИСЛО – Число, содержащее десятичную точку
ДЕШИФРАТОР – Устройство для превращения шифра команды в импульс для
ее выполнения
ДИОД – Устройство, пропускающее электрический ток лишь в одном
направлении
ДОВЕРИТЕЛЬНАЯ ВЕРОЯТНОСТЬ – вероятность того, что случайная
величина не выйдет за пределы некоторого, симметричного относительно
центра распределения интервала
ЗАВИСИМОСТЬ МНОГОФАКТОРНАЯ – Если на результат оказывают
влияние одновременно несколько факторов
ЗАВИСИМОСТЬ ОДНОФАКТОРНАЯ – Если на результат оказывает влияние
только один изменяющийся фактор, при постоянных прочих влияющих
факторах
ИНТЕРПОЛЯЦИОННЫЙ СТЕПЕННОЙ РЯД – Степенной ряд, график
которого проходит через опытные точки. Служит для интерполяции, т. е.
определения значении функции для значений аргумента, находящихся в
промежутках между опытными точками
КОММЕНТАРИЙ – Выводимый на экран при прогоне программы текст,
поясняющий вводимые или выводимые числовые значения
КОНСТАНТА – Величина которая в данной программе может принимать
единственное числовое значение
МАССИВ – Множество значений какой –либо физической величины
МАССИВ МНОГОМЕРНЫЙ – Массив, значения которого зависят от
нескольких координат. Они не располагаются по одной линии, а заполняют
площадь, объем или гиперпространство
МОДЕЛЬ – Образ или представитель исследуемого объекта, сохраняющий все
те его характеристики, которые существенны для цели исследования.
МОДЕЛЬ АБСТРАКТНАЯ – Модель не имеющая внешнего сходства с
исследуемым объектом, но отражающая его необходимые свойства. Это могут
быть математические уравнения, электрические и гидравлические схемы и т. п
МОДЕЛЬ КОМПЬЮТЕРНАЯ – Компьютерная программа отражающая
необходимые свойства исследуемого объекта
105
МОДЕЛЬ ПРЕДМЕТНАЯ – Обладает той же физической природой, что и
исследуемый объект. Обычно это копия исследуемого объекта, обычно иного
(часто уменьшенного)
размера, сохраняющая все важные для цели
исследования черты объекта и исключающая несущественные черты
МОДЕЛЬ СТАТИСТИЧЕСКАЯ – Предметная модель, обеспечивающая
возможность повторения опытов с целью повышения надежности результатов
исследования путем использования методов математической статистики
МОДЕЛЬ СТАТИСТИЧЕСКАЯ АДАПТИВНАЯ – Компьютерная модель,
позволяющая
статистически
обобщать
результаты
протекающего
производственного процесса, с целью последовательного улучшения качества
управления этим процессом
МОДЕЛИРОВАНИЕ– Исследование на модели, включающее ее разработку и
последующее использование с целью решения поставленной научной или
практической задачи.
МОДУЛЬ ЗАГРУЗОЧНЫЙ – Пользовательская программа, переведенная на
2- ичные коды языка компьютера и готовая к прогону
МОДУЛЬ ИСХОДНЫЙ – Пользовательская программа, на алгоритмическом
языке, введенная в оперативную память
МОДУЛЬ ОБЪЕКТНЫЙ – Пользовательская программа, в которой каждый
оператор разбит на необходимое число команд, но которая еще не переведена в
2-ичные коды
НАТУРНЫЙ ОБЪЕКТ – Природный объект, или используемый в хозяйстве
технический объект
ОПЕРАТОР УСЛОВНОГО ПЕРЕХОДА – В случае выполнения поставленного
условия он обеспечивает переход к строке с заданным номером, если же
условие не выполнено, то программа продолжает выполняться обычным
порядком
ОПЕРАТОР ЦИКЛА – Он обеспечивает заданное число повторных выполнений
некоторой группы операторов, каждый раз с новыми числовыми данными,
зависящими от номера повтора
ОПЕРАЦИОННАЯ СИСТЕМА – Программа, управляющая работой
компьютера
ПАМЯТЬ ОПЕРАТИВНАЯ – Внутренняя память компьютера, где размещена
операционная система и любая другая информация (включая пользовательские
программы), которая может в срочном порядке потребоваться оператору
компьютера
ПЕРЕМЕННАЯ – Изменяющаяся информация, содержащаяся в определенной
ячейке оперативной памяти компьютера. Номер ячейки закодирован именем
переменной
ПЕРЕМЕННАЯ ИНДЕКСНАЯ – Представляющая собой часть некоторого
массива переменная, у которой в скобках после имени помещен ее индекс,
означающий координаты этой переменной в массив. В одномерном массиве
индекс состоит из одного числа, в 2-мерном – из 2-х и т. д.
ПОДОБИЯ ТЕОРИЯ – Теория позволяющая переносить результаты,
полученные на модели, непосредственно на объект исследования
106
ПОДПРОГРАММА – Составляющая часть основной программы, которую
возможно и желательно выделить в отдельную структурную единицу
ПОЗИЦИОННАЯ СИСТЕМА СЧИСЛЕНИЯ – Система счисления, в которой
значение цифры изменяется в зависимости от ее положения в числе
ПОКАЗАТЕЛЬНАЯ ФОРМА ПРЕДСТАВЛЕНИЯ ЧИСЛА –Состоит из 2-х
сомножителей: действительного числа (обычно с одной цифрой перед
десятичной точкой и числом цифр после нее, обеспечивающим требуемую
точность); и цифры 10 в степени, соответствующей порядку числа.
Используется для очень больших или очень малых чисел
ПРОМАХ – Одно из ряда значений случайной величины, недопустимо сильно
отличающееся от всех остальных
ПРОЦЕССОР – Блок компьютера, в котором производятся арифметические и
логические операции
РЕГИСТР – Устройство для записи и хранения 2- ичных чисел
РЕГРЕССИИ ЛИНИЯ – График уравнения экспериментальной зависимости
СОРТИРОВКА – расположение числового ряда по возрастанию или убыванию
СРЕДНЕЕ КВАДРАТИЧЕСКОЕ ОТКЛОНЕНИЕ – Характеризует разброс
значений случайной величины относительно центра распределения
СТЬЮДЕНТА КРИТЕРИЙ – Позволяет получить вероятность нахождения
случайной величины в заданном интервале с учетом имеющегося числа
значений этой величины, которое не превышает 30.
СУММАТОР – Блок процессора, суммирующий 2-ичные числа
СЧЕТЧИК – Блок процессора, позволяющий считать импульсы (например для
установления числа выполненных команд)
ТРАНЗИСТОР – Устройство, состоящее из 2-х полупроводников одного типа
проводимости с расположенной между ними
тонкой прослойкой
полупроводника другого типа, способное работать в качестве электронного
реле
ТРАНСЛЯТОР – Часть операционной системы, обеспечивающая перевод
программы (исходного модуля), написанной на языке высокого уровня
в
программу на языке компьютера (загрузочный модуль)
ТРИГГЕР – Состоящее из 2-х транзисторов устройство для записи и хранения
2-ичной цифры
УСТАНОВКА ЭКСПЕРИМЕНТАЛЬНАЯ – Установка для проведения
экспериментов на предметной модели. Включает
саму модель,
исполнительные механизмы и датчики КИП
107
Содержание
Учебная программа
Лек. 1 Модели и моделирование
Лек. 2 Предметные и абстрактные модели
Лек. 3 Статистические модели
Лек. 4 Компьютерные модели
Лек. 5 Общие сведения о компьютере
Лек. 6 Математические основы компьютера
Лек. 7 Физические основы компьютера
Лек. 8 Элементы структуры процессора
Лек. 9 Устройство и работа процессора
Лек. 10 Работа программы в компьютерной среде
Лек. 11 Бейсик. Простейшие модели
Лек. 12 Цикловые операции в языке Бейсик
Лек. 13 Некоторые приемы программирования
Лек. 14 Численные методы решения математических задач
Лек. 15 Компьютерные модели экспериментальных зависимостей
Планы практических работ
Планы СРСП
Планы СРС
Тестовые задания для самоконтроля
Экзаменационные вопросы
Глоссарий
108
3
6
11
17
21
25
30
29
36
43
50
54
57
64
68
75
84
93
97
99
102
104
Выходные сведения
УМК обсужден на заседании
кафедры “Технология и
техника бурения скважин “
Протокол № 3 от 10.11.11
УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС
по дисциплине “Моделирование процесса бурения ”
для специальности 5D070800 “Нефтегазовое дело”
Билецкий Мариан Теодорович
Подписано в печать
Формат 60х84 1/16. Бумага книжножурнальная. Объем
Отпечатано в типографии КазНТУ имени К.И. Сатпаева
г.Алматы, ул. Ладыгина 32
109
110
Download