Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Задачи для начинающих

5160   8 9 10 11 12 13 14 15 16 17 18 все
AlexNek патриот14.02.21 16:31
AlexNek
NEW 14.02.21 16:31 
в ответ anly 14.02.21 16:17
позволяют работать сотням программ управления сразу в одном контроллере

Вообще то нам обычно нужна была одна программа, дай бы бог ёё там разместить смущ

Большое преимущество данного языка, не нужно объяснять, что такое "спагетти код" - всё сразу и так видно бебе

anly патриот14.02.21 16:37
anly
NEW 14.02.21 16:37 
в ответ AlexNek 14.02.21 16:02
Если мне надо будет программить какое то железо, то я лучше возьму С.
я когда то, еще будучи студентом, весьма хорошо освоил язык Ассемблер, и писал игрушки для самодельных компьютеров Специалист и Синклер (ZXSpectrum). На кафедре тоже для Синклера написал управление сигнализацией, в паре с коллегой который оборудование разработал.

Так вот тогда мне казалось что я могу всё, и язык С и в руки брать не хотел даже для ознакомления.

Но позже ебстественно понял что С может быть поудобнее, а потом и С++ оценил.

Проклят нарушающий межи ближнего своего (Втор.27:17)
anly патриот14.02.21 16:42
anly
NEW 14.02.21 16:42 
в ответ AlexNek 14.02.21 16:31
ольшое преимущество данного языка, не нужно объяснять, что такое "спагетти код" - всё сразу и так видно
предлагаю написать на С управление светоформ или светом. И тогда мы сравним какой из кодов званию спагети более соответствует.
Проклят нарушающий межи ближнего своего (Втор.27:17)
anly патриот14.02.21 16:53
anly
NEW 14.02.21 16:53 
в ответ AlexNek 14.02.21 16:27
Такого в задаче управления писать нельзя. Хорошо хоть мои знакомые "железнячники" этого не знают
не знают потому как узкоспециализированные задачи пишут.

Если был они управление роботом к примеру что машины клепает написать попробовали, и так чтобы алгоритм мобильно менять можно было, то оценили бы специальные языки программирования. Ибо они для этого заточены.

Проклят нарушающий межи ближнего своего (Втор.27:17)
AlexNek патриот14.02.21 16:57
AlexNek
NEW 14.02.21 16:57 
в ответ anly 14.02.21 16:42
И тогда мы сравним какой из кодов званию спагети более соответствует.

Если вам интересно меряться пиписьками то это явно не здесь смущ

anly патриот14.02.21 17:01
anly
14.02.21 17:01 
в ответ AlexNek 14.02.21 16:57

а где еще мерять письки языков программирования, как не здесь?!

Проклят нарушающий межи ближнего своего (Втор.27:17)
anly патриот14.02.21 17:10
anly
NEW 14.02.21 17:10 
в ответ AlexNek 14.02.21 16:57, Последний раз изменено 14.02.21 17:32 (anly)

вот к примеру в приаттаченом файле во что генерируется упраление светофором если генерировать в СиШарп

----

странно текстовый файл приаттачить не удаётся, потому привожу его содержимое.

.......

// input

public bool Button; // кнопка пешехода

// output

public bool R, Y, G; //светофор для машин

public bool R2, G2; // светофор для пешеходов

//local

public bool BB;

public int Branch1 = 1;

public int Branch1_Prev;

public int Branch1_T;

public bool Branch1_Pulse = true;

public int Branch2 = 1;

............................

if (Branch1_Pulse)

{

_ _ Branch1_Prev = Branch1;

_ _ Branch1_T = Environment.TickCount;

}

switch (Branch1)

{

_ _ case 1: /*S1*/

_ _ {

_ _ _ _ /*машины едут, пешеходы стоят*/

_ _ _ _ R = Y =_ G2 = false;

_ _ _ _ G = R2 = true;

_ _ _ _ /*пешеход нажал кнопку*/

_ _ _ _ if (BB)

_ _ _ _ {

_ _ _ _ _ _ /*прошло ли достатоно времени для потока машин*/

_ _ _ _ _ _ if ((Environment.TickCount - Branch1_T) > 5000)

_ _ _ _ _ _ {

_ _ _ _ _ _ _ _ Branch1 = 2;

_ _ _ _ _ _ }

_ _ _ _ }

_ _ }

_ _ break;

_ _ case 2:

_ _ {

_ _ _ _ /*машинам желтый*/

_ _ _ _ Y = true; G = false;

_ _ _ _ /*выдержать желтый*/

_ _ _ _ if ((Environment.TickCount - Branch1_T) > 2000)

_ _ _ _ {

_ _ _ _ _ _ Branch1 = 3;

_ _ _ _ }

_ _ }

_ _ break;

_ _ case 3:

_ _ {

_ _ _ _ /*машины стоят*/

_ _ _ _ Y = false; R = true;

_ _ _ _ /*люди идут*/

_ _ _ _ R2 = false; G2 = true;

_ _ _ _ /*пусть люди походят*/

_ _ _ _ if ((Environment.TickCount - Branch1_T) > 5000)

_ _ _ _ {

_ _ _ _ _ _ Branch1 = 4;

_ _ _ _ }

_ _ }

_ _ break;

_ _ case 4:

_ _ {

_ _ _ _ /*люди стоят*/

_ _ _ _ R2 = true; G2 = false;

_ _ _ _ /*игнорировать нажатия кнопки пока люди ходили*/

_ _ _ _ BB = false;

_ _ _ _ /*машинам желтый*/

_ _ _ _ Y = true; R = false;

_ _ _ _ /*коротенькая пауза*/

_ _ _ _ if ((Environment.TickCount - Branch1_T) > 1000)

_ _ _ _ {

_ _ _ _ _ _ Branch1 = 1; /*S1*/

_ _ _ _ }

_ _ }

_ _ break;

}

