Category Archives: Программирование

Использование управления в приложении Visual C++. Лабораторная работа № 2

Использование управления в приложении Visual C++. Лабораторная работа № 2

В каждом окне приложения можно найти кнопки, блоки проверки, текстовые поля и выпадающие списки. Они известны как управления, и большинство из них встроены в операционную систему. C помощью Visual C++ эти управления довольно легко задаются в окне разработки размещением их на окне диалога перетаскиванием и сбросом. В этой работе будет изучено:

  • Основные управления в Visual C++
  • Как объявлять и присоединять переменные к управлениям
  • Как синхронизовать связь между управлением и переменной
  • Как указать порядок перемещения пользователей по окну приложения
  • Как переключать действия управлений
  • Как манипулировать управлениями и изменять их (при запуске приложения)

Основные управления окна

Рисунок 2.1. Палитра стандартных управлений.

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

  • Статический текст
  • Блок редактирования
  • Командная кнопка
  • Блок проверки
  • Блок выбора
  • Выпадающий или комбинированный список

Эти и другие управления сразу доступны для использования в приложениях Visual C++. Они могут быть найдены на палитре управлений диалога дизайнера в студии разработчика, как показано на рисунок 2.1.

Статический текст

Статический текст используется только для представления текста пользователю. Пользователь не может изменять текст или взаимодействовать с ним, то есть статический текст предназначен только для чтения. Однако можно легко изменять текст, этого управления при запуске приложения через код.

Блок редактирования

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

Командная кнопка

Командная кнопка предназначена для выполнения заданного действия. Она имеет текстовую надпись – подсказку о выполняемом действии. Кнопки могут иметь значок, поясняющий сам или вместе с текстом, что делает кнопка.

Блок проверки

Блок проверки является квадратным окошком для отметки или ее отмены. Он представляет собой переключатель и обычно используется для управления дискретными переменными.

Блок выбора

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

Комментарии к записи Использование управления в приложении Visual C++. Лабораторная работа № 2 отключены

Filed under Программирование

Создание Win32-приложения на Visual C++. Лабораторная работа

Создание Win32-приложения на Visual C++. Лабораторная работа

Для успешного программирования в Windows необходимо правильно понимать, как работает простое приложение.

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

Для компилирования программных модулей, как Win32-приложений, нужно в Visual C++ выбрать File->New->Projects->Win32 Application. Иначе возникнет ошибка: unresolved external _main. Укажем имя проекта Winnie и выберем пустой проект.

В каждой Windows программе нужно определить Window Class, класс окна, который будет управлять визуализацией приложения. В нашем случае он будет показывать только одно окно, но необходимо дать минимальную информацию об этом классе. Для создания класс на закладке ClassView панели проектов выбрать создание нового класса, дав ему название WinClass.

В результате возникнет шаблон описания класса, представленный двумя файлами (WinClass.cpp и WinClass.h)

В файле WinClass.h необходимо сделать все объявления, связанные с используемыми классами.

Наиболее важной частью WinClass является адрес процедуры возврата вызова, или оконной процедуры. Общение с Windows происходит через посылку сообщений программе через вызов этой процедуры.

Заметим в объявлении WindowProcedure, что Windows вызывает ее через описатель окна, сообщение, и двое данных, связанные с сообщение, – это параметры, WPARAM и LPARAM.

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

Как только все поля в WNDCLASS заполнены через конструктор класса, нужно иметь функцию для регистрации класса в Windows. Ниже приведен текст в файле WinClass.h

#include <windows.h>
 
LRESULT CALLBACK WindowProcedure
    (HWND hwnd, unsigned int message, WPARAM wParam, LPARAM lParam);
 
class WinClass
{
public:
    WinClass (WNDPROC winProc, char const * className, HINSTANCE hInst);
    void Register ()
    {
        ::RegisterClass (&_class);
    }
private:
    WNDCLASS _class;
};
 
