Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2022, 05:26   #1
аннааа
Новичок
Джуниор
 
Регистрация: 17.10.2022
Сообщений: 1
По умолчанию программа, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом

прнгшщшло.PNGНаписать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом. Результат работы программы вывести в виде текстового сообщения.
аннааа вне форума Ответить с цитированием
Старый 17.10.2022, 08:54   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Код:
; Файл main.asm; компилятор FASM; ОС Linux
; Для сборки программы выполните следующую команду
; fasm -m 1024 ./main.asm ./main -d R_VALUE=3.0 -d X_VALUE=1.0 -d Y_VALUE=-1.0
; Для отладки программы выполните следующую команду
; gdb -q ./main
; Для исполнения программы выполните следующую команду
; ./main

format ELF executable 3

match =X_VALUE, X_VALUE { define X_VALUE 0.0 }
match =Y_VALUE, Y_VALUE { define Y_VALUE 0.0 }
match =R_VALUE, R_VALUE { define R_VALUE 1.0 }

segment executable
entry $
    fld [y]
    fld [x]
    fld [R]
    fcomi st1
    jbe @f
    fcomi st2
    jbe @f
    fchs
    fcomi st1
    jae @f
    fcomi st2
    jae @f
    fld st1
    fsub st0, st1
    fmul st0, st0
    fld st3
    fadd st0, st2
    fmul st0, st0
    faddp st1, st0
    fxch st1
    fsub st3, st0
    fadd st2, st0
    fmul st0, st0
    fxch st2
    fmul st0, st0
    fxch st3
    fmul st0, st0
    faddp st3, st0
    fcomip st1
    jbe @f
    fxch st1
    fcomip st1
    jbe @f
    fstp st0
    mov edx, text_yes_Length
    lea ecx, [text_yes]
    jmp write

@@:
    ffree st0
    ffree st1
    ffree st2
    ffree st3
    ffree st4
    mov edx, text_no_Length
    lea ecx, [text_no]

write:
    mov ebx, 1
    mov eax, 4
    int 128
    xor ebx, ebx
    mov eax, 1
    int 128

text_yes db 'Точка внутри закрашенной области'
text_yes_Length = $ - text_yes
text_no db 'Точка вне закрашенной области'
text_no_Length = $ - text_no
x   dd X_VALUE
y   dd Y_VALUE
R   dd R_VALUE

Последний раз редактировалось macomics; 17.10.2022 в 09:11.
macomics вне форума Ответить с цитированием
Старый 17.10.2022, 09:09   #3
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 521
По умолчанию

macomics, красава, но я бы лично снёс тему нафиг без объяснения причины.
Valick вне форума Ответить с цитированием
Старый 17.10.2022, 09:14   #4
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Не надо ничего сносить. Все работает - проверил!
Код:
$ fasm -m 1024 ./main.asm ./main -d R_VALUE=3.0 -d X_VALUE=0.0 -d Y_VALUE=0.0
$ ./main
Точка внутри закрашенной области

$ fasm -m 1024 ./main.asm ./main -d R_VALUE=3.0 -d X_VALUE=1.0 -d Y_VALUE=1.0
$ ./main
Точка внутри закрашенной области

$ fasm -m 1024 ./main.asm ./main -d R_VALUE=3.0 -d X_VALUE=-1.0 -d Y_VALUE=-1.0
$ ./main
Точка внутри закрашенной области

$ fasm -m 1024 ./main.asm ./main -d R_VALUE=3.0 -d X_VALUE=1.0 -d Y_VALUE=-1.0
$ ./main
Точка вне закрашенной области

$ fasm -m 1024 ./main.asm ./main -d R_VALUE=3.0 -d X_VALUE=-1.0 -d Y_VALUE=1.0
$ ./main
Точка вне закрашенной области

$ fasm -m 1024 ./main.asm ./main -d R_VALUE=3.0 -d X_VALUE=-5.0 -d Y_VALUE=0.0
$ ./main
Точка вне закрашенной области

$ fasm -m 1024 ./main.asm ./main -d R_VALUE=3.0 -d X_VALUE=5.0 -d Y_VALUE=0.0
$ ./main
Точка вне закрашенной области

$ fasm -m 1024 ./main.asm ./main -d R_VALUE=3.0 -d X_VALUE=0.0 -d Y_VALUE=5.0
$ ./main
Точка вне закрашенной области

$ fasm -m 1024 ./main.asm ./main -d R_VALUE=3.0 -d X_VALUE=0.0 -d Y_VALUE=-5.0
$ ./main
Точка вне закрашенной области
Вот тесты

