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

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

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.09.2009, 18:33   #1
Mr.Qwerty
Что? Где? Когда?
Форумчанин
 
Аватар для Mr.Qwerty
 
Регистрация: 14.07.2009
Сообщений: 220
По умолчанию Brainstorm(Мозговой штурм)

Добрый день,утро, вечер,ночь уважаемый обитатели форума)!
Извиняйте, но пришлось мне, ибо никому более такой идее не приходилось реализовывать. Не будем забегать вперед.
В общем вот моя идея: пользователи форума выкладывают задание(задачку) и все кому интересно будут выкладывать свои решения и ответы. Собственно вознаграждением за проделанный труд будет оценивание вашей работы со стороны посетителей данной темы.
Итак, приступим, я выкладываю задание+свое решение, либо что-то и чем больше вариантов решения тем лучше. Название темы соответствует уже смыслу всех стараний, да да я не ошибся - это МОЗГОВОЙ ШТУРМ, то есть будем продумывать все решения задания с минимальными затратами программных ресурсов, то есть будем рыть в поисках идеального решения!
Так, я вижу вы устали уже от прочтения текста, приступим:
Задание_1). Даны основания и высота равнобедренной трапеции. Найти её периметр, Мдаа задание легкое, но нужно найти наиболее краткое ее решение, то есть с минимальными затратами в использовании переменных и всяких процедур.
Ваши ответы будут оценивать обозреватели(судья) этой темы, то есть все мы с вами).. Вообщем хочу пожелать всем нам удачи и не строго судите меня администрация форума) Только плиз без критики...знаю что в организаторском деле я чуть выше уровня нуба!)
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Mr.Qwerty вне форума Ответить с цитированием
Старый 02.09.2009, 18:44   #2
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

p=2*sqrt(((do-ko)/2)^2+h^2)+do+ko
do-длинное основание
ko-короткое основание
h-высота
p-периметр!
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 02.09.2009, 18:44   #3
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

a - основание 1
b - основание 2
c - высота

корень((a+b)*c*8)

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

Последний раз редактировалось wall66; 02.09.2009 в 19:09.
wall66 вне форума Ответить с цитированием
Старый 02.09.2009, 18:48   #4
Mr.Qwerty
Что? Где? Когда?
Форумчанин
 
Аватар для Mr.Qwerty
 
Регистрация: 14.07.2009
Сообщений: 220
По умолчанию

Собственно вот мое решение, мб кто лучше замутит - всегда "за":
Код:
Program Perim;
Uses Crt;
Var a,b,c:real;
begin
ClrScr;Writeln('Введите a,b,h:');Readln(a,b,c);
a:=sqrt(sqr(b-a)+sqr(с));a:=2*a+pred(a)+b;
Writeln('Периметр:=',a);Readln;
end.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Mr.Qwerty вне форума Ответить с цитированием
Старый 02.09.2009, 18:52   #5
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Ага, лучше уже конкурс типа: "500 способов обнулить регистр EAX"...
Levsha100 вне форума Ответить с цитированием
Старый 02.09.2009, 21:30   #6
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
500 способов обнулить регистр EAX
хм... что-то мне больше трех различных способов в голову не приходят.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 03.09.2009, 01:16   #7
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

xor eax,eax
and eax,0
sub eax,eax
mov eax,0

push 0
pop eax

shl eax,0x20
shr eax,0x20

Да видать я тоже ассемблер плоховато знаю.
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Старый 03.09.2009, 08:54   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но нужно найти наиболее краткое ее решение, то есть с минимальными затратами в использовании переменных и всяких процедур
Так подойдет?
Код:
var a,b,c,r:real;
Begin
 Write ('Введи исходные данные и ответ (самостоятельно поссчитанный)');
 readln(a,b,c,r);
 write('a=',a,'b=',b,'c=',c,' Ответ=',r);
end.
А если эта шутка кому-то покажется не политкорректной то вот:
Код:

Var a,b,c:real;
begin
Writeln('Введите a,b,h:');Readln(a,b,c);
Writeln('Периметр:=',2*(sqrt(sqr(b-a)+sqr(с)))+pred(sqrt(sqr(b-a)+sqr(с)))+b );Readln;
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.09.2009, 09:39   #9
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
500 способов обнулить регистр EAX
Добавим

Код:
imul eax,eax,0

bsf eax,eax
bsf eax,eax
bsf eax,eax
bsf eax,eax
bsf eax,eax

mov eax, fs:[14h]

dec eax
jnz $-1

fldz
fistp   dword ptr [esp-4]
mov     eax, [esp-4]

aam 1 ; это до кучи - обнуление ax
aad 0
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 03.09.2009, 12:09   #10
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

А можно я ecx обнулю?
Код:
loop $
пыщь
JTG вне форума Ответить с цитированием
Ответ


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