1. Термины
Переменная - это идентификатор определяющий данные, который имеет уникальное имя и тип данных(строка, целое и т.д.), может изменятся и использоваться в процессе выполнения програмного кода.
Константа - это идентификатор определяющий данные, которые имеет уникально имя и тип данных(строка, целое и т.д.), в процессе выполнения программного кода, изменяться не может, но может быть использовано.
Массив - это ряд или набор данных одного типа, имеющих одно и тоже имя, но с разным индексом. Можно представить в виде таблице. Одномерный массив просто в виде ряда ячеек, двумерный массив в виде таблице состоящей из строк и столбцов. В зависимости от вида массива, указывается определенное количество индексов, например в двумерном массиве 2 индекса - строка и столбец. Массивы бывают одномерными, двумерными и т.д.
Синтаксис - правильное написание программного кода, требуемое для правильной работы программы.
Оператор - команда, которая используются в данном языке программирования, имеет свои функции, может иметь аргументы.
Комментарий - текст, который написан в программном коде, но не используется в программе. В Pawn определяет строку-комментарий с помощью двух слешов - "//", несколько строк берутся в специальные операторные скобки - "/*"(начало комментария) и "*/"(конец комментария)
Циклы - операторы, выполняющие определенную последовательность команд, данное количество раз, либо пока не выполнится условие.
Условие - оператор, проверяющий правильность какого-либо выражения, и выполняющий определенную последовательность команд, при Истине или Лжи. Например: x + y = 4? Если да, то выполняем первую последовательность, если нет, то выполняем другую последовательность команд.
Операторные скобки - скобки ограничивающие функцию/программу началом и концом. В Pawn используются "{" и "}"
2. Переменные, массивы, константы
Переменные
Чтобы использовать переменную в программном коде, необходимо ее объявить и задать ей значение. На языке программирования Pawn(на нем пишут плагины AMXX) это выполняется следующим образом:
new a = 3Как вы поняли(хотя вряд ли ), оператор "new" служит для объявления переменной. Переменная может иметь любое имя, и не должно иметь пробелов и запрещенных символов. В данном случае переменную я назвал "a" и задал ей значение 3. Чтобы задать переменной значение, необходим знак присвоения, выполняющий функцию привязки значения к переменной. В Pawn им является знак "равно" - "=".
Изменить значения переменной, можно несколькими способами:
1. Присвоение нового значения:
new a = 3 a = 4Сначала, мы объявили переменную "a" и присвоили ей значение 3, затем, мы присвоили новое значение - 4.
2. Проведение некоторых арифметических операций:
new a = 3 a = 2 * a + 4Сначала, мы объявили переменную "a" и присвоили ей значение 3, затем мы провели некоторые арифметические операции - умножили(знак "*") на 2 и прибавили(знак "+") 4. В итоге мы получили 10(2 * 3 + 4 = 10).
Также можно увеличивать или уменьшать значение целых переменных с помощью специального кода:
new a = 3 a++Сначала, мы объявили переменную "a" и присвоили ей значение 3, затем, написав "a++", мы увеличили значение на 1, т.е. получили число 4. Аналогично можно уменьшать значение - написав "a--", мы получили бы число 2.
Тип данных переменной можно определить при ее объявлении:
new num:a = 3Объявили целую переменную "a" и присвоили значение "3"
Некоторые примеры и пояснения:
new a = 3 // Объявили переменную "a" и присвоили значение "3" new b = 6 // Объявили переменную "b" и присвоили значение "6" new c // Объявили переменную "c" c = b * a // Присвоили переменной "c" произведение "a" и "b"(6 * 3 = 18)
Массивы
Одномерные массивы в Pawn объявляются также как и переменные, только с указанием вида массива и количеству ячеек:
new Massive[3]Так мы объявили массив с именем "Massive", одномерного вида, с 3мя ячейками. Нумерация ячеек начинается с 0, т.е. последняя ячейка будет с индексом 2.
Чтобы присвоить значения каждой ячейке применяется один из способов:
new Massive[3] Massive[0] = 3 Massive[1] = 6 Massive[2] = 9Задали значение каждой ячейке по отдельности.
new Massive[3] Massive = {3, 6, 9}Объявили массив, и задали ячейкам значения после его объявления.
new Massive[3] = {3, 6, 9}Объявили массив, и задали ячейкам значения во время его объявления.
С массивами можно проводить аналогичные арифметические операции, как и с переменными.
Некоторые примеры и пояснения:
new Massive[3] = {0, 3, 6} // Объявили одномерный массив и присвоили каждой ячейке значение new a = 2 // Объявили переменную и присвоили ей значение 2 Massive[0] = Massive[1] * a // Присвоили ячейке "0" произведение ячейки "1" и переменной "a", в итоге получили 3 * 2 = 6 Massive[1] = Massive[0] - Massive[2] // Присвоили ячейке "1" разницу ячеек "0" и "2", в итоге получили 6 - 6 = 0. // Теперь мы получили следующее: ячейка "0" присвоила себе значение "6", ячейка "1" значение "0", ячейка "2" не изменило своего значения
Константы
Константы теже переменные, только оператор объявления отличается от оператора объявления переменной, и константу нельзя изменить после объявления. Использование аналогичное
Объявление:
const pi = 3.14159Оператор объявления "const", имя константы "pi", значение "3.14159", мы объявили всемирно известную константу "Пи".
3. Функции
Функция, как и переменная, имеет уникальное имя.
Создание своей функции:
MultiplierXtwo(ConstNum[3]) { ConstNum[0] = ConstNum[0] * 2 ConstNum[1] = ConstNum[1] * 2 ConstNum[2] = ConstNum[2] * 2 }Теперь функция MultiplierXtwo будет увеличивать в два раза все значения одномерного массива с тремя ячейками.
4. Условия
Оператор условия - if/else/else if:
if b > a // Если "b" больше "a", то выполняется код, заключенный в операторные скобки { // Какой-либо код... } else // Если "b" не больше "a", то выполняется код, заключенный в операторные скобки { // Какой-либо код... }
if b > a // Если "b" больше "a", то выполняется код, заключенный в операторные скобки { // Какой-либо код... } else if b = a // Если "b" равно "a", то выполняется код, заключенный в операторные скобки { // Какой-либо код... }
Пока что все, буду дополнять статью, в том числе и то что уже написано будет обновлено, ждите изменений, задавайте вопросы, критикуйте. Спасибо за внимание.
Сообщение отредактировал Chaiker: 27 Май 2011 - 16:24