Последний раз редактировалось macomics; 17.10.2022 в 09:19.
macomics вне форума Ответить с цитированием
Старый 17.10.2022, 10:09   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,716
По умолчанию

Мне нравится лаконизм в заголовке. 1 - и всего-то делов.
А почему решение на асме? А мож надо было на ЯСК или Алгамс?
digitalis вне форума Ответить с цитированием
Старый 17.10.2022, 10:27   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

аннааа, а можно сразу на 2 посмотреть?

Цитата:
Сообщение от digitalis Посмотреть сообщение
1 - и всего-то делов
При этом из скриншота видно, что это вовсе и не 1, а 3...
Arigato вне форума Ответить с цитированием
Старый 17.10.2022, 14:44   #7
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,716
По умолчанию

Это - запутывание следов
А macomics - добрый гений для лентяев

Последний раз редактировалось digitalis; 17.10.2022 в 14:46.
digitalis вне форума Ответить с цитированием
Старый 17.10.2022, 18:41   #8
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
А мож надо было на ЯСК или Алгамс?
Я не знаю. Попробуй выложить и на них. Раз язык не указан, тогда выбор за мной?
macomics вне форума Ответить с цитированием
Старый 17.10.2022, 19:30   #9
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Если надо на CMD, то вот:
Код:
setlocal enabledelayedexpansion
echo off
title 3
cls

set /p r=R=
set /p x=x=
set /p y=y=

set result=1
if %x% gtr %r% set result=0
if %x% lss -%r% set result=0
if %y% gtr %r% set result=0
if %y% lss -%r% set result=0
set /a r2=r*r
set /a d=(x-r)*(x-r)+(y+r)*(y+r)
if %d% lss %r2% set result=0
set /a d=(x+r)*(x+r)+(y-r)*(y-r)
if %d% lss %r2% set result=0

if %result% equ 1 (
	echo Hits
) else (
	echo Misses
)

pause
Но работать будет только с целыми числами...
Arigato вне форума Ответить с цитированием
Старый 17.10.2022, 19:36   #10
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Добавь еще комментарий в начале (как у меня).

Код HTML:
<!DOCTYPE html>
<!-- Это вариант в виде html страницы -->
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Тестирование функций JavaScript</title>
  <style>
div {
  margin: auto;
}
#Test {
  background-image: url(https://programmersforum.ru/attachment.php?attachmentid=103184&d=1665973486);
  background-repeat: no-repeat;
  border: 3px solid black;
  height: 294px;
  width: 411px;
}
  </style>
  <script>
function getMouseXY(e) { return {x:e.clientX, y:e.clientY}; }
document.onmousemove=function (e) {
  var mouseCoord = getMouseXY(e);
  var n = document.getElementById("Test");
  var i = document.getElementById("Edit1");
  var R = 56;
  if (n && i) {
    var u = {x:mouseCoord.x - n.offsetLeft - 221, y:154 + n.offsetTop - mouseCoord.y}; if (u.x < -205) u.x = -205; if (u.x >= 206) u.x = 206; if (u.y < -147) u.y = -147; if (u.y >= 147) u.y = 147;
    if (u.x > -R && u.x < R && u.y > -R && u.y < R && (u.x - R) * (u.x - R) + (u.y + R) * (u.y + R) > R * R && (u.x + R) * (u.x + R) + (u.y - R) * (u.y - R) > R * R) {
      i.value = "Закрашено";
    } else {
      i.value = "Незакрашено";
    }
  }
}
  </script>
 </head>
 <body>
  <div id="Test"></div>
  <div style="text-align: center"><input style="text-align: center" id="Edit1" name="Edit1" type="Edit" value=""></div>
 </body>
</html>
Интерактивная JS html страничка.

ADD: Ждем сфинкса и его мегавариант на qB64

Последний раз редактировалось macomics; 17.10.2022 в 21:18.
macomics вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить, попадает ли точка с заданными координатами в закрашенную на рисунке область. Вальдемарик Помощь студентам 1 21.10.2021 11:16
Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом. MegaMan123 Помощь студентам 4 10.06.2014 11:40
Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом. d_dima Помощь студентам 2 06.03.2013 12:31
Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом. d_dima Помощь студентам 1 05.03.2013 21:43
Программа на Паскаль, которая определяет, попадает ли точка с заданными координатами в закрашенную область Chulpan Паскаль, Turbo Pascal, PascalABC.NET 2 28.03.2012 12:59