WinClass::WinClass
    (WNDPROC

Комментарии к записи Создание Win32-приложения на Visual C++. Лабораторная работа отключены

Filed under Программирование

Создание приложения с панелью диалога, как основного окна. Лабораторная работа

Многие небольшие приложения работают лучше в формате панели диалога. Очевидным преимуществом этого подхода является возможность использования редактора ресурсов для выравнивания всех элементов управления на поверхности панели.

Для создания такого типа программы используем шаблон проекта, как Win32 Application под именем DlgApp, выбрав пустой проект.

Предварительно удобно произвести дизайн панели диалога с помощью редактора ресурсов. Для этого выбираем пункт меню Insert->Resource… На появившейся панели указываем тип ресурса Dialog с выбором New. В результате будет запущен редактор ресурсов с предварительным дизайном панели диалога. Для проектируемой программы необходим следующий вид панели диалога.

Элементы диалога имеют следующие свойства.

Dialog Properties  
  General
ID DLG_MAIN
Caption Dialog App
_X Pos 20
_Y Pos 40
  Styles
Style Overlapped
Border Thin
System Menu Checked
Mimimized Checked
  More styles
Visible Checked
3D-look Checked
  Extended Styles
No parent notify Checked
GroupBox Properties  
ID IDC_STATIC
Caption Input field
Edit Properties  
ID IDC_EDIT
Push Button Properties  
ID IDC_CLEAR
Caption Clear input
GroupBox Properties  
ID IDC_STATIC
Caption Check boxes
Check Box Properties  
ID IDC_LEFT
Caption Left
Check Box Properties  
ID IDC_RIGHT
Caption

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

Filed under Программирование

Проектирование информационных систем

Проектирование информационных систем

Раздел 1. Общая характеристика процесса проектирования информационных систем          4

Введение в дисциплину………………………………………………………………………………………… 4

Классификации ИС……………………………………………………………………………………………….. 6

1.     По степени формализации задачи…………………………………………………………………. 6

2.     По функциональному признаку:……………………………………………………………………. 6

3.     По уровню управления…………………………………………………………………………………. 8

4.     По степени автоматизации……………………………………………………………………………. 8

5.     По сфере применения…………………………………………………………………………………… 8

6.     По характеру использования информации……………………………………………………… 9

7.     По масштабу……………………………………………………………………………………………….. 9

История развития ИС…………………………………………………………………………………………… 10

Архитектура ИС………………………………………………………………………………………………….. 10

Жизненный цикл…………………………………………………………………………………………………. 13

Модели жизненного цикла…………………………………………………………………………………. 15

Технологии проектирования ИС………………………………………………………………………….. 18

Каноническое проектирование ИС………………………………………………………………………. 23

Современные технологии проектирования ИС…………………………………………………….. 24

Структурный (фунционально-ориентированный) подход к проектированию ИС……. 24

Объектно-ориентированное проектирование……………………………………………………….. 25

CASE-технология………………………………………………………………………………………………. 27

Технология RAD……………………………………………………………………………………………….. 31

Архитектуры распределенных систем………………………………………………………………….. 34

Раздел 2. Стадии проектирования ИС…………………………………………………………………… 38

Основные модели, используемые при проектировании ИС и анализе предметной области      38

Объектная структура…………………………………………………………………………………………. 39

Функциональная структура………………………………………………………………………………… 40

Структура управления……………………………………………………………………………………….. 40

Организационная структура……………………………………………………………………………….. 40

Техническая структура………………………………………………………………………………………. 41

Раздел 3. Функциональное моделирование…………………………………………………………… 43

IDEF0………………………………………………………………………………………………………………….. 43

Нотация IDEF0………………………………………………………………………………………………….. 44

Описание стрелок…………………………………………………………………………………………. 45

Соединение блоков…………………………………………………………………………….

Комментарии к записи Проектирование информационных систем отключены

Filed under Программирование

Распознавание объекта и определение его декартовых координат. Лабораторная работа №1

Распознавание объекта и определение его декартовых координат. Лабораторная работа №1

Распознавание объекта и определение его декартовых координат на изображении путем вычисления функции взаимной корреляции в пространственно-временной области

Введение

Одним из простейших и наиболее распространенных путей поиска эталонного образа в исследуемом изображении является вычисление функции их взаимной корреляции C(i,j):

,

где fi,j и gk,l значения яркости пикселей сопоставляемых исследуемого и эталонного изображений, соответственно, i и j – декартовы координаты пикселя в исследуемом изображении или в двумерном поле вычисленной функции взаимной корреляции (номер строки и номер столбца пикселей, соответственно), * – операция комплексного сопряжения (ее можно опустить, т.к. в данном случае пикселям приписаны действительные значения яркости), k и l –  декартовы координаты пикселя в эталонном изображении. Путем поиска максимума построенной таким образом двумерной корреляционной функции можно определить местонахождение искомого эталона (объекта) в исследуемом изображении. Амплитуда корреляционной функции в точке ее максимума характеризует степень сходства сопоставляемых изображений.

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

 

Порядок выполнения лабораторной работы

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

2. Вычислить взаимные корреляционные функции исходного изображения с каждым из искомых как функции их взаимных

Комментарии к записи Распознавание объекта и определение его декартовых координат. Лабораторная работа №1 отключены

Filed under Программирование

Исследование метода измерения параметров аффинного преобразования изображений. Лабораторная работа №3

Исследование метода измерения параметров аффинного преобразования изображений. Лабораторная работа №3

 1. Введение

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

 

Рис. 1. Проецирование изображений в искусственных и естественных зрительных системах:

а – проецирование изображения объекта на сетчатку глаза;

б – проецирование в видеокамере при параллельном расположении поверхности объекта и плоскости проецирования;

в – проецирование в видеокамере при непараллельном расположении поверхности объекта и плоскости проецирования.

 

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

 

1.2. Если плоскость, содержащая светочувствительные элементы, становится не параллельной отображаемой поверхности объекта (поворачивается относительно

Комментарии к записи Исследование метода измерения параметров аффинного преобразования изображений. Лабораторная работа №3 отключены

Filed under Программирование

Нейронные сети в Маtlab

Нейронные сети в Маtlab

Введение. 3

1. Нейронные сети: основные положения. 6

Модель нейрона и архитектура сети. 6

Создание, инициализация и моделирование сети. 10

Формирование архитектуры сети. 10

Инициализация сети. 11

Моделирование сети. 11

2. Обучение нейронных сетей. 14

Процедуры адаптации и обучения. 14

Явление переобучения. 16

Свойство обобщения. 17

Методы обучения. 18

Обучение однослойной сети. 18

Обучение многослойной сети. 19

Метод обратного распространения ошибки. 20

Характеристика методов обучения. 22

Способы адаптации и обучения. 23

Адаптация нейронных сетей. 23

Обучение нейронных сетей. 28

Алгоритмы обучения. 31

Градиентные алгоритмы обучения. 31

Алгоритм GD.. 31

Алгоритм GDM… 33

Алгоритм GDA.. 36

Алгоритм Rprop. 37

Алгоритмы метода сопряженных градиентов. 39

Алгоритм CGF. 39

Алгоритм ССР. 40

Алгоритм CGB.. 41

Алгоритм SCG.. 42

Квазиньютоновы алгоритмы.. 43

Алгоритм BFGS. 43

Алгоритм OSS. 44

Алгоритм LM… 45

3. Разные архитектуры сетей. 48

Персептрон. 48

Архитектура персептрона. 49

Моделирование персептрона. 50

Инициализация параметров. 51

Процедуры настройки параметров. 52

Процедура адаптации. 54

Линейные сети. 57

Архитектура линейной сети. 58

Процедура обучения. 61

Применение линейных сетей. 63

Радиальные базисные сети. 67

Модель нейрона и архитектура сети. 68

Итерационная процедура формирования сети. 69

Примеры радиальных базисных сетей. 69

Самоорганизующиеся нейронные сети. 71

Слой Кохонена. 72

Обучение сети слоя Кохонена. 74

Карта Кохонена. Создание сети. 75

Обучение сети карты Кохонена. 75

Одномерная карта Кохонена. 76

Двумерная карта Кохонена. 77

4. Применение нейронных сетей: задача распознавания образов. 79

Постановка задачи. 79

Нейронная сеть. 80

Архитектура сети. 80

Инициализация сети. 81

Обучение. 81

Эффективность функционирования системы.. 83

Литература. 86

 

Введение

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

  • Нейронные сети – это исключительно мощный метод имитации процессов и явлений, позволяющий воспроизводить чрезвычайно сложные зависимости. Нейронные сети по свой природе являются нелинейными, в то время как на протяжении многих лет для построения моделей использовался линейный подход. Кроме того, во многих случаях нейронные сети позволяют преодолеть “проклятие размерности”, обусловленное тем, что моделирование нелинейных явлений в случае большого числа переменных требует огромного количества вычислительных ресурсов.
  • Другая особенность нейронных

Комментарии к записи Нейронные сети в Маtlab отключены

Filed under Программирование

Параллельное программирование. MPI

Параллельное программирование. MPI

Оглавление

Введение. 4

1    Функции MPI 5

1.1       Области связи и коммуникаторы.. 5

1.2       Основные типы функций MPI 5

1.3       Общие процедуры MPI 6

1.3.1     Инициализация. 6

1.3.2     Завершение. 6

1.3.3     Аварийное завершение. 7

1.3.4     Определение общего числа параллельных процессов в группе. 7

1.3.5     Определение номера процесса в группе. 7

1.3.6     Определение времени. 7

1.4       Прием/передача сообщений между отдельными процессами (связь “точка-точка”). 8

1.4.1     Посылка сообщения. 8

1.4.2     Прием сообщения. 9

1.4.3     Посылка и прием сообщения: 10

1.5       Групповые (коллективные) взаимодействия. 11

1.5.1     Рассылка целого сообщения процессам.. 12

1.5.2     Сборка данных от процессов. 13

1.5.3     Рассылка частей сообщения процессам.. 13

1.5.4     Рассылка каждым процессом различных порций данных всем процессам.. 15

1.6       Функции поддержки распределенных операций. 15

1.6.1     Выполнение глобальных операций с возвратом результатов в главный процесс  16

1.6.2     Выполнение глобальных операций с возвратом результатов во все процессы.. 16

1.6.3     Выполнение глобальных операций с возвратом части результатов во все процессы   17

1.6.4     Выполнение независимых частичных операций над элементами массивов. 17

1.7       Синхронизация процессов. 18

2    Пример задачи, использующий функции MPI. 19

3    Компиляция и запуск программы MPI в ОС Linux. 21

4    Задания к лабораторным работам. 24

4.1       Замечания к выполнению лабораторных работ. 24

4.2       Лабораторная работа №1. Пересылка данных. 25

4.2.1     Цель работы.. 25

4.2.2     Содержание отчета. 25

4.2.3     Варианты заданий. 25

4.3       Лабораторная работа №2. Распределенные вычисления. 26

4.3.1     Цель работы.. 26

4.3.2     Содержание отчета. 26

4.3.3     Варианты заданий. 26

4.4       Лабораторная работа №3. Сортировка элементов массива. 27

4.4.1     Цель работы.. 27

4.4.2     Содержание отчета. 27

4.4.3     Варианты заданий. 27

Библиографический список. 28

Русскоязычные источники: 28

Англоязычные источники: 28

 

Введение

 

MPI — Message passing interface, интерфейс взаимодействия с помощью передачи сообщений.

MPI — стандарт на программный инструментарий для обеспечения связи между ветвями и процессами параллельного приложения.  MPI предоставляет программисту единый механизм взаимодействия ветвей внутри параллельного приложения

В то же время, реализованный в MPI механизм взаимодействия процессов параллельного приложения, ориентированный на идеологию систем с обменом сообщениям, имеет реализации для различных архитектур ВС (однопроцессорные / многопроцессорные, с общей/раздельной памятью). и API операционных систем (например, Linux, Windows, и др.). MPI позволяет программировать системы параллельных процессов при разном взаимном расположении ветвей

Комментарии к записи Параллельное программирование. MPI отключены

Filed under Программирование

Параллельное программирование. OpenMP: интерфейс для SMP архитектур

Параллельное программирование. OpenMP: интерфейс для SMP архитектур

Оглавление

Введение. 3

1     Директивы OpenMP. 3

1.1        Общие положения. 3

1.2        Директивы для определения параллельного области. 4

1.3        Директивы для распределения вычислений внутри параллельной области. 5

1.4        Классы переменных. 6

2     Переменные окружения. 6

3     Функции библиотеки runtime. 7

4     Компиляция OpenMP программ.. 7

5     Задания к лабораторным работам. 8

5.1        Замечания к выполнению лабораторных работ. 8

5.2        Лабораторная работа №1. Распараллеливание операций над векторами с помощью OpenMP. 8

5.2.1     Цель работы.. 8

5.2.2     Содержание отчета. 8

5.2.3     Варианты заданий. 8

5.3        Лабораторная работа №1. Распараллеливание вычислений с помощью OpenMP. 9

5.3.1     Цель работы.. 9

5.3.2     Содержание отчета. 9

5.3.3     Варианты заданий. 9

Библиографический список. 11

Русскоязычные источники: 11

Англоязычные источники: 11

Приложение A. Справочная информация. 12


Введение

Интерфейс OpenMP предназначен для программирования параллельных вычислений на традиционных алгоритмических языках (C/C++, Fortran), выполняемых на системах с общим пространством памяти (SMP). Его основную часть составляют набор директив, библиотечных функций и переменных окружения. В OpenMP заложена идея “инкрементального распараллеливания”, когда разработчик не создает новую программу, просто добавляет в текст последовательной программы OpenMP-директивы. При этом система программирования OpenMP предоставляет разработчику большие возможности по контролю над поведением параллельного приложения.

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

Первая версия стандарта OpenMP для языков C/C++ появилась в октябре 1998 г., а вторая, и, пока, последняя – в марте 2002. Eе полное описание можно найти на сайте www.openmp.org. В связи с выпуском микропроцессора Pentium 4 HT, поддерживающего технологию Hyper Threading, корпорация Intel разработала реализацию стандарта OpenMP для компиляторов Intel C++. Она позволяет программировать параллельные

Комментарии к записи Параллельное программирование. OpenMP: интерфейс для SMP архитектур отключены

Filed under Программирование

MATLAB. Краткая справка

MATLAB. Краткая справка

Компьютерная система MATLAB разработана фирмой The Math Works Inc. и является мировым стандартом в области научных и технических расчетов. Ее алфавит содержит большое число функций, необходимых для работы с матрицами. Удобство применения системы для цифровой обработки сигналов объясняется тем, что отсчеты дискретизированного по времени сигнала могут быть представлены в виде одномерного массива (вектора), являющегося частным случаем матрицы.

Программирование в среде MATLAB очень напоминает программирование на Бейсике. Созданные программы хранятся в виде m-файлов, т.е. файлов с расширением .m.

Текстовые файлы, содержащие операторы MATLAB, могут быть двух типов: сценарии (script) и функции. Основное отличие их заключается в том, что функции могут принимать входные параметры и возвращать результаты вычислений, а программы-сценарии – нет. Кроме того, сценарии могут не иметь заголовка, а функции обязательно имеют заголовок function.

MATLAB может быть использован как мощный калькулятор для вычисления значений математических выражений. Например, если ввести выражение                                                           >> sqrt (cos (pi/12)^2+1),

то на экране появиться автоматически создаваемая переменная ans и результат вычислений

ans=

1.3903

>>

(система готова к вводу новой информации).

Вектор-строка может быть задана перечислением в квадратных скобках элементов, разделенных пробелами или запятыми, например,

Х = [1 3 2 5 4],        Y = [2*3/5,  sqrt(10)],

или в виде       Z = 0 : 0.25 : 1.75,        W = 5 : 15 (шаг по умолчанию равен 1).

Слияние векторов X и Y записывается  в виде Р = [X Y].

Возможно выделение части вектора путем указания номеров начального и конечного элементов

X1 = X (2:4)          X1 = [3 2 5].

К векторам возможно применение функций из библиотеки MATLAB, например,

X*2,   exp(Y),  Z+W (вектора Z и W должны быть одного размера) и т.п.

Построение графиков осуществляется на основе оператора plot. Plot (Y) дает построение графика по данным вектора Y относительно его индексов.        Plot (X, Y) строит по точкам график функции y(x), где x и y – элементы векторов X и Y, plot (X1, Y1, X2, Y2) – графики двух функций y1(x1) и y2(x2) и т.д. Графики могут различаться цветом, типом линий, точек и др.

Оператор subplot(m,n,p) используется для вывода нескольких графиков в разных областях одного окна. Графическое окно разбивается на клетки в виде матрицы, имеющей m строк и n столбцов. P-я клетка становится текущей (нумерация клеток ведется по строкам). Например, по командам

t = 0 : 0.1 : 10;

subplot (3,2,5)

plot (t, sin(t))

графическое окно разбивается на 6 клеток (3х2) и график функции sin(t) строится в левой нижней (5-й) клетке.

 

АЛФАВИТ СИСТЕМЫ MATLAB

Комментарии к записи MATLAB. Краткая справка отключены

Filed under Программирование

Интерактивная оболочка SPTool

Программа SPTool (Signal Processing Tool) создает графическую среду для просмотра сигналов и их спектров, расчета и анализа фильтров, а также фильтрации сигналов.

Окно SPTool: startup.spt вызывается командой  >> sptool и состоит из трех областей.

Область Сигналы позволяет просмотреть сигналы (кнопка Вид).

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

C объектами в области Спектры можно производить следующие действия: рассчитывать (Создать), просматривать (Вид), обновлять, т.е. создавать заново под тем же именем (Обновлять).

Типичный набор действий, выполняемый с помощью программы SPTool, включает в себя следующие операции:

—          загрузка сигнала,

—          просмотр графика сигнала,

—          определение и просмотр его спектра,

—          синтез фильтра с требуемой АЧХ,

—          фильтрация сигнала,

—          сохранение результатов работы.

Загрузка сигнала.Осуществляется  с помощью меню ФайлИмпорт. Если предварительно в данном сеансе в среде MATlab создан вектор сигнала, то выбрав в области Источник положение переключателя Из рабочего пространства в области Содержание рабочего пространства можно видеть имена всех переменных, находящихся в рабочем пространстве. Выделив требуемый сигнал, можно перенести его c помощью кнопки “®” в поле ввода Данные. В поле Частота выборки устанавливается значение частоты дискретизации, в поле Имя – имя, под которым введенный вектор будет записан в среде SPTool. После нажатия кнопки ОК импорт сигнала в среду будет произведен и в области Сигналы предыдущего окна появиться запись имени сигнала.

Просмотр графика сигнала. Сигнал может быть просмотрен после его выделения с помощью кнопки Вид. Основную часть окна занимают два графика: нижний дает панораму всего сигнала, верхний позволяет рассмотреть фрагменты сигнала в выбранном масштабе. Кнопки панели инструментов служат для управления масштабом отображения сигнала и режимом отображения маркеров, позволяющих производить над сигналом количественные измерения.

Определение и просмотр спектра сигнала. В области Сигнал окна SPTool выделяется

Комментарии к записи Интерактивная оболочка SPTool отключены

Filed under Программирование

Системное программное обеспечение. Варианты заданий

Системное программное обеспечение. Варианты заданий

Варианты заданий

Для всех вариантов задаётся общая часть в которую входит следующее:

— Ключевые слова, обозначающие начало и конец программы, описание типа, ввод и вывод,  присваивание, true, false.

— Разделители : +, -, _, (, ), =, <, >, ,; ,”, “, ‘,’ и пробел.

— Идентификаторы должны начинаться с буквы, не включать в себя разделители, количество позиций не должно превышать 14.

— x, y, z – условные обозначения переменных. Разрешается заменять их другими идентификаторами. Все начальные присвоения дописать, если необходимо.

— Текст программы должен допускать использование комментариев. Вариант задания выбирается по согласованию  с преподавателем.

— Язык реализации студент выбирает самостоятельно. Самостоятельно следует дописать тело процедуры, если процедура есть в варианте задания.

Контекстные условия:

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

один раз.

2. В операторе присваивания типы переменной и выражения должны

совпадать.

3. В условном операторе и в операторе цикла в качестве условия возможно

только логическое выражение.

4. Операнды операции отношения должны быть целочисленными.

5. Тип выражения и совместимость типов операндов в выражении

определяются по обычным правилам; старшинство операций задано синтаксисом.

 

В любом месте программы, кроме идентификаторов, служебных слов и чисел, может находиться произвольное число пробелов и комментариев вида {< любые символы, кроме } и ⊥(символ конца текста исходной программы)>} True, false, read и write – служебные слова (их нельзя переопределять, как стандартные идентификаторы Паскаля).

Сохраняется паскалевское правило о разделителях между идентификаторами, числами и служебными словами.

1)       PROGRAMM;

integer x;

bool y;

integer z;

x=3;

y=true;

z=(x+2) – (x+convert(y,’integer’));

FUNC convert(bool y, integer s);

ENDF;

END;

2)       PROGRAMM;

float x;

integer y;

integer z;

x=3.25;

y=5;

z=(3+2) – (y+convert(x,’integer’));

FUNC convert(float y, integer s);

ENDF;

END;

3)       PROGRAMM;

integer x;

string y;

string z;

x=3;

y=”www;

z=y + (“abc”+convert(x,’string’));

FUNC convert(integer y, string s);

ENDF;

END;

4)       PROGRAMM;

bool x;

string y;

string z;

x=true;

y=”www;

z=y + (“abc”+convert(x,’string’));

FUNC convert(bool y, string s);

ENDF;

END;

5)       PROGRAMM;

integer x;

string y;

integer z;

x=5;

y=”www;

z=x + (5+length(y) – x;

FUNC length(integer s);

ENDF;

END;

6)       PROGRAMM;

integer x;

string z;

for x=5 by 1 to 10

z=z+convert (x,’string’);

endfor;

FUNC convert(integer y, string s);

ENDF;

END;

7)       PROGRAMM;

integer x;

integer z;

for x=5 by 1 to 10

z=z+x;

endfor;

END;

8)       PROGRAMM;

integer x;

integer z;

string y;

y=”www”;

for x=5 by 1 to 10

z= 5+length(y) – x;

endfor;

FUNC length(integer s);

ENDF;

END;

9)       PROGRAMM;

integer x;

integer z;

bool y;

y=true;

for x=5 by 1 to 10

z=z+x+convert (y,’integer’);

endfor;

FUNC convert(bool y, string s);

ENDF;

END;

10)       PROGRAMM;

integer x;

string z;

bool y;

if x=5 then y=true else y=false endif;

z=”www”+convert(z,’string’) + “5”;

FUNC convert(bool y, string s);

ENDF;

END;

11)       PROGRAMM;

integer x;

bool y;

integer z;

if x=5 then y=true else y=false

Комментарии к записи Системное программное обеспечение. Варианты заданий отключены

Filed under Программирование

Системное ПО. Лабораторные работы

Системное ПО. Лабораторные работы

Цель – изучить теоретические основы построения модулей транслятора. Получить практические навыки разработки системного программного обеспечения.

Определения и логические связи языковых процессоров.

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

• Компиляторы

• Интерпретаторы

• Ассемблеры

• Препроцессоры.

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

На рис. 1.1 приведены логические связи компиляторов. Сплошными стрелками показана передача управления, пунктирными – информационные связи.  рис 1.1 Логические связи компилятора

