Главная страница
Навигация по странице:

  • 5.4. Этапы моделирования Создание компьютерной модели разбивается на несколько этапов: 1. Постановка задачи

  • Тестирование

  • Анализ результатов моделирования

  • 5.5. Вопросы для самопроверки по теме 5

  • 6.2. Основные типы алгоритмических структур и их блок - схемы – линейная

  • Цикл со счѐтчиком

  • 6.3. Примеры блок - схем алгоритмов

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

  • 6.5. Вопросы для самопроверки по теме 6

  • Лекции по информатике учебно методическое пособие


    Скачать 0.99 Mb.
    НазваниеЛекции по информатике учебно методическое пособие
    Дата16.11.2018
    Размер0.99 Mb.
    Формат файлаpdf
    Имя файла1599.pdf
    ТипЛекции
    #56701
    страница7 из 10
    1   2   3   4   5   6   7   8   9   10
    5.3.
    Базы данных и базы знаний
    В наше время любой специалист независимо от сферы дея- тельности в той или иной мере занимается сбором, накоплением, сор- тировкой разнообразных данных и прочими операциями их обработ-

    63 ки. При структурировании данных по реляционному типу в состав базы обычно входят следующие средства: таблицы, запросы, формы, отчеты, макросы и модули.
    Таблицы – в них накапливается информация, которая вводится с клавиатуры.
    Запросы – программы, которые манипулируют данными из таблиц и в черновом виде подготавливают ответы на типовые вопро- сы пользователей.
    Формы – программы, размещающие на экране нужную поль- зователю информацию. Формы используются для вывода тех сведе- ний, которые достаточно просмотреть с экрана и на принтер выво- дить не нужно.
    Отчеты – программы, подготавливающие информацию для вывода на принтер.
    Макросы и модули – программы, в которых производится такая обработка информации, которая недоступна каждому из перечислен- ных выше средств по отдельности.
    Наряду с базами данных в настоящее время при моделирова- нии плохо формализованных задач используют базы знаний.
    Базы знаний в отличие от баз данных содержат в себе не только фактиче- скую информацию, которая является постоянной для данной пред- метной области, но и правила вывода, допускающие автоматические умозаключения о вновь вводимых фактах, то есть моделируют
    «осмысленную» обработку информации с помощью правил логики.
    Компьютерные модели таких задач называются интеллектуальны-
    ми системами. Математические методы, по которым работают ин- теллектуальные системы, называются методами искусственного
    интеллекта. В их основе лежат эвристические приѐмы. Эвристика
    – это неформализованная процедура, сокращающая количество шагов поиска решения за счет некоторого способа направленного поиска решения, а не простого перебора всех возможных вариантов. Часто считается, что база знаний отличается от базы данных именно нали- чием механизма вывода новых знаний из старых. Еще одна особен- ность, которая закладывается в базы знаний, это выдача системой
    «объяснения» хода ее рассуждений при поиске ответа.
    Наиболее известный класс интеллектуальных систем — это экспертные системы (ЭС). Эти системы рассматриваются как модели

    64 поведения экспертов в определенной области знаний. База знаний ЭС создается при помощи трех групп специалистов:
    – эксперты той проблемной области, к которой относятся зада- чи, решаемые ЭС;
    – инженеры по знаниям, являющиеся специалистами по разра- ботке интеллектуальной информационной системы (ИИС);
    – программисты, осуществляющие реализацию ЭС.
    ЭС может функционировать в 2-х режимах: ввод фактов по данной предметной области или проведение консультаций. В режиме ввода знаний эксперт с помощью инженера по знаниям вводит из- вестные ему сведения о предметной области в базу знаний ЭС. В режиме консультации пользователь ведет диалог с ЭС, сообщая ей сведения о текущей задаче и получает рекомендации ЭС, сопровож- дающиеся «объяснением хода ее рассуждений». Например, в сфере тушения лесных пожаров на основе информации о пожаре (описание растительности в данной области, сводка погоды и т. п.), выдаѐтся некая рекомендация относительно стратегии борьбы с данным пожа- ром (оценка требуемых ресурсов, рекомендации по размещению тех- ники и т. п.)
    5.4.
    Этапы моделирования
    Создание компьютерной модели разбивается на несколько этапов:
    1. Постановка задачи:описание сущности, подлежащей моделированию, цели исследования и той информации о моделируе- мом объекте, которую необходимо учитывать в связи с поставленной целью.
    2. Разработка модели: выбор типа создаваемой модели
    (предметная, компьютерная, математическая и т. п.) и ее реализация.
    Если выбран компьютерный тип модели, создается соответствующая программа.
    3. Тестирование модели: проведение компьютерного или натурного эксперимента на тестах. Тест – набор данных, для кото- рых заранее известен результат.
    Для компьютерных программ применяются разные технологии тестирования. Если тестируется программа, которая получена путем внесения изменений, улучшающих ранее работавшую программу, то, чтобы убедиться, что внесенные изменения не испортили ее, в пер-

    65 вую очередь ее проверяют на тех тестах, по которым проверяли пре- дыдущую программу, Такое тестирование называется регрессион-
    ным. Тестирование новых сложных программ разбивается на два этапа: альфа-тестирование – это проверка программы на тестах, ко- торые составил ее разработчик. Бета-тестирование – передача про- граммы заказчикам в бесплатное пользование с условием, что при возникновении ошибок в работе разработчик будет уведомлен об этом.
    4. Анализ результатов моделирования: процесс проверки правильности модели на совокупности тестов, охватывающих все диапазоны моделируемых параметров. Если результаты соответст- вуют цели, построение модели закончено, и можно использовать мо- дель для прогнозирования реальных результатов. В противном случае модель уточняется за счет введения в нее новых данных, не учтенных на первом этапе или изменяется ее реализация.
    5.5.
    Вопросы для самопроверки по теме
    5
    Задание № 1. Укажите отличие модели от реального объекта, явления или процесса.
    Задание № 2. Процесс описания объекта на искусственном языке на- зывается ___.
    Задание № 3. В основе методов искусственного интеллекта лежат
    ___.
    Задание № 4. Отличительной чертой интеллектуальных систем явля- ется ___.
    Задание № 5. Можно ли отнести к плохо формализованным задачам задачи, приводящие к трудоѐмким расчѐтам по известным формулам?
    Задание № 6. Какие методы используют для плохо формализованных задач?
    Задание № 7. К какому классу моделей относится рецепт кушанья?
    Задание № 8. Модель гравитационного взаимодействия двух тел, за- писанная в виде формул, это ___.
    Задание № 9. Моделью Земли для определения законов еѐ движения вокруг Солнца является: ___.
    Задание № 10.Укажите этап, на котором осуществляется определение целей моделирования.
    Задание № 11. Термины иерархическая, сетевая, реляционная – это
    ___.

    66
    Задание № 12. Дана таблица моделирования:
    1 моделируемый процесс
    A ракета
    2 моделируемый объект
    B исследование траектории
    3 цель моделирования
    C полѐт ракеты
    4 моделируемые характеристики
    D координаты местоположения
    Укажите правильный порядок установки соответствия в этой табли- це.
    Задание № 13. Дана таблица моделирования:
    1 моделируемый процесс
    A человек
    2 моделируемый объект
    B разработка метода лечения
    3 цель моделирования
    C температура и давление
    4 Моделируемые характери- стики
    D влияние лекарства на состояние больного организма
    Укажите правильный порядок установки соответствия в этой табли- це.
    Задание № 14. Укажите, какие модели относятся к классу предмет- ных:
    1. модель молекулы в виде кристаллической решѐтки;
    2. алгоритм работы станка с числовым программным управлением;
    3. макет нефтяной вышки;
    4. электрическая схема радиоприемника.
    Задание № 15. Укажите типы моделей в классификации по фактору времени.
    Задание № 16. Эвристика – это ___.
    Задание № 17. Аэродинамическая труба это ___.
    Задание № 18. Укажите типы тестирования компьютерных моделей.

    67
    6.
    АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
    6.1.
    Понятие алгоритма и его свойства
    Алгоритм – это чѐтко определѐнная последовательность дей- ствий, описывающих процесс преобразования объекта из начального состояния в конечное с помощью понятной исполнителю последова- тельности команд.
    Из этого определения следует, что правильно составленный алгоритм характеризуется следующими свойствами:
    дискретностью, т. е. представлен в виде последовательно- сти команд, которые исполнитель должен выполнять одну за другой;
    понятностью, т. е. должен содержать только те команды, которые входят в систему выполняемых команд исполнителя;
    детерминированностью, т. е. алгоритм должен быть пред- ставлен таким образом, чтобы, выполняя очередную команду, испол- нитель точно знал, какую команду следует выполнять следующей;
    результативностью, т. е. алгоритм должен обеспечить пре- образование от начальных данных к результату за конечное число команд.
    Для графического представления алгоритмов компьютерных программ используют специальные обозначения. Основные из них:
    – начало/конец алгоритма
    – проведение расчѐтов да нет
    – проверка условий
    Подписано в печать **.**.2013. Формат 60 84 1/16
    Усл. печ. л. 1,63. Печ. л. 1,75. Уч.-изд. л. 1,63.
    Тираж 120 экз. Заказ № С5
    – ввод/вывод информации без уточнения устройства

    68
    6.2.
    Основные типы алгоритмических структур и их блок
    -
    схемы
    линейная – каждое действие должно быть выполнено после- довательно одно за другим:
    ветвление – в зависимости от выполнения или невыполне- ния указанного условия реализуется та или иная последовательность команд:
    цикл – серия команд (тело цикла) выполняется многократ- но. Разновидности циклов:
    Цикл со счѐтчиком – выполняется заранее определѐнное ко- личество раз:
    Цикл с предусловием – проверяется условие и, если оно вы- полняется, то тело цикла (тц) повторяется, если нет – происходит пе- реход к действию, следующему за телом цикла. Если условие не вы- полняется при первой проверке, то тело цикла не выполняется ни од- ного раза: условие тц да нет
    Тело цикла действия при верном условии условие действия при не- верном условии да нет

    69
    Цикл с постусловием – тело цикла (тц) выполняется, затем проверяется условие и, если оно не выполняется, то тело цикла по- вторяется, если выполняется, то происходит переход к действию, следующему за телом цикла. В этом варианте тело цикла выполняет- ся хотя бы один раз всегда.
    6.3.
    Примеры блок
    -
    схем
    алгоритмов
    1. Суммирование/произведение заранее определѐнного коли- чества слагаемых/сомножителей:


    i
    i
    f
    S
    ,


    i
    i
    f
    P
    , где f
    i
    – алгоритм расчета i-го слагаемого/сомножителя, , – грани- цы изменения индекса i.
    2. Суммирование слагаемых f
    i
    до тех пор, пока выполняется условие
    f
    i
    > . условие тц да нет
    i = ,
    S = S + f
    i
    S = 0
    i = ,
    P = P * f
    i
    P = 1

    70 3. Алгоритм вычисляет a = 2 4
    4. Алгоритм вычисляет x = 3; y = 4,5.
    5. При n = 8 алгоритм вычисляет для элементов массива A значения 4, 16, 36, 64 соответственно.
    6. Алгоритм вычисляет a = 1 * 2 * 3 * 4.
    x = 0
    x >= y
    x = x+1
    y = 0
    x <= 4
    y = x * x / 2 да нет
    Вывод x, y да нет
    i := 2
    i <= n
    a
    i
    := i * i
    i := i + 2 да нет
    k := 1
    a := 1
    k < 5
    a := a * к
    k := k + 1 да нет
    k := 1
    a := 1
    k < 5
    a := a * 2
    k := k + 1 да нет
    f
    i
    >
    S = S + f
    i
    i = i + 1 да нет
    S = 0
    i = 0
    Расчет f
    i

    71 7. Задан одномерный массив Х: x
    1
    , x
    2
    , …, x
    n
    . Приведѐнный фрагмент программы определяет сумму положительных элементов массива Х.
    8. Представленный фрагмент блок-схемы вычисляет количест- во нулевых элементов в массиве Х, состоящем из n элементов.
    6.4.
    Примеры алгоритмов, составленных в псевдокоде
    Сложные алгоритмы удобнее записывать на псевдокоде, кото- рый включает фразы естественного языка и общепринятые математи- ческие обозначения, оформленные по стандартам, принятым в алго- ритмических языках.
    1. После выполнения представленного фрагмента программы переменная у приняла значение 10. Каким было значение х перед входом в этот фрагмент?
    y := x – 1; x := y + 2; y := x + y ; вывод y
    Ответ: х = 5. нет
    i := 1
    S = 0
    i < n
    S: = S + x
    i
    да да нет
    i := i
    + 1
    x
    i
    > 0 нет
    i := 1
    k := 0
    i < n
    k: = k + 1 да да нет
    i := i
    + 1
    x
    i
    > 0

    72 2. Задан фрагмент алгоритма. Какими будут значения d и c на выходе, если на входе а = 8; в =3?
    1) Если а < в, то с = ва иначе с = 2 * (ав)
    2) d = 0 3) Пока с > А выполнять: d = d + 1;c = c – 1
    Ответ. При на выходе из этого фрагмента переменные d и c примут значения: d = 2; c=8 3. Представлен алгоритм (div(x,y) - целочисленное деление х на
    у, mod(х,у) - целый остаток от деления):
    k = 50
    Выбор при div(k,12) = 4: d := k при mod(k,12) < 5: d := 2 при mod(k,12) > 9: d := 3 иначе d := 1
    Всѐ
    Ответ. Значение переменной d после выполнения алгоритма равно 2 4. Представлен алгоритм (mod(х,у) - целый остаток от деле- ния):
    k = 70
    Выбор при mod(k,12) = 7: d := k при mod(k,12) < 5: d := 2 при mod(k,12) > 9: d := 3 иначе d := 1
    Всѐ
    Ответ. Значение переменной d после выполнения алгоритма равно 3 5. Представлен фрагмент программы:
    x := 9; y := 7; p := x= y; q := y > x; p := p and q
    Ответ. В результате выполнения фрагмента программы переменные
    p и q примут значения p = false; q = false

    73
    6.5.
    Вопросы для самопроверки по теме
    6
    Задание № 1. Перечислите основные свойства алгоритма.
    Задание № 2. Приведѐн алгоритм процедуры «ABCD» в псевдокоде:
    Начать
    Писать ("Введите "A,B,C,D")
    Читать(A,B,C,D)
    Если A=B то
    Если С<В то
    Х:=1
    Иначе
    Х:=2
    Иначе
    Х:=3
    Конец
    Запишите этот алгоритм математическим языком на бумаге.
    Задание № 3. Определите, какими будут значения Х и Y на выходе из этого алгоритма:
    Задание № 4. Определите значение переменной D после выполнения алгоритма (mod(х,у) – целый остаток от деления):
    k=70
    Выбор при mod(k,12)=7: D:=k при mod(k,12)<5: D:=2
    при mod(k,12)>9: D:=3
    иначе D:=1
    Всѐ
    Задание № 5. При какой организации цикла может случиться, что те- ло цикла не выполнится ни разу.
    Задание № 6. Представлен фрагмент программы:
    Y:=X+5; X:=Y; Y:=X+Y; вывод Y
    Определите значение переменной Х перед входом в этот фрагмент, если известно, что после выполнения этого фрагмента пе- ременная Y приняла значение 14.
    X=0
    X>=Y
    X=X+1
    Y=0
    X<=4
    Y=X*X/2 да нет
    Вывод X, Y да нет

    74
    Задание № 6. Укажите вариант описания, соответствующий циклу с постусловием:
    1. пока условие истинно, выполнять оператор;
    2. выполнять оператор, пока условие ложно;
    3. выполнять оператор заданное число раз;
    4. если условие истинно, выполнять оператор, иначе – остано- виться.
    Задание № 8. Определите, сколько раз тело цикла выполняется в представленном фрагменте:
    B := 10; D := 40
    Начало цикла: пока D >= B
    D := D – B
    Конец цикла.
    Задание № 9. Определите вид вывода результатов в предложенном фрагменте программы:
    X:=5
    Z:=7
    вывод ("X=",X," X=",Z,Z+X)
    1. X=5 X=712 2. "X=",5," X=",7,12 3. X=5 X=7 12 4. "X=",X," X=",Z,Z+X

    75
    7.
    ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
    7.1.
    Основные технологии программирования
    При разработке компьютерных моделей для задач, решаемых по сложным и громоздким алгоритмам, получаются длинные про- граммы, которые очень сложно отлаживать и тестировать. Для облег- чения этих работ были разработаны разные технологии программи- рования, которые упрощают структуру программы и ее отладку. Ос- новные из них:
    модульное программирование;

    программирование «снизу вверх» (восходящее программи-
    рование);
    программирование «сверху вниз» (нисходящее программи-
    рование).
    Согласно этим технологиям в алгоритме задачи выделяются модули. Модуль – это либо логически законченный фрагмент общей задачи, либо часто повторяющийся блок расчѐтов.
    Каждый модуль оформляется по определѐнным правилам в виде подпрограммы, и в текст основного алгоритма вместо него вставляется короткая инструкция вызова подпрограммы. Когда вы- полнение программы доходит до этой инструкции, выполняется фрагмент, заложенный в тело подпрограммы, после чего управление передаѐтся на команду, следующую за инструкцией вызова подпро- граммы.
    Различают
    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта