forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Юмор (http://forum.boolean.name/forumdisplay.php?f=35)
-   -   Инструкции для программистов (http://forum.boolean.name/showthread.php?t=15084)

PassCall 08.07.2011 18:56

Инструкции для программистов
 
Как заварить чай. Инструкция для программистов.
Код:

program tea;
uses teapot, cup, water, flame;
............................
begin

teapot_x:=faucet_x;//ставим чайник под кран
teapot_y:=faucet_y-15;//чуть ниже крана
teapot_z:=faucet_z;//

fauced_cool_water_on:=true;//включаем воду

repeat
delay (10)
until ((teapot_current_value/teapot_max_value)>=0.5);//;ждём, пока чайник не заполниться наполовину

fauced_cool_water_on:=false;//выключаем воду

teapot_x:=gas_burner_x[1];//
teapot_y:=gas_burner_y[1];//
teapot_z:=gas_burner_z[1];//ставим чайник на конфорку

gas_burner_flame[1]:=true;//поджигаем огонь

repeat
delay (10)
until (teapot_temperature>=100);//ждем, пока вода не закипит

teapot_x:=cup_x+10;//подносим к чашке. Нужно, чтобы носик был над чашкой. Перемещаем чайник чуть вправо (предполагается, что изначально чайник смотрит на запад).
teapot_y:=cup_y;//
teapot_z:=cup_z;//

teapot_rotate_x:=45;//наклоняем чайник

delay (1000);//ждем секунду

teapot_rotate_x:=0;//наклоняем обратно

teapot_x:=gas_burner_x[1];//ставим чайник на конфорку
teapot_y:=gas_burner_y[1];//
teapot_z:=gas_burner_z[1];//

delay (300000+random (60000));//ждём около 5 минут
end.//чай готов!


Mr_F_ 08.07.2011 20:20

Ответ: Инструкции для программистов
 
Цитата:

fauced_cool_water_on:=true;//включаем воду
undeclared identifier(
ещё т.к. краны крутятся плавно, то после включения воды, поворот крана все равно не задан (остаётся на нуле), и вода не льётся(

Цитата:

teapot_rotate_x:=45;//наклоняем чайник
слишком резко наклоняется, всё разлилось(

и газ ты забыл выключить, ёпт

попытка более корректного решения

Код:

#include "teapot.h"
#include "cup.h"
#include "faucet.h"
#include "stove.h"

void createAndUseTea()
{
 teapot.position = faucet.position - float3(0,teapot.GetSize().y+0.01,0); //учитывая, что центр коорд у чайника внизу (чтобы удобно было ставить на конфорку), ставим чайник под кран, вычитая из позиции крана высоту чайника (+ епсилон).
 faucet.SetCool(0.7); //регулируем напор воды
 
 while((teapot.GetWaterLevel()/teapot.GetMaxWaterLevel())<0.5)
 {
  delay(10);
 }

 faucet.SetCool(0);

 if (teapot.GetType() == TEAPOT_ELECTRIC) // электрические чайники не надо жарить!
 {
  teapot.position = teapot.base.position; // ставим его на место
  ((teapotElectric*)&teapot)->TurnOn(); включаем
 }
 else if (teapot.GetType() == TEAPOT_OLD)
 {
  teapot.position = stove.burner[1].position;
  stove.burner[1].SetFire(true);
 }
 else
 {
  Talk("I don't know how to use such teapot.");
  return;
 }

while (teapot.GetWaterTemp() < 100)
{
 delay(10);
}

if (teapot.GetType() == TEAPOT_OLD) stove.burner[1].SetFire(false);

teapot.position = cup.position + float3(10,0,0);
quaternion defaultRot = teapot.rotation;

while( (teapot.rotation != optimalTeapotRotation) && (cup.GetWaterLevel()<cup.GetMaxWaterLevel()-0.1) ) 
{
  teapot.rotation = slerp(teapot.rotation,optimalTeapotRotation,0.1); // аккуратно наливаем, пока чашка недостаточно полна
}

teapot.rotation = defaultRot;


 if (teapot.GetType() == TEAPOT_ELECTRIC)
 {
  teapot.position = teapot.base.position;
 }
 else if (teapot.GetType() == TEAPOT_OLD)
 {
  teapot.position = stove.burner[1].position;
 }

delay (300000+random (60000));

Drink(&cup);
Talk("cool");

}


PassCall 08.07.2011 21:25

Ответ: Инструкции для программистов
 
"optimalTeapotRotation" - а чему равна константа?

Mr_F_ 08.07.2011 21:31

Ответ: Инструкции для программистов
 
подбираем путём проб и ошибок. должна быть равна оптимальному углу для выливания из чайника воды (необяз 45, разные чайник бывают).

PassCall 08.07.2011 21:34

Ответ: Инструкции для программистов
 
Ну а если так тщательно подходить к приготовлению чая, то надо проверить:

- Не имеет ли чайник необходимое количество воды ЗАРАНЕЕ.

- Не включена ли горячая вода во время процесса (мало ли, ктото посуду мыл, а ты с чайником полез).

- И вообще, есть ли в кране вода? Тогда чайник будет пуст (если он не заполнен заранее), но процесс поставки на огонь/базу все равно произойдет, и тогда случиться краш системы "кухня" (ака пожар). будет заполняться очень долго (до той поры, пока воду не включат (не исключено, что она будет ржавая))

И куча других ВНЕЗАПНЫХ проблем.
Ибо такова суть программирования.

PassCall 08.07.2011 21:52

Ответ: Инструкции для программистов
 
Как Малевич рисует картины?

program narisuy_ka_ya_kartinu;
uses canvas, brush;
..........................
begin
a:=random (20)+5;//от балды
for i:= 1 to a do
begin
setcolor (random(256),random(256),random(256));//какой цвет выбрать? а какая епт разница?
if random(2)=0 then fillrect (random(GetWidth)-20,random(GetHeight)-20,random (10)+10,random (10)+10);//так... нарисую ка я квадратик...
else
fillellipse (random(GetWidth)-20,random(GetHeight)-20,random (10)+10,random (10)+10);//или кружочек лучше...
end;



setcolor (0,0,0);
drawtext ('Это не херня, это - абстракция!',0,0);
repaint;
delay (1000);

end.


Кстати, если снести uses, и описать переменные, то это вполне рабочая программа =)

PassCall 08.07.2011 22:04

Ответ: Инструкции для программистов
 
Ход мышления...

Вассермана:
Код:

For i:=1 to getEqualPositionOfMetaphaseMorphedPlasmatickSubstance(2544,ensurance_level(10667,true),4574,0..8885,loadimage('/graph/viscous/meta/free/A7649F4545.png'))
For j:=1 to 65536
For k:=1 to 256
For l:=1 to 8
For m:=1 to 111
For n:=1 to endurance_level(34634,false)
For o:=1 to 65536
if ((((((((((((((((((magmaphares[i,j,k,l,m,n,o] xor magmaphares[i+j,j+k,k+l,l+m,m+n,n+o,o+i]) and (..................................
извините, текст слишком большой, и у сервера не хватает ресурсов на обработку

Блондинки
Код:

if (lowerCase(true/25)='ЛЯЛЯЛЯ') then....
по признанию Министерства здравоохранения дальнейшее чтение способствует развитию психических заболеваний

Хакера
Код:

if (true=false) then drawtext ('ХА!!! Я же говорил, что такое возможно!!!',0,0)
else
drawtext ('=(((( пофиксили',0,0);
repaint;
delay (1000);


Igor 09.07.2011 15:01

Ответ: Инструкции для программистов
 
Порадовал путь мыслей хакера))


Часовой пояс GMT +4, время: 06:28.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot