русский

Мои программы

03.02.25 10:12
Re: Мои программы
 
alek4 старожил
in Antwort alek4 31.01.25 14:13

Логические многочлены

Скачать текст

https://disk.yandex.ru/i/60DI4OG5bXSvEw

||||||||||||||||||||||||||||||||||||||||||||||||||

ПРОГРАММА

1-многочлен

Генерация случайногологического многочлена

1.Общее описание

2.Условные обозначения

3.Упрощения

4.Структура многочлена

5.Формированиеисходного многочлена

6.Формирование концовки многочлена

7.Ввод – вывод

1.Общее описание

Программа предназначена для формирования случайных логических многочленов.

Случайным образом выбирается порядок элементов логического многочлена:

логические операции (связки), скобки, логические операции (связки), переменные.

Связки: отрицание, конъюкция, дизъюнкция,импликация и эквиаленция

Скобки: левая иправая

Принято: 11 переменных.

2.Условные обозначения

Для упрощения программы введены условные обозначения.

Связки:

Отрицание: знак минус«-»

Связки:

Конъюнкция:1

Дизъюнкция: 2

Импликация:3

Эквиваленция: 4

Скобки:

Левая: 6

Правая: 7

Переменные

Числа в диапазоне:10 -11

В формуле(A связка B): A - первая переменная,B – вторая переменная

3.Упрощения

В ходе построения многочлена не формируются последовательности:

Отрицаниеотрицание,отрицаниеотрицаниеотрицание………………………………………..

Переменная связка переменная связкапеременная ……….

4. Структура многочлена

4.1 Вначале формируется исходный многочлен длиной y.

Левые скобки и переменные, перед которыми отрицания, считаются за один элемент многочлена.

Если исходный многочленлогически не завершен, добавляется концовка.

4.2.Построение многочлена начинается с левой скобки или переменной.

4.3. При формировании многочлена вычисляются:

k - Число левых скобокp – число правых скобок

При формировании многочлена проверяется условие: k>p

В сформированном многочлене k=p

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

То есть исходные многочлены имеют длину в диапазоне: 3 …y

5.Формированиеисходного многочлена

Левая скобка: левая скобка илипервая переменная

Связка: левая скобка, вторая переменная

Первая переменная: связка

Связка: левая скобка или вторая переменная

Правая скобка: связка или правая скобка

Вторая переменная: правая скобка

6.Формирование концовки многочлена

Левая скобка – правыескобки

Правая скобка – правые скобки

Вторая переменная – правые скобки

Связка – переменная – правые скобки

Первая переменная – связка – вторая переменная – правая скобка

7.Ввод и вывод

Входные данные:

y=25;//предельная длина исходного многочлена

a1 = 5;// для вычисления вероятности

b1 = 5 ; // для вычисления вероятности

b2=5; // для вычисления вероятности

d1=5;// для вычисления вероятности

w=5; // для вычисления вероятности

w1=5;// для вычисления вероятности

w2=5;// для вычисления вероятности

w3=5;// для вычисления вероятности

Вывод:

Первая строка: многочлен

Вторая строка: номер операции, в которой определен элементмногочлена

Третья строка: текущая величина k

Четвертая строка: текущая величина p

Пятая строка: метка T (0 и 1). Служит для определения переменой, первая или вторая.

Скачать

https://yadi.sk/d/TLyaE5TMSo9dFg

///////////////
//////////////////////////////////////

ПРОГРАММА

2- многочлен

Генерация случайногологического многочлена заданной длины

Программа 2- многочлен является развитием программы 1- многочлен.

Отыскиваются путем перебора исходный многочлен длиной y.

Введен циклrepeat …..until.

Числоитераций в этом цикле ограничено числом f.

Которое задается.

Текущее число итераций в цикле – число v.

Если найден исходный многочлен длиной y включается концовка.

Вывод многочлена.

Если за число итераций fискомый многочлен не найден, выводится текущий результат.

Скачать обновление 10 01 2020 h

Программа: 2-2 многочлен

https://yadi.sk/d/SSfiUDsWgz3W9Q

////////////////////////////////////////////

/////////////////////////////////////////////////////

ПРОГРАММА

Вычисление логического многочлена

]1.О программе

2.Исходные данные

3.Алгоритм

4.Данные для отладки

5.Итог

6.Вывод

7.Скачивание

1.О программе

Программа «Вычисление логического многочлена» предназначено для вычисления логического многочлена.

Программа на Дельфи7.

Вычисляется многочлен, генерируемый программой «Генерация случайногологического многочлена».

Цель программы.

Оценить корректность программ:

«Генерация случайногологического многочлена» и«Вычисление логического многочлена».

То есть этап исследования.

]2.Исходные данные[/color]

Исходные данные для вычисления логического многочлена те же, что в программе

«Генерация случайногологического многочлена».

3.Алгоритм

Переменным случайно присваиваются величины 1 и 0.

Затем последовательно осуществляются итерации.

Итерация 1.

Последовательность:

Левая скобка – переменная – правая скобка

Заменяется на– переменная.

Если такой последовательности в многочлене нет, многочлен не меняется.

Итерация 2

Последовательность

Переменная – связка – переменная

Вычисляется: 0 или 1.

Если такой последовательности в многочлене нет, многочлен не меняется.

Последовательность:

переменная 1- связка 1 –переменная 2 – связка 2 – переменная 4

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

переменная 1- связка 1(переменная 2 – связка 2 – переменная 4)

Редко получается фрагмент многочлена, не доступный сокращению.

4.Данные для отладки

Матрица 1

Первые 5 строк – программа «Генерация случайногологического многочлена».

Строка 6

Число левых скобок после каждой итерации.

rr:array[1..2*y] of integer ;//

Строка 7

Число правых скобок после каждой итерации.

dd:array[1..2*y] of integer ;//

Строка 8

Величины переменных

za:array[1..11] of integer ;//

Строка 9

Позиция в многочлене при очередной итерации 1

Строка 9

xa:array[1..50] of integer ;//

Строка 10

Позиция в многочлене при очередной итерации 2

fa:array[1..300] of integer ;//

строка 11

Переменная aa

1 итерация 1, 0 итерация 0

ga:array[1..300] of integer ;//

Со строки 14 последовательность преобразований исходного многочлена

m:array[1..(2*y),1..300]of Int64;//

Матрица 4

Для отладки

v1:array[1..(2*y),1..300]of Int64;//

5.Итог

Edit 5

www – число итераций, цикл - ii

vvv – значение многочлена

]6.Вывод

Необходимо дальнейшее исследование для исключения

не корректных ситуаций.

]7.Скачивание

Скачать программу

Вычисление логического многочлена.

Исправлено10 01 2012

Программа 2-2 многочлен

]

https://yadi.sk/d/ZwuM25wo4mJyOw

//////////////////////////////

//////////////////////////////////////

ПРОГРАММА

3-1 многочлен

1.Общее описание

2.Алгоритм

3.Вывод

1.Общее описание

Программа, версия 3-1, предназначена для выявления соответствия в многочлене правых и левых скобок.

Кстати.

Недостаток Дельфи 7:

Скобкиbeginend не пронумерованы.

В сложной программе можно совершить ошибку.

]2.Алгоритм

Исходный многочлен генерируется по программе генерации случайного многочлена:

Версия 1-1.

Сканируется многочлен.

На каждом шаге определяется соответствие правой и левой скобки.

Находится фрагментыправая …… левая скобка.

Скобки нумеруются по номеру шага, на котором выявлено соответствие.

Нумерованные скобки исключаются из рассмотрения.

3.Вывод:

Первая строка в таблице № 2: исходный многочлен

Вторая строка: номера левых и правых.

Скачать: версия3-1

https://yadi.sk/d/vg8iwKUdKV5xdQ

/////////////////////////////////

/////////////////////////////////////

 

Sprung zu