В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
DashaSid
DashaSid
28.12.2020 07:11 •  Информатика

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

Выбрать произвольно адреса ячеек памяти (в пределах адресуемого Intel 8080 пространства) для хранения значений аргументов и значения функции. Составить программу и отладить её в эмуляторе Intel 8080.
Y=x1–(x2+x3–x4

Показать ответ
Ответ:
Almast1
Almast1
19.03.2023 07:09

print('x=?')

x = int(input())

print('n=?')

n = int(input())

g = 2

y = 0

c=0

if (n % 2) == 1:

   print('Так нельзя по условию')

   exit(0)

else:

   while c<(n/2):

       y = y + (1 - x) / g

       g=g+2

       c=c+1

print('у=', y)

Объяснение:

Получилось решить через цикл While

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

Если нужно разобрать что как работает и что есть что - пишите в комментарии, я попробую .

0,0(0 оценок)
Ответ:
basarbakhtiar
basarbakhtiar
03.12.2020 15:08

/*Решение с обобщения формула Брахмагупты для произвольного четырехугольника. Функция perimeter(double x[], double y[]) возвращает значение периметра, функция area(double x[], double y[]) возвращает значение площади, пример использования и реализация приведены ниже. */

#include <iostream>

#include <math.h>

double perimeter(double x[], double y[]);

double area(double x[], double y[]);

int main()

{

   double x[4], y[4];

   std::cout << "Quadrangle ABCD\n";

   for (auto i = 0; i < 4; i++)

   {

       std::cout << "Input coordinates of point " << char(i + 'A') << ": ";

       std::cin >> x[i] >> y[i];

   }

   std::cout << perimeter(x, y) << " " << area(x, y);

   

   return 0;

}

double perimeter(double x[], double y[])

{

   double a[4], p = 0;

   for (auto i = 0; i < 4; i++)

   {

       a[i] = sqrt((x[i]-x[(i + 1) % 4]) * (x[i]-x[(i + 1) % 4]) + (y[i]-y[(i + 1) % 4]) * (y[i]-y[(i + 1) % 4]));

       p += a[i];

   }

   return p;

}

double area(double x[], double y[])

{

   double a[4], p = 0, s = 1, d[2];

   for (auto i = 0; i < 4; i++)

   {

       a[i] = sqrt((x[i]-x[(i + 1) % 4]) * (x[i]-x[(i + 1) % 4]) + (y[i]-y[(i + 1) % 4]) * (y[i]-y[(i + 1) % 4]));

       p += a[i];

   }

   for (auto i = 0; i < 4; i++)

   {

       s *= (p / 2- a[i]);

   }

   for (auto i = 0; i < 2; i++)

   {

       d[i] = sqrt((x[i]-x[i + 2]) * (x[i]-x[i + 2]) + (y[i]-y[i + 2]) * (y[i]-y[i + 2]));

   }

   s -= (a[0] * a[2] + a[1] * a[3] + d[0] * d[1]) * (a[0] * a[2] + a[1] * a[3] - d[0] * d[1]) / 4;

   s = sqrt(s);

   return s;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота