Во второй строчке видим операторы 'if' и 'then', которые переводятся с английского как 'если' и 'тогда' соответственно. Т. е. если, как бы, перевести вторую строчку на русский язык, то получим следующее: "если a < 5 тогда" Таким находящаяся после then функция выполняется только в том случае, если выражение между if и then верно.
Разберем фрагмент кода: a := 10; if a < 5 then a := 5; Понятно, что на первой строчке переменная 'a' приравнивается к 10. Затем на второй строчке идет условие a < 5. Подставляем 'a': 10<5 — неравенство не верно, поэтому 'a := 5; ' не будет выполнено в этой программе, и 'a' не изменилось, и по-прежнему равно 10.
Рассмотрим еще один фрагмент a := 15; if a > 10 then a := 10;
В первой строке 'a' приравнивается к 15. Затем идет условие a>10, 15>10 — верно, поэтому выполняем следующую строку и приравниваем 'a' к 10. В итоге 'a' становится равным 10
#include <stdlib.h>
int main()
{
int n=10, h;
int a[n];
srand (time(NULL));
for (int i=0; i<n; i++)
{
a[i] = rand() % 21 - 10;
printf ("%4d ", a[i]);
}
printf("\n");
for (int i=0; i<n/4; i++){
h = a[i]; a[i] = a[n/2-i-1]; a[n/2-i-1] = h;
}
for (int i=n/2; i<3*n/4; i++){
h = a[i]; a[i] = a[3*n/2-i-1]; a[3*n/2-i-1] = h;
}
for (int i=0; i<n; i++) printf ("%4d ", a[i]);
printf("\n");
return 0;
}
Пример:
-4 -10 -2 -8 3 -2 1 -5 -6 -5
3 -8 -2 -10 -4 -5 -6 -5 1 -2