Переменные. Переменная – это именованная область памяти, в которой хранятся данные определенного типа
Переменная – это именованная область памяти, в которой хранятся данные определенного типа. У переменной есть имя и значение. Имя служит для обращения к области памяти, в которой хранится значение. Во время выполнения программы значение переменной можно изменять. Перед использованием любая переменная должна быть описана.
Пример описания целой переменной с именем а и вещественной переменной х:
int a; float х;
Общий вид оператора описания переменных:
[класс памяти] [const] тип имя [инициализатор];
Рассмотрим правила задания составных частей этого оператора.
· Необязательный класс памятиможет принимать одно из значений auto, extern, staticи register.О них рассказывается чуть позже.
· Модификатор constпоказывает, что значение переменной изменять нельзя. Такую переменную называют именованной константой, или просто константой.
· При описании можно присвоить переменной начальное значение, это называется инициализацией. Инициализатор можно записывать в двух формах – со знаком равенства:
= значение
или в круглых скобках: ( значение )
Константа должна быть инициализирована при объявлении. В одном операторе можно описать несколько переменных одного тина, разделяя их запятыми.
Объяснение:
238.169.12.109 = 11101110.10101001.00001100.01101101
Двоичные числа должны состоять из 8 знаков, поэтому, если их недостаточно, то мы добавляем незначащие нули перед числом.
Объяснение:
238₁₀ = 11101110₂
238 ÷ 2 = 119 (остаток 0)
119 ÷ 2 = 59 (остаток 1)
59 ÷ 2 = 29 (остаток 1)
29 ÷ 2 = 14 (остаток 1)
14 ÷ 2 = 7 (остаток 0)
7 ÷ 2 = 3 (остаток 1)
3 ÷ 2 = 1 (остаток 1)
1 ÷ 2 = 0 (остаток 1)
Записываем снизу-вверх
169₁₀ = 10101001₂
169 ÷ 2 = 84 (остаток 1)
84 ÷ 2 = 42 (остаток 0)
42 ÷ 2 = 21 (остаток 0)
21 ÷ 2 = 10 (остаток 1)
10 ÷ 2 = 5 (остаток 0)
5 ÷ 2 = 2 (остаток 1)
2 ÷ 2 = 1 (остаток 0)
1 ÷ 2 = 0 (остаток 1)
Записываем снизу-вверх
12₁₀ = 1100₂
12 ÷ 2 = 6 (остаток 0)
6 ÷ 2 = 3 (остаток 0)
3 ÷ 2 = 1 (остаток 1)
1 ÷ 2 = 0 (остаток 1)
Записываем снизу-вверх
109₁₀ = 1101101₂
109 ÷ 2 = 54 (остаток 1)
54 ÷ 2 = 27 (остаток 0)
27 ÷ 2 = 13 (остаток 1)
13 ÷ 2 = 6 (остаток 1)
6 ÷ 2 = 3 (остаток 0)
3 ÷ 2 = 1 (остаток 1)
1 ÷ 2 = 0 (остаток 1)
Записываем снизу-вверх
N = 10;
Var
A:array[1..N,1..N] of integer;
i,j,iMin,jMin:integer;
Begin
Randomize;
iMin:=1;
jMin:=1;
WriteLn('Исходный массив:');
For i:= 1 to N do
Begin
For j:= 1 to N do
Begin
A[i,j]:=random(21)-10;
Write(A[i,j]:3,' ');
if A[i,j]<A[iMin,jMin] then
Begin
iMin:=i;
jMin:=j;
End
End;
WriteLn
End;
WriteLn;
WriteLn('Min(A) = A[',iMin,',',jMin,'] = ',A[iMin,jMin])
End.
Пример:
Исходный массив:
4 -8 -4 10 8 10 -1 -7 -5 -1
-3 -8 0 4 7 -1 2 1 3 9
8 -3 8 7 -5 6 -10 -5 6 6
7 -8 4 4 -6 0 6 -6 -7 -8
-5 -7 0 -8 -4 4 -7 0 1 -3
-3 -1 9 9 -4 -4 -5 0 4 -9
9 -7 -3 0 3 -5 -1 6 -1 -3
4 -3 -2 1 4 5 8 6 1 2
3 0 5 -1 -2 -3 -7 5 -3 8
-6 -4 0 -9 -7 -9 6 10 -1 -10
Min(A) = A[3,7] = -10