Охарактеризуем каждый блок в отдельности и при этом определим сопутствующие понятия:

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

Токен (token – лексема ) – некоторая программная единица, которая характеризует определённые категории языка. Традиционно токенами являются идентификаторы, числовые константы, ключевые слова, знаки операций и т.д. В свою очередь токены состоят из литер. Понятие токена широко используется в иностранной литературе , например в [11]. В отечественных источниках вместо токена употребляют эквивалентное понятие – лексема [12]. Токен или лексема в общем случае является подмножеством множества терминальных символов, строгое определение которых будет приведено ниже.

Литера(литерал)— неделимая информационная единица, из которых набирается текст программы, в простом информационном понятии нформационное терминальное поле на клавиатуре компьютера или компьютерный алфавит ASCII и EBCDIC. Иначе говоря, это знаковые клавиши на клавиатуре терминала , иключая служебные и функциональные. Токены(лексемы) могут состоять из одной или более литер, более строгое математическое понятие этой категории будет приведено ниже.

Функция сканера — предать определённый внутренний код определённым объектам программного сегмента. Так, ключевые слова в языке Си имеют один внутренний ключевой код, разделители – другой, числовые константы – третий и так далее. Сканер анализирует лишь алфавит грамматики языка.

2.Синтаксис — синтаксический анализатор проводит анализ на соответствие программы на входном языке грамматическим правилам этого языка и

