Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
vano-l
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 5
#1

Определить, является ли треугольник из отрезков с длинами A, B и C прямоугольным или равносторонним

22.04.2016, 18:35. Просмотров 1046. Ответов 9
Метки asm, tasm (Все метки)

Заданы три положительных числа A, B и C (A>=B> =C). Определить, является ли треугольник из отрезков с длинами A, B и C прямоугольным или равносторонним. Вывести «прямоугольный", "-равносторонний», в остальных случаях вывести -" Нет".

Добавлено через 2 часа 57 минут
вот попытался написать прогу второе условие где прямоугольный не выполняется
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
include mac.lib
.model small   
.stack 100h
.data
input_a db 10,13, 'a= $', 0
input_b db 10,13, 'b= $', 0
input_c db 10,13, 'c= $', 0
oute1 db 10,13, 'not$'
oute2 db 10,13, 'ravnostoronyi$'
oute3 db 10,13, 'pramougolnyi$'
a dw ?
b dw ?
c dw ?
.code
start: 
mov ax, @data
mov ds, ax
message input_a
key_$2bin
mov a, AX
message input_b
key_$2bin
mov b, AX
message input_c
key_$2bin
mov c, AX
mov AX, a
cmp  ax, c
JE   out3 ;a=b
JG    out1  ;a>m
mov AX, b
cmp  ax, c
JL    out1  ;a>m
JE   out3 ;b=c
message oute2
jmp exsit  
out1:
message oute1 
out3:
message oute3
exsit :
mov ax, 4c00h
int 21h
end  start
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2016, 18:35
Ответы с готовыми решениями:

Определить по заданным сторонам, является ли данный треугольник прямоугольным
Помогите пожалуйста.Дано 3 стороны треугольника. Нужно определить по этим...

Определить, является ли каждый треугольник прямоугольным
Помогите разобраться с задачей на TASM. Ввести с клавиатуры длины сторон...

Даны произвольные числа А, В и С. Если нельзя построить треугольник с такими длинами, то получить в аккумуляторе 0; иначе получить 3, 2 или 1 в зависи
Здраствуйте,помогите пожалуйста решить задачку.Даны произвольные числа А, В и...

Определить является ли заданный длинами сторон треугольник тупоугольным, прямоугольным или остроугольным
Треугольник задан длинами своих сторон – a, b, c. Определить является ли он...

Определить, является ли треугольник равнобедренным, равносторонним или разносторонним
Даны три стороны треугольника a, b, c. Определить, является ли такой...

9
R71MT
3214 / 1275 / 284
Регистрация: 29.07.2014
Сообщений: 2,300
Записей в блоге: 5
23.04.2016, 10:37 #2
Цитата Сообщение от vano-l Посмотреть сообщение
..пишу на делфе
..а как-бы ты организовал это на дельфи? Посчитал, сколько нужно проверок?
Прямоугольный можно вычислить по теореме Пифагора:
Сумма квадратов катетов, равно квадрату гипотенузе
т.е. если: С^2 = A^2 + B^2 , то треугольник считается прямоугольным
0
vano-l
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 5
23.04.2016, 10:45  [ТС] #3
нет смысл не проверять треугольники а смысл вывести ответ если а=б>с или а>б=с то вывести прямоугольный если а=б=с то вывести слово равнобедреный или вывести нет
0
R71MT
3214 / 1275 / 284
Регистрация: 29.07.2014
Сообщений: 2,300
Записей в блоге: 5
23.04.2016, 11:43 #4
Лучший ответ Сообщение было отмечено vano-l как решение

Решение

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
org 100h
jmp  start
 
mess   db  13,10,'Input A: $'
out1   db  13,10,'<---Ravnobedr!$'
out2   db  13,10,'<---Pramougol!$'
out3   db  13,10,'<---Error!$'
abc    db  3 dup(0)
 
start:
    mov   cx,3           ; цикл в 3 символа
    mov   di,abc         ; куда сохранять
input:                   ;
    mov   ah,9           ;
    mov   dx,mess        ;
    int   21h            ;
    mov   ah,1           ; ввод с эхом
    int   21h            ;
    stosb                ; сохраняем символ
    inc   byte[mess+8]   ; сл.буква в имени (A,B,C)
    loop  input          ;
;---------------------------------------------------
    mov   si,abc         ; берём значения в регистры
    lodsw                ; bl = A
    xchg  ax,bx          ; bh = B
    lodsb                ; al = C
;---------------------------------------------------;
    cmp   bl,bh          ; A = B ?
    jnz   @1             ; нет
    cmp   bh,al          ; B > C ?
    jbe   @1             ; нет
    mov   dx,out2        ; адрес "прямоугольный"
    jmp   print          ; выводи мессагу на экран!
@1:
    cmp   bl,bh          ; A > B ?
    jbe   @2             ; нет
    cmp   bh,al          ; B = C ?
    jnz   @2             ; нет
    mov   dx,out2        ; адрес "прямоугольный"
    jmp   print          ; выводи мессагу на экран!
@2:
    cmp   bl,bh          ; A = B ?
    jnz   @3             ;
    cmp   bh,al          ; B = C ?
    jnz   @3
    mov   dx,out1        ; адрес "равнобедренный"
    jmp   print          ; выводи мессагу на экран!
@3:
    mov   dx,out3        ; ошибка!
print:                   ;
    mov   ah,9           ; выводим мессагу на экран!
    int   21h            ;
;-----------------------------------------------------;
    xor   ax,ax          ;
    int   16h            ;
    ret                  ; выход..
1
vano-l
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 5
23.04.2016, 11:46  [ТС] #5
Извените а прога в чем написана а то у меня GUI Turbo Assemble с библиотекой mac.lib
0
R71MT
3214 / 1275 / 284
Регистрация: 29.07.2014
Сообщений: 2,300
Записей в блоге: 5
23.04.2016, 12:41 #6
vano-l это на FASM'e. Ты возьми нужные тебе участки (выделены) и вставляй в свой код
1
vano-l
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 5
24.04.2016, 10:10  [ТС] #7
mov di,abc на этот кусок ругается operand do not match 16 bit register and 8bit effective addres препод сказал что бы делал в emu8086
0
proc3nt
волшебник
645 / 507 / 151
Регистрация: 26.05.2012
Сообщений: 1,430
24.04.2016, 10:46 #8
Assembler
1
mov di, offset abc
1
vano-l
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 5
24.04.2016, 10:54  [ТС] #9
Спасибо огромное пога пашет как надо
0
proc3nt
волшебник
645 / 507 / 151
Регистрация: 26.05.2012
Сообщений: 1,430
24.04.2016, 11:09 #10
Цитата Сообщение от vano-l Посмотреть сообщение
Спасибо огромное
можно не писать, а просто нажать кнопку
2
Изображения
 
24.04.2016, 11:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2016, 11:09

Выяснить, существует ли треугольник с заданными длинами сторон, и является ли он прямоугольным
Заданы три действительных положительных числа X,Y,Z. Выяснить, существует ли...

Определить, является ли треугольник прямоугольным, остроугольным или тупоугольным
Ребят помогите! Даны три натуральных числа, являющиеся длинами сторон...

Определить, является ли треугольник тупоугольным, прямоугольным или остроугольным
2)Треугольник задан длинами своих сторон: а, b, с. Определить, является ли он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru