Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика ( колледж1).doc
Скачиваний:
34
Добавлен:
26.08.2019
Размер:
2.38 Mб
Скачать

4.6. Триггер, сумматор

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

Термин триггер происходит от английского слова trigger — защёлка, спусковой крючок. Самый распространённый тип триггера — так называемый RS-триггер (S и R, соответственно, от английских set — установка, и reset — сброс). Условное обозначение триггера — на рис. 4.6.

Рис. 4.6

Он имеет два симметричных входа S и R и два симметричных выхода Q и , причем выходной сигнал Q является логическим отрицанием сигнала .

На каждый из двух входов S и R могут подаваться входные сигналы в виде кратковременных импульсов ( ).

Наличие импульса на входе будем считать единицей, а его отсутствие — нулем.

На рис. 4.7 показана реализация триггера с помощью вентилей ИЛИ—НЕ и соответствующая таблица истинности.

Рис. 4.7

S

R

Q

0

0

запрещено

0

1

1

0

1

0

0

1

1

1

хранение бита

Сумматор — это электронная логическая схема, выполняющая суммирование двоичных чисел.

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

4.7. Основные законы алгебры логики

В алгебре логики выполняются следующие основные законы, позволяющие производить тождественные преобразования логических выражений:

Основные законы алгебры логики

Закон

Для   ИЛИ

Для   И

Переместительный

Сочетательный

Распределительный

Правила де Моргана

Поглощения

Склеивания

Операция переменной с ее инверсией

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

Двойного отрицания

5. Моделирование и формализация

5.1. Моделирование как метод познания

Моделирование – это метод познания, состоящий в создании и исследовании моделей.

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

Модель – это некий новый объект, который отражает существенные особенности изучаемого объекта, явления или процесса.

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

5.2. Формы представления моделей. Формализация

Все модели можно разбить на два больших класса: модели предметные (материальные) и модели информационные.

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

Информационные модели представляют объекты и процессы в образной или знаковой форме. Образные модели (рисунки, фотографии и др.) представляют собой зрительные образы объектов, зафиксированные на каком-либо носителе информации (бумаге, фото- и кинопленке и др.). Знаковые модели строятся с использованием различных языков (знаковых систем). Знаковая информационная модель может быть представлена в форме текста (например, программы на языке программирования), формулы (например, второго закона Ньютона ), таблицы (например, периодической таблицы Д.И.Менделеева) и так далее.

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

Естественные языки используются для создания описательных информационных моделей.

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

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

5.3. Системный подход в моделировании

Система является совокупностью взаимосвязанных объектов, которые называются элементами системы.

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

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

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

5.4. Типы информационных моделей

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

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

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

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

5.5. Основные этапы разработки и исследования моделей на компьютере

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

  1. Строится описательная информационная модель. Такая модель выделяет существенные с точки зрения целей проводимого исследования параметры объекта, а несущественными параметрами пренебрегает.

  2. Создается формализованная модель, то есть описательная информационная модель записывается с помощью какого-либо формального языка.

  3. Формализованная информационная модель преобразуется в компьютерную модель, то есть выражается на понятном для компьютера языке. Существуют два принципиально различных пути построения компьютерной модели: построение алгоритма решения задачи и его кодирование на одном из языков программирования; построение компьютерной модели с использованием одного из приложений (электронных таблиц, СУБД и пр.).

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

6. Алгоритмы. Роль алгоритмизации в решении задач и формализации знаний

Название "алгоритм" произошло от латинской формы имени величайшего среднеазиатского математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi), жившего в 783—850 гг. В своей книге "Об индийском счете" он изложил правила записи натуральных чисел с помощью арабских цифр и правила действий над ними "столбиком", знакомые теперь каждому школьнику. В XII веке эта книга была переведена на латынь и получила широкое распространение в Европе.

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

Основные свойства алгоритмов :

1.   Понятность — исполнитель алгоритма должен понимать, как его выполнять. Иными словами, имея алгоритм и произвольный вариант исходных данных, исполнитель должен знать, как надо действовать для выполнения этого алгоритма.

2.   Дискpетность (прерывность, раздельность) — разбиение процесса обработки на более простые шаги.

3.   Опpеделенность — каждое пpавило алгоpитма должно быть четким, однозначным. Благодаpя этому свойству выполнение алгоpитма носит механический хаpактеp и не тpебует никаких дополнительных указаний или сведений о pешаемой задаче.

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

5.   Массовость означает, что один и тот же алгоритм можно использовать с разными исходными данными

На практике наиболее распространены следующие формы представления алгоритмов:

  • словесная (запись на естественном языке);

  • графическая (изображения из графических символов);

  • программная (тексты на языках программирования).

Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида).

Алгоритм может быть следующим:

  1. задать два числа;

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

  3. определить большее из чисел;

  4. заменить большее из чисел разностью большего и меньшего из чисел;

  5. повторить алгоритм с шага 2.

Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи. Убедитесь в этом самостоятельно, определив с помощью этого алгоритма наибольший общий делитель чисел 125 и 75.

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

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

Название символа

  Обозначение и пример заполнения  

Пояснение

Процесс

Вычислительное действие или последовательность действий

Решение

Проверка условий

Модификация

Начало цикла

  Предопределенный процесс  

  Вычисления по подпрограмме,   стандартной подпрограмме

Ввод-вывод

Ввод-вывод в общем виде

Пуск-останов

Начало, конец алгоритма, вход и выход в подпрограмму

Документ

Вывод результатов на печать

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

Блок "решение" используется для обозначения переходов управления по условию. В каждом блоке "решение" должны быть указаны вопрос, условие или сравнение, которые он определяет.

Блок "модификация" используется для организации циклических конструкций. (Слово модификация означает видоизменение, преобразование). Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения.

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

Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых (т.е. основных) элементов.

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

1. Базовая структура  "линейная". Образуется последовательностью действий, следующих одно за другим:

блок-схема

действие 1 действие 2 . . . . . . . . . действие n

2. Базовая структура  "ветвление". Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:

  • если—то;

  • если—то—иначе;

  • выбор;

  • выбор—иначе.

блок-схема

1. если—то

если условие

  то действия

все

2. если—то—иначе

если условие

  то действия 1

  иначе действия 2

все

3. выбор

выбор

  при условие 1: действия 1

  при условие 2: действия 2

  . . . . . . . . . . . .

  при условие N: действия N

все

4. выбор—иначе

выбор

  при условие 1: действия 1

  при условие 2: действия 2

  . . . . . . . . . . . .

  при условие N: действия N

  иначе действия N+1

все

Примеры структуры ветвление

Язык блок-схем

если x > 0

  то y := sin(x)

все

если a > b

  то a := 2*a; b := 1

  иначе b := 2*b

все

выбор

  при n = 1: y := sin(x)

  при n = 2: y := cos(x)

  при n = 3: y := 0

все

выбор

  при a > 5: i := i+1

  при a = 0: j := j+1

  иначе i := 10; j:=0

все

 

3. Базовая структура  "цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Основные разновидности циклов представлены в таблице:

Язык блок-схем

Цикл типа пока. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.

нц пока условие

  тело цикла

  (последовательность действий)

кц

Цикл типа для. Предписывает выполнять тело цикла для всех значений       некоторой переменной (параметра цикла) в заданном диапазоне.     

нц для i от i1 до i2

  тело цикла

  (последовательность действий)

кц

Примеры структуры цикл

       Школьный алгоритмический язык      

           Язык блок-схем            

нц пока i <= 5

  S := S+A[i]

  i := i+1

кц

нц для i от 1 до 5

  X[i] := i*i*i

  Y[i] := X[i]/2

кц

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

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