Доступ к готовым решениям

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Урок Операторы в pawn

Praetorian

Изучающий
Пользователь
Регистрация
9 Янв 2013
Сообщения
904
Лучшие ответы
0
Репутация
167
Добрый день,уважаемые пользователи нашего портала.

Я бы хотел рассказать новичкам в PAWN о том,что такое оператор и какие бывают операторы.
Хочу сразу уточнить,что про побитовые операторы я рассказывать в этой статье не буду.

Для начала,нам нужно разобраться в том,что же такое оператор?

Оператор - это команда языка программирования,которая заставляет компилятор выполнить какое-то действие.

Типы операторов:
1) Операторы присваивания:

PHP:
d = y; // Присвоит переменной d значение y
d = x+y; // Присвоит переменной d сумму значений x и y
d = x-y; // Присвоит переменной d разность значений переменных x и y
d = x*y; // Присвоит переменной d произведение значений переменных x и y
d = x/y; // Присвоит переменной d деление значений x на y
d = x%y; // присвоит переменной x остаток от деления значения переменной x на y
x += a; // присвоит переменной x сумму значений переменных x и a, идентично x = x + a
x -= a; // присвоит переменной x разность значений переменных x и a, идентично x = x - a
Эти операторы выполняют стандартные математические функции,думаю,тут все должно быть понятно.

2) Операторы инкремента/декремента:
Ничего сложного кроме названия в этих операторах нет.
Оператор инкремента увеличивает значение переменной на еденицу, оператор декремента уменьшает значение переменной на еденицу.
Пример использования:
PHP:
x++; // увеличим значение переменной x на 1, идентично x = x + 1
x--; // уменьшим значение переменной x на 1, идентично x = x - 1
x = y++; // присвоит переменной x значение переменной y, затем увеличит значение переменной y на 1.
x = --y; // уменьшит значение переменной y на 1, затем присвоит переменной x значение переменной y(уже уменьшенное).
3) Операторы выражения:

Существует три оператора выражения:
&& — означает И
|| — означает ИЛИ
! — означает НЕ
Пример использования оператора &&:
PHP:
if(x = 10 && y = 10) // Проверка,если значение переменных x и y = 10, то выводится сообщение в чат,если же условие не выполняется - ничего не произойдет.
{
   SendClientMessage(playerid, -1, "Значение x и y = 10");// Для примера,выведем сообщение игроку.
}
Пример использования оператора ||:
PHP:
if(x = 10 || y = 10) // Проверка,если значение переменной x = 10 или значение переменной y = 10, то выводится сообщение в чат,если же условие не выполняется - ничего не произойдет.
{
   SendClientMessage(playerid, -1, "Значение x и y = 10");// Для примера,выведем сообщение игроку.
}
Пример использования оператора !:
PHP:
if(!IsPlayerInAnyVehicle(playerid)) // Если игрок не в машине,то мы выведем ему сообщение " Вы не в машине "
{
  SendClientMessage(playerid,-1,"Вы не в машине");
}

4) Оператор if/else:

if — при дословном переводе означает ‘если’
else — иначе
Для сравнения используются следующие знаки:
> — больше
< — меньше
>= — больше либо равно
<= — меньше либо равно
== — равно
!= — не равно

Примеры с конструкцией if показаны выше,могу лишь показать пример еще и с использованием else.
PHP:
new x = 5,y = 10;
if(x <= y) // Если x меньше или равно y, то
{
  SendClientMessage(playerid,-1,"Переменная x меньше или равна переменной y");
}
else // Если условие ложно,то
{
  SendClientMessage(playerid,-1,"Переменная x больше y");
}
5) Операторы switch/case:
Оператор switch это много структурированных if. Такая конструкция используется в целях оптимизации(Исключение: Большие промежутки значений,в таком случае,if будет быстрее)
Пример:
PHP:
new x = random(5); // Переменной x будет присвоено случайное значение от 0 до 4
switch(x)
{
  case 0: SendClientMessage(playerid,-1,"x = 0");
  case 1,2: SendClientMessage(playerid,-1,"x = 1 или x = 2");
  case 2..4: SendClientMessage(playerid,-1" x в диапазоне от 2 до 4");
}
Теперь про оптимизацию,этот же самый код можно записать в другом виде,но этот вариант медленней.
PHP:
new x = random(5);
if(x == 0)
{
  SendClientMessage(playerid,-1,"x=0");
}
else if(x == 1 || x == 2)
{
  SendClientMessage(playerid,-1,"x=1 или x = 2");
}
else if(x >=2 && x <= 4)
{
  SendClientMessage(playerid,-1,"x в диапазоне от 2 до 4");
}
6) Оператор while и do/while:
While и do/while - циклические операторы,которые выполняются пока выполняется какое-либо условие.
Условия такие же как и в if
PHP:
new x = 1; // Присваиваем x значение 1
while(x < 10) // Пока x меньше 10 выполняется код
{
  x++; // x = x+1
}
Теперь с do/while
PHP:
new x;
do // делай
{
	print("x != random(10)");
}
while (x != random(10)); // пока x не равен random(10)
7) Оператор for
С помощью этого оператора мы можем создать цикл.
PHP:
for(new x = 0; x < 5; x++) // Установим переменной x значение 1. Цикл будет выполнятся,пока x меньше 5. Каждая итерация цикла увеличивает значение переменной x на единицу.
{
  printf("x=%d",x);
}
// Цикл приостановит работу,когда x станет равным 5
Теперь рассмотрим бесконечный цикл
PHP:
for(new x = 0; x += 3) // Установим x = 0, и при каждом выполнении прибавляем к x три.
{
 printf("x = %d",x);
}
Циклы можно прервать оператором break; или пропустить итерацию, с помощью continue;
PHP:
for (new x = 0; x < 10; x++)
{
	if (x == 5) continue;
	if (x == 8) break;
	printf("%d", x);
	// результат: 0,1,2,3,4,6,7
}
Я буду очень рад,если все,что я здесь написал кому-то пригодится.
Спасибо за внимание :)
Если у вас есть что заметить,или добавить - пишите сюда.
Автор: Praetorian
 
Последнее редактирование:
Сверху Снизу