Алгоритм и определение сценария - PullRequest
1 голос
/ 13 мая 2011

Я часто слышу термин «алгоритм», и меня смущает контекст, в котором я иногда вижу его на этом сайте, поэтому я подумал, что попытаюсь прояснить свое понимание.

Для меня алгоритм - это какой-то алгоритм математического процесса, такой как этот

uint UPDC16( unsigned char a, uint crc )
{
    uint b,p;
    a^=crc; crc=(crc>>8)|(a<<8); p=a^(a>>4); p^=(p>>2); b=a; a>>=1;
    if( (p^(p>>1))&1 ) { crc^=0x0001; a|=0x80; }
    if( b & 1 ) crc^=0x0040; b=a; a^=(crc>>8);
    if( a & 1 ) crc^=0x0080; a>>=1;
    if( b & 0x80 ) a|=0x80;
    crc = (crc&0x00ff)|(a<<8);
    return crc;
}

Где, как я думал, при этом выполнялось действие (вращающееся изображение) через nester, если выполняются инструкции, а не математикафункция это был не алгоритм, а функция.

for (int block_x = 0; block_x < 2048; block_x+=8)
 {
    for (int block_y = 0; blocky_y < 2048; block_y+=8)
    { 
       // this is the inner-loop that processes a block
       // of 8x8 pixels.
       for (int x= 0; x<8; x++)
         for (int y=0; y<8; y++)
            dest[x+block_x][y+block_y] = src[y+block_y][x+block_x]
    }
 }

Я его погуглил, но ищу объяснения опытных программистов.Может ли кто-нибудь помочь мне объяснить алгоритмы?

Другая вещь, которая меня беспокоит, это то, что я видел термин «сценарий» несколько раз и не понимаю.Я слышал, что есть языки сценариев, такие как lua ​​(может быть, неправильно).

Они подразумевают использование этих языков или это "скрипт" - это особый метод кодирования?

Я в основном использую c / c ++, если это имеет какое-то значение.

1 Ответ

0 голосов
/ 13 мая 2011

Для вашего первого вопроса: для меня алгоритм может быть такой идеей, как «вычислить сумму всех элементов массива, которая вам нужна .....», функцию (есть вход и выход и несколько промежуточных шагов) или серия математических операций.

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

По вашему второму вопросу: есть два больших типа (я упрощаю) языков программирования: «скомпилированные» и «интерпретированные», и среди последних есть интерактивные или скриптовые языки. Кроме того, вообще говоря, языки сценариев считаются высокоуровневыми: вы можете делать мощные вещи в несколько строк, которые вместе образуют сценарий.

Конечно, некоторые скриптовые языки также могут быть скомпилированы ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...