Комментарии к записи Системное ПО. Лабораторные работы отключены

Filed under Программирование

Теория информации. Лабораторные работы

Теория информации. Лабораторные работы

Лабораторная работа №1

Описательная статистика

 

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

 

1. Методические указания.

Результат любого эксперимента вследствие свойств исследуемого объекта или ошибок измерений является случайным. Значение x случайной величины X, реализовавшееся в опыте, называется выборочным значением, а совокупность n значений (x1,…,xn), соответствующих n последовательным наблюдениям – выборкой. Число n называется объемом выборки.

Если известна функция распределения F(x) или плотность f(x) случайной величины X, то говорят, что выборка взята из распределения F(x) или f(x).

Поскольку элементы выборки являются реализациями случайной величины X, сама выборка является реализацией случайного вектора (X1,…,Xn), все компоненты которого имеют одинаковое с X распределение. Если случайные величины X1,…,Xn статистически независимы, выборка называется повторной.

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

Пусть (x1,…,xn) – выборка объема n из распределения F(x). Упорядочим элементы выборки по возрастанию:

 

x(1) £ x(2) £ . . . £ x(n) .

 

Такая упорядоченная выборка называется статистическим или вариационным рядом. Элементы вариационного ряда называются порядковыми статистиками.

Номер k порядковой статистики x(k) в вариационном ряде называется ее рангом.

Важнейшими порядковыми статистиками являются :

 

x(1) – наименьший элемент выборки,

x(n) – наибольший элемент выборки,

x([nl]+1) – выборочная квантиль уровня l.

 

Квадратные скобки в обозначении выборочной квантили означают целую часть того, что в них заключено. Выборочная квантиль является статистическим аналогом вероятностного понятия квантиль распределения. По определению квантилью xl  уровня l распределения F(x) называется решение уравнения F(xl) = l (cм. рис.1.1).

 

Рис.1.

Комментарии к записи Теория информации. Лабораторные работы отключены

Filed under Программирование

Распознавание объекта и определение его декартовых координат на изображении путем вычисления функции взаимной корреляции в пространственно-временной области. Лабораторная работа #1

Распознавание объекта и определение его декартовых координат на изображении путем вычисления функции взаимной корреляции в пространственно-временной области. Лабораторная работа #1

Одним из простейших и наиболее распространенных путей поиска эталонного образа в исследуемом изображении является вычисление функции их взаимной корреляции C(i,j):

,

где fi+k,j+l и gk,l значения яркости пикселей сопоставляемых исследуемого и эталонного изображений, соответственно, i и j – декартовы координаты пикселя в двумерном поле вычисленной функции взаимной корреляции (номер строки и номер столбца пикселей, соответственно), они же соответствуют величинам взаимного смещения эталонного gk,l и исследуемого fi+k,j+l изображений соответственно по осям абсцисс и ординат, * – операция комплексного сопряжения (ее можно опустить, т.к. в данном случае пикселям приписаны действительные значения яркости), k и l –  декартовы координаты пикселя в эталонном изображении. Путем поиска максимума построенной таким образом двумерной корреляционной функции можно определить местонахождение искомого эталона (объекта) в исследуемом изображении. Амплитуда корреляционной функции в точке ее максимума характеризует степень сходства сопоставляемых изображений. Графическая иллюстрация взаимного смещения сопоставляемых изображений в процессе вычисления функции их взаимной корреляции приведена на рис.1. Искомое изображение g помещается в левый верхний угол (положение a в строке a) анализируемого исходного изображения f, перемножаются значения совпадающих по положению пикселов искомого и исходного изображений, и произведения, вычисленные для  каждого пиксела искомого изображения суммируются. Сформированная сумма равна одному отсчету корреляционной функции, полученному для данного положения искомого изображения на исходном. Искомое изображение g смещается по строке в следующую позицию b, и вычисляется следующий отсчет функции корреляции путем аналогичного суммирования произведений совпадающих по координатам пикселов изображений g и f. Последующие отсчеты первой строки двумерной функции взаимной корреляции вычисляются при перемещении изображения g с шагом 1 по первой строке a до последней позиции z этой строки. Затем изображение g смещается на один пиксел вниз, и аналогичным образом формируются «пикселы» второй строки (строка b)

Комментарии к записи Распознавание объекта и определение его декартовых координат на изображении путем вычисления функции взаимной корреляции в пространственно-временной области. Лабораторная работа #1 отключены

Filed under Программирование

Распознавание объектов на изображении и определение параметров их пространственного вращения и масштабирования относительно эталона методом корреляции в полярно-логарифмической системе координат. Лабораторная работа №2

Одним из простейших и наиболее распространенных путей поиска эталонного образа в исследуемом изображении является вычисление функции их взаимной корреляции C(i,j):

,

где fi,j и gk,l значения яркости пикселей сопоставляемых исследуемого и эталонного изображений, соответственно, i и j – декартовы координаты пикселя в исследуемом изображении или в двумерном поле вычисленной функции взаимной корреляции (номер строки и номер столбца пикселей, соответственно), * – операция комплексного сопряжения (ее можно опустить, т.к. в данном случае пикселям приписаны действительные значения яркости), k и l –  декартовы координаты пикселя в эталонном изображении. Путем поиска максимума построенной таким образом двумерной корреляционной функции можно определить местонахождение искомого эталона (объекта) в исследуемом изображении. Амплитуда корреляционной функции в точке ее максимума характеризует степень сходства сопоставляемых изображений.

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

Для достижения поставленной цели представим изображение в полярной системе координат. В этом случае координаты пиксела на плоскости описываются длиной R радиуса-вектора , соединяющего центр пиксела с началом координат, и направлением радиуса-вектора, задаваемым углом f азимута. Развернем окружности равного радиуса в параллельные горизонтальные прямые. Это дает возможность представить азимут и радиус полярной системы координат ортогональными осями декартовой системы координат, как это показано на рис.1.

 

Представим теперь радиальную координату R на рис.1.б в логарифмическом масштабе

(R’ = logR) и назовем такую систему координат

Комментарии к записи Распознавание объектов на изображении и определение параметров их пространственного вращения и масштабирования относительно эталона методом корреляции в полярно-логарифмической системе координат. Лабораторная работа №2 отключены

Filed under Программирование

Исследование метода измерения параметров аффинного преобразования изображений. Лабораторная работа №3

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

 

Рис. 1. Проецирование изображений в искусственных и естественных зрительных системах:

а – проецирование изображения объекта на сетчатку глаза;

б – проецирование в видеокамере при параллельном расположении поверхности объекта и плоскости проецирования;

в – проецирование в видеокамере при непараллельном расположении поверхности объекта и плоскости проецирования.

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

 

1.2. Если плоскость, содержащая светочувствительные элементы, становится не параллельной

Комментарии к записи Исследование метода измерения параметров аффинного преобразования изображений. Лабораторная работа №3 отключены

Filed under Программирование

Экзаменационные билеты по курсу «Алгоритмы обработки цифровых данных»

Экзаменационные билеты по курсу «Алгоритмы обработки цифровых данных»

Билет №1.

1. Активные и пассивные естественные и искусственные зрительные системы, связь их конструкции со свойствами окружающей среды.

2. Улучшение качества изображения с помощью низкочастотной и высокочастотной фильтрации в пространственной области и области спектра пространственных частот.

 

Билет №2.

1. Виды информации, извлекаемой естественными и искусственными зрительными системами из воспринимаемых видеоданных.

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

 

Билет №3.

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

2. Улучшение качества изображения путем регулирования локальной крутизны передаточной характеристики «входная яркость пиксела / выходная яркость пиксела».

 

Билет №4.

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

2. Преобразование Хафа.

 

Билет №5.

1. Пропускающие и отражающие голограммы.

2. Аппроксимация контура отрезками прямых линий методом наименьших квадратов.

 

Билет №6.

1. Оптическое преобразование Фурье. Голографический коррелятор. Согласованный и восстанавливающий фильтры.

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

 

Билет №7.

1. Голографические распознающие автоматы.

2. Выделение границ с помощью LOG- и DOG-фильтров. Построение контуров с помощью детектора краев Кэнни.

 

Билет №8.

1. Распознавание изображений методом Фурье-Меллина, преимущества и недостатки.

2. Понятие градиента. Вычисление поля градиентов с помощью масок Превитт, Собеля, Робертса.

 

Билет №9.

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

2. Понятие текстуры. Описание текстуры с помощью масок Лавса.

 

Билет №10.

1. Классификация образов методом максимального правдоподобия.

2. Понятие текстуры. Описание текстуры с помощью гистограмм параметров формы текселов.

 

Билет №11.

1. Построение линейных дискриминационных поверхностей по известной выборке классифицированных образов.

2. Понятие текстуры. Описание текстуры по плотности распределения границ разного направления. Описание текстуры по секвентам.

 

Билет №12.

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

2. Понятие

Комментарии к записи Экзаменационные билеты по курсу «Алгоритмы обработки цифровых данных» отключены

Filed under Программирование

Алгоритмы решения задач на графах и сетях

Алгоритмы решения задач на графах и сетях

I. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ ТЕОРИИ ГРАФОВ

Будем придерживаться терминологии из [1].

