shape1
shape2
shape3
shape4
shape7
shape8

Основы программирования


Статус
Закрыто для дальнейших ответов.

Anchous

Новичок
Пользователь
07.07.2017
0
1
0
Начнем с того, что программирование подразумевает не только логику и математическое мышление, еще нужно развивать и визуальное мышление, представление "объектов" в уме, рисовать их и представлять. Начнем с логических операциях:​
Соединители логических условий:​
&& — И,​
|| — ИЛИ.​
! — НЕ​

Пример использования в условии IF:​
#include <stdio.h>
int main(void) {
int a = 5, b =10, c = 25, d = 100, result;
if (b > a)
printf("b > a\n");
if (a >= b || b <= c)
printf("a >= b OR b <= c\n");
if (a == c / a && (c % a) == 0) {
printf("c = a * a\n");
}
return 0;
}  
 Данная программа в результате выполнения напечатает следующее:
b > a
a >= b OR b <= c
c = a * a
 
Условные операторы
Пора познакомиться и с операторами позволяющими создавать условия. С одним вы уже познакомились выше — это условие IF («ЕСЛИ») которое выполняет следующую после него единственную строку кода или блок кода, если условие в круглых скобках верно.
У условия с IF имеется еще альтернативная форма IF-ELSE (ЕСЛИ-ИНАЧЕ) Пример:​
Код:
#include <stdio.h>
int main(void) {
    int a = 5, b =10, c = 25, d = 100, result;
     if (b > a) {
        printf("b > a\n");
    } else {
        printf("b < a\n");
    }
     return 0;
}
А вот еще один пример, только на этой раз IF-ELSE IF-ELSE​
Показываю на примере административных рангов:​
Код:
 "    if(PlayerInfo[playerid][pAdmin] == 6) { arank = "{EF0A16}Revelation Developer 6lvl"; }
            else if(PlayerInfo[playerid][pAdmin] == 5) { arank = "{137F11}Главный администратор 5lvl"; }
            else if(PlayerInfo[playerid][pAdmin] == 4) { arank = "{790D67}Администратор сервера 4lvl"; }
            else if(PlayerInfo[playerid][pAdmin] == 3) { arank = "{790D67}Администратор сервера 3lvl"; }
            else if(PlayerInfo[playerid][pAdmin] == 2) { arank = "{2E68B9}Модератор 2lvl"; }
            else if(PlayerInfo[playerid][pAdmin] == 1) { arank = "{2E68B9}Модератор 1lvl"; }
            else { arank = "Администратор:"; }"
Последний пример позволяет выполнить только дно из нескольких действий (один из блоков кода), а следующие после этого действия проверки игнорируются. Так, если b > a, то проверка на то, равно ли b == a производиться не будет.​
 
Другой способ создать проверку условия — это использовать конструкцию SWITCH-CASE-DEFAULT. Ниже приведен пример (Вырезал из мода)​
Код:
    switch(PlayerInfo[playerid][pLevel])
    {
    case 2..4:
        {
            SetPlayerPos(playerid,1202.4523,-1760.3716,13.5865);
            SetPlayerFacingAngle(playerid, 92.374);
            SetPlayerInterior(playerid,0);
            return 1;
        }
    case 5..7:
        {
            SetPlayerPos(playerid,-1965.3966,137.4904,27.6875);
            SetPlayerFacingAngle(playerid, 92.374);
            SetPlayerInterior(playerid,0);
            return 1;
        }
    case 8..100:
        {
            SetPlayerPos(playerid,2840.8250,1290.4175,11.3906);
            SetPlayerFacingAngle(playerid, 92.374);
            SetPlayerInterior(playerid,0);
            return 1;
        }
    }
    return 1;
}
Оператор switch принимает в качестве аргумента какое-либо значение, значение которой необходимо проверить. case 2..4:, case 5..7:, case 8..100: case 100: default: — являются метками, которые используются в операторе switch и goto для перемещения по коду. Конкретно метки case и default используются в switch, оператор ищет их и проверяет их соответствие значению переменного аргумента. В нашем случае значению 100 переменной d соответствует метка case 100:. Когда найдена соответствующая метка, программа выполняет ассоциируемый с нею код, то есть будет выполнена функция printf() и оператор break.

Цикл WHILE

Писал сам,так как в моде показан сложный пример кода

#include <stdio.h>
int main(void) {
int a = 5, b = 10, c = 25, d = 100, result;
while (a <= d) {
if (a % 10 == 0)
printf("%d ", a);
a += 5;
}
printf("\n");
return 0;
}
 
Код:
#include <stdio.h>
int main(void) {
    int a = 5, b = 10, c = 25, d = 100, result;
     while (a <= d) {
        if (a % 10 == 0)
            printf("%d ", a);
         a += 5;
    }
    printf("\n");
    return 0;
}  
После чего мы получаем комбинацию цифр:10,20,30,40,50,60,70,80,90,100

Цыкл while принимает значение и выполняет блок кода до тех пор,пока значение остается верным.Мы обязаны каждый каждый раз увеличивать значение переменной a, которая фигурирует в условии, иначе мы получим бесконечный цикл.

И последний цыкл CONTINUE.Continue позволяет остановить только текущую итерацию и перейти к следующей. Пример:

#include <stdio.h>
#include <string.h>
int main(void) {
char str[100];
while (1) {
printf("Введите слово: ");
scanf("%s", str);
printf("\n");
if (strcmp(str, "exit") != 0) {
printf(">> %s\n", str);
} else {
continue;
/* выполнено не будет */
printf("bye!\n");
}
}
return 0;
}



Некоторые данные были взяты из методических указаний, принадлежащих Гомельскому государственному машиностроительному колледжу!

Автор:Я.

 
Последнее редактирование модератором:
Статус
Закрыто для дальнейших ответов.