Branch1_Pulse = Branch1 != Branch1_Prev;

switch (Branch2)

{

_ _ case 1: /*S1*/

_ _ {

_ _ _ _ /*пешеход нажал кнопку*/

_ _ _ _ if (Button )

_ _ _ _ {

_ _ _ _ _ _ Branch2 = 2;

_ _ _ _ }

_ _ }

_ _ break;

_ _ case 2:

_ _ {

_ _ _ _ /*пешеход отжал кнопку*/

_ _ _ _ if (!(Button ))

_ _ _ _ {

_ _ _ _ _ _ /*запомнить это нажатие*/

_ _ _ _ _ _ BB = true;

_ _ _ _ _ _ Branch2 = 1; /*S1*/

_ _ _ _ }

_ _ }

_ _ break;

}

Проклят нарушающий межи ближнего своего (Втор.27:17)
AlexNek патриот14.02.21 18:13
AlexNek
NEW 14.02.21 18:13 
в ответ anly 14.02.21 17:01

Ну если так хочется, вон в соседней ветке девочке картинку нужно загрузить.

Напишите на вашем любимом языке и пусть она сравнит результат и код.

AlexNek патриот14.02.21 18:16
AlexNek
NEW 14.02.21 18:16 
в ответ anly 14.02.21 17:10
если генерировать в СиШарп

Можно брать и запускать?

anly патриот14.02.21 18:46
anly
NEW 14.02.21 18:46 
в ответ AlexNek 14.02.21 18:16, Последний раз изменено 14.02.21 18:49 (anly)

можно. только обернуть в класс. и дёргать его.

но чтобы ниже приведенное получить надо поработать


Проклят нарушающий межи ближнего своего (Втор.27:17)
Murr патриот14.02.21 18:53
Murr
NEW 14.02.21 18:53 
в ответ anly 14.02.21 17:10

во что генерируется упраление светофором если генерировать в СиШарп

-----

Уууу...

Что-то похожее Я и ожидал.

AlexNek патриот14.02.21 18:57
AlexNek
NEW 14.02.21 18:57 
в ответ anly 14.02.21 18:46

И как Вы оцениваете этот код?

anly патриот14.02.21 19:04
anly
NEW 14.02.21 19:04 
в ответ AlexNek 14.02.21 18:13
Напишите на вашем любимом языке и пусть она сравнит результат и код.
а результат и код это разное?
Проклят нарушающий межи ближнего своего (Втор.27:17)
anly патриот14.02.21 19:06
anly
NEW 14.02.21 19:06 
в ответ AlexNek 14.02.21 18:57

на высшем уровне. нет ничего лишнего.

Проклят нарушающий межи ближнего своего (Втор.27:17)
anly патриот14.02.21 19:08
anly
NEW 14.02.21 19:08 
в ответ Murr 14.02.21 18:53

Уууу...

Что-то похожее Я и ожидал.

..............

значит Вы адекватный человек.

Проклят нарушающий межи ближнего своего (Втор.27:17)
AlexNek патриот14.02.21 19:15
AlexNek
NEW 14.02.21 19:15 
в ответ anly 14.02.21 19:04

Например пицца это результат моей работы, а рецепт - это код спок

AlexNek патриот14.02.21 19:17
AlexNek
NEW 14.02.21 19:17 
в ответ anly 14.02.21 19:06
на высшем уровне

Значит код потрясающий говорите, до спагетти как до неба?

И сотня светофоров получается нажатием одной кнопы? смущ

anly патриот14.02.21 19:25
anly
NEW 14.02.21 19:25 
в ответ AlexNek 14.02.21 19:17
Значит код потрясающий говорите, до спагетти как до неба? И сотня светофоров получается нажатием одной кнопы?
я говорю то что сказал уже, а всякий тупой стёб без малейшей аргументации мне не интерестен.
Проклят нарушающий межи ближнего своего (Втор.27:17)
Murr патриот14.02.21 19:55
Murr
NEW 14.02.21 19:55 
в ответ anly 14.02.21 19:08

значит Вы адекватный человек.

-----

Причем тут Я?

Заявляется (исходно) что описывается автомат, а решение предлагается в виде говнокода...

Синтезировали бы обычный автомат - все было бы приемлемо.

anly патриот14.02.21 20:10
anly
NEW 14.02.21 20:10 
в ответ Murr 14.02.21 19:55
Заявляется (исходно) что описывается автомат, а решение предлагается в виде говнокода... Синтезировали бы обычный автомат - все было бы приемлемо.
ну ясно что всё что не автомат, то говнокод. Я бы глянул на этот говноавтомат на досуге, да боюсь такое и показать стыдно.
Проклят нарушающий межи ближнего своего (Втор.27:17)
8 9 10 11 12 13 14 15 16 17 18 все