Ориентированным графом (орграфом) G=(Х, Г) называется пара (X, Г) , где X – множество элементов, называемых вершинами,

а Г -многозначное отображение Х =>Х . Многозначное отображение Х=>Х есть закон, по которому каждому элементу x принадлежащему Х ставится .в соот­ветствие некоторое подмножество Гx множества Х . Дугами орграфа называется упорядоченные пары (x, y) принадлежащие Х*Х, y Î Гх. Если обо­значить через U множество всех дуг графа, то граф можно определить, как G= (X,U ) Вершина x называется началом дуги u = ( x , y ),  а вершина y – ее концом. Дуга ( x , x ) , начало и конец которой совпадают, называется петлей. Две различные вершины x и y на­зываются смежными, если существует соединяющая их дуга.

Полустепенью захода вершины называется число дуг, заходящих я вершину, а полустепенью исхода – исходящих из вершины. Вершина S с нулевой полустепенью захода называется входом орграфа, а вершина t с нулевой полустепенью исхода – выходом орграфа.

Путем L (a, б) из вершины а, в вершину b называется после­довательность вершин и дуг a, (a, x1), x1, (x1, x2)…,(xn-1, b),b. Заметим, что в орграфе путь однозначно определяется последователь­ностью вершин или дуг. Путь называется простым, если вершины не, повторяются. Если существует путь L(a, 6) , то говорят, что вер­шина b достижима из вершины a . Орграф называется связным,  если для любой пары вершин одна достижима из другой.

Путь L (a, a), начала и конец которого совпадают, называет­ся контуром.

Пусть X1, X2 Ì X,

Комментарии к записи Алгоритмы решения задач на графах и сетях отключены

Filed under Программирование

Программирование на языках высокого уровня. Лабораторный практикум

Программирование на языках высокого уровня. Лабораторный практикум

Лабораторный практикум содержит информационный материал, необходимый студентам вечерней формы обучения специальностей 230101 “Вычислительные машины, комплексы, системы и сети” и 230104 “Программное обеспечение вычислительной
техники и автоматизированных систем” для выполнения лабораторных работ по дисциплине “Программирование на языках высокого уровня”. Приводятся варианты индивидуальных заданий,
требования к содержанию и оформлению отчетов о лабораторных
работах и примеры реализации программ.
кроме того, лабораторный практикум содержит перечень
основной и дополнительной литературы по этой дисциплине, а
также перечень действующих государственных стандартов, которые требуется соблюдать при выполнении лабораторных работ.
Лабораторные занятия проводятся с целью приобретения
практических навыков алгоритмизации, программирования, тестирования и отладки программ на компьютере с использованием современных технологий и инструментальных средств.

Лабораторная работа №1

Управляющая структура “Следование”
Цель работы:    изучение концепций и освоение технологии
структурного программирования, приобретение навыков структурного программирования на языке с  при решении про-с  при решении пр
стейших вычислительных задач.
Задание на программирование: используя технологию структурного программирования, разработать линейную программу
решения индивидуальной вычислительной задачи.
Порядок выполнения работы
1. Получить у преподавателя индивидуальное задание и выполнить    постановку задачи: сформулировать условие, определить входные и выходные данные.
2. разработать математическую модель вычислений.
3. Построить схему алгоритма решения задачи.
4. составить программу на языке с.
5. В программе использовать данные типа unsigned char.
6. Выходные данные (сообщения) выводить на экран в развернутой форме.
7. Проверить и продемонстрировать преподавателю работу
программы.
8. оформить отчет о лабораторной работе  в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольные примеры.
Варианты индивидуальных заданий
Выполнить поразрядные логические операции над машинными кодами
1
117 AND 90
-117 XOR 90

4

117 ® 3
NOT 21 XOR –13 AND (-23 OR NOT 9)
2
135 AND 106
135 OR -106
135 ® 4
NOT 17 OR (NOT 111 XOR –19) AND 91
3
207 AND 37
207 XOR -37
37 ¬ 2
-21 AND (NOT 75 OR –20) XOR NOT 59
4
27 AND 13
-27 OR 13
27 ¬ 2
NOT 21 XOR –3 AND (NOT 26 OR –13)
5
-21 OR 43
21 XOR 43
43 ¬ 2
(NOT 19 OR –6) AND NOT –9 XOR 4
6
55 AND 15
55 XOR -15
15 ¬ 3
NOT 7 AND –5 XOR (NOT 127 OR –8)
7
99 OR -17
99 AND 17
17 ¬ 2
(18 OR NOT –8) AND NOT –7 XOR 3
8
29 OR -49
29 XOR 49
49 ¬ 4
(NOT 8 XOR –6) AND 9 XOR NOT -12
9
42 AND 17

42 OR -17
42 ® 3
NOT 25 XOR –4 AND (NOT 22 OR –10)
10
36 AND 12
36 XOR 12
36 ¬ 3
NOT –3 XOR 15 AND (NOT 8 OR –6)
11
25 AND 18
25 XOR 18
25 ¬ 2
NOT 23 OR –4 AND (NOT 24 OR –9)
12
39 AND 14
39 OR -14
39 ¬ 3
NOT 17 AND –5 OR (25 AND NOT –9)
13
49 AND 11
49 XOR 11
49 ® 2
15 OR NOT –3 AND (14 OR NOT 16)
14
180 AND 35
180 XOR 35
35 ¬ 2
NOT –7 OR 8 AND (26 XOR

Комментарии к записи Программирование на языках высокого уровня. Лабораторный практикум отключены

Filed under Программирование