Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Программные средства реализации информационных процессов



Представление вычислительного устройства схемой, состоящей из логических элементов наиболее исследованный вид структурной реализации вычислительных и информационных процессов. Другой вид - реализация программой. Программа вычисляет (реализует) логические функции f(x1,..., xn) = y, если для любого двоичного набора d = (d1,..., dn ) при начальном состоянии элементов памяти x1 = d1, x2 = d2,..., xn = dn программа через конечное число шагов останавливается и в ячейке y лежит величина f(d1, d2,..., dn). Если под сложностью схемы, реализующей автомат, обычно понимается число элементов схемы, то под сложностью программ можно понимать:

n число команд в тексте программы;

n объем промежуточной памяти;

n время вычисления программы, которое характеризуется двумя величинами:

1. Средним временем

2. Максимальным временем ,

где сумма и максимум берутся по всем 2 наборам, а tp - время работы программы на одном наборе s.

Рассмотрим 2 типа программ: операторные и бинарные. Операторная программа не содержит условных переходов, порядок ее команд в точности соответствует нумерации элементов в схеме, а система команд соответствует базису схемы. Элементы схемы нумеруются числами 1,..., n таким образом, чтобы на любом пути от входа к выходу номера элементов возрастали. При этом номер 1 получит один из входных элементов, а номер n - выходной элемент.

Поскольку операторная программа не содержит условных переходов, то время ее выполнения на любом наборе одно и то же, отсюда t max = t ср.

Бинарные программы это программы, состоящие из команд типа y = d; d = {0, 1} и условных переходов.

Замечание. Бинарные программы обладают двумя достоинствами по сравнению с операторными:

1. Отсутствием промежуточной памяти в процессе работы программы. Это позволяет реализовать бинарную программу на постоянных элементах памяти.

2. Более высоким быстродействием.

Пример. Составить для функции f = (x1 v Øx2) бинарную и операторную программы.

Решение. Воспользуемся языком С++, будем иметь код:

void main()

{

bool f=0, x1,x2; // описание типа переменных

cout<<” Enter x1,x2\n”; // вывод на экран текста

cin>> x1>>x2; // ввод переменных

switch (x1) // оператор выбора

{

case 0: switch(x2)

{

case 0: f=1;

case 1: f=0;

}

case 1: f=1;

}

default: f=0;

cout>> f;

}

Операторная программа пишется в базисе {&,Ø}. Для этого перепишем заданную функцию, используя формулы де Моргана.

void main()

{

bool f, x1,x2; // описание типа переменных

bool a,b;

cout<<” Enter x1,x2\n”; // вывод на экран текста

cin>> x1>>x2; // ввод переменных

a= 1-x1; { }

b= a * x2; { }

b= 1 - b; { }

f=b;

cout<<f;

}





Дата публикования: 2014-11-04; Прочитано: 247 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...