Skip to content

DerbiLow/MODULAR-programming

Repository files navigation

MODULAR-programming

ЛАБОРАТОРНАЯ РАБОТА № 4 «МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ»
Цель работы: знакомство с технологией применения языка ассемблера при разработке программного обеспечения на языках высокого уровня.

Исходное задание:
image image

Изначально пользователь вводит значение Х
После из кода С++ вызывается функция, написанная на языке Assembler
В коде Assembler переменная передается в стек и происходит вызов функции на С++
По условию задания в С++ вычисляется следующая функция - f(x) = log(abs(cos(x) + sin(x))), вычисленное значение возвращается обратно в Assembler
Assembler выполняет функцию y = f(x), то есть записывает вычисленное значение и сохраняет его в переменную
А после код Assembler возвращает значение обратно в С++, где он записывается в массив y[i]
Пользователь в консоли видит пару чисел Xi, которое он ввел и результат вычислений y[i]

Результат работы программы представлен на рисунках ниже
image
image

Скорость работы кода С++ и assembler:
image
Скорость работы кода на Python:
image
Скорость работы кода на Python с DLL:
Python+DLL
Из результатов работы программы можно сделать вывод: Самый медленный - Python из-за того, что он работает построчно. C++ (на котором написан DLL) перед работой компилируется, за счет чего работает быстрее. Самый быстрый способ вычисления результата - С++ и assembler

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

Скорость работы кода С++ и assembler:
c++asemblyPNG
Скорость работы кода на Python:
image
Скорость работы кода на Python с DLL:
image

Код программы представлен в файле code3.txt, Assembler - some.asm, C++ - ConsoleApplication50.cpp (Проект в ConsoleApplication50)
Код программы на Python представлен в файле python(2).txt (Проект в PythonApplication1)
Код программы на Python с DLL представлен в файле 325.txt (Проект в PythonApplication4 и DLL4)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published