Varp,v,t,x:integer;
begin
write('Введите число ');
readln(x);
p:=x div 100;
v:=(x div 10) mod 10;
t:=(x mod 100) mod 10;
if (p < v) and (p<t) then
writeln('Минимальное цифра = ',p);
if (v < p) and (v<t) then
writeln('Минимальное цифра = ',v);
if (t < p) and (t<v) then
writeln('Минимальное цифра = ',t);
end.
450 = <span>111000010 </span>
0000000111000010 - прямой
1111111000111101 - обратный
+1
1111111000111110 - дополнительный
з.ы числа написаны в 2битной сетке (если нужно убери первые нули)
В двоичную:
556:2=278 ост.0
278:2=139 ост.0
139:2=69 ост.1
69:2=34 ост.1
34:2=17 ост.0
17:2=8 ост.1
8:2=4 ост.0
4:2=2 ост.0
2:2=1 ост.0
1:2=0 ост.1
Остатки записываем в обратном порядке (снизу вверх): 1000101100
в восьмеричную:
556:8=69 ост.4
69:8=8 ост.5
8:8=1 ост.0
1:8=0 ост.1
Остатки записываем в обратном порядке (снизу вверх): 1054
в шестнадцатеричную:
556:16=34 ост.12 (С)
34:16=2 ост.2
2:16=0 ост.2
Остатки записываем в обратном порядке (снизу вверх): 22С
Этому есть несколько причин.
1. Если имеется требование объявлять ВСЕ переменные в программе, то это хранит программиста от искаженного указания имен переменных, например, xl вместо x1 или suma вместо summa.
2. Объявление переменных позволяет явно указать их типы, а использование типизированных переменных позволяет с меньшими усилиями добиться правильной записи алгоритма. Например, при типизации переменных последовательность команд c=5 a=3*c c=a/3 недопустима. В самом деле, присваивание необъявленной переменной "с" значения целочисленной константы 5 подразумевает, что она тоже становится целочисленной. Далее, по той же причине необъявленная переменная "а" также получает целый тип. И третий оператор выполняет деление. А такая операция деления дает вещественный результат и присваивание его целочисленной переменной "с" недопустимо, потом что приведет к потере дробной части. И мы получаем сообщение об ошибке, т.е. можем вовремя ошибку увидеть и исправить её.
3. Некоторые системы программирования независимо от того, объявлена переменная или нет, очищают её нулём (или делают пустой, если переменная символьная). А некоторые этого не делают. Появление в программе необъявленной переменной с таким неопределенным значением может вызывать неожиданное поведение этой программы. Многие системы, в которых объявление переменных обязательно, выдают сообщение, что переменной не было присвоено начальное значение, что также помогает избегать ошибок.
4. При объявлении переменных в одном месте, им всем отводится одна область памяти, что уменьшает затраты вычислительной системы на адресацию памяти и делает программу компактнее, а также ускоряет её работу. Особенно это важно при нехватке оперативной памяти, когда программа вынужденно использует виртуальную память, которая располагается на внешнем носителе.
Program arr;
Const n=3;
var i, j, tmp, k, z:integer;
c:boolean;
a:array [1..n,1..n] of integer;
begin
c:=false;
for i:=1 to n do
for j:=1 to n do
read(a[i][j]);
for i:=1 to n do
for j:=1 to n do
begin
tmp:=a[i][j];
for k:=i+1 to n do
for z:=j+1 to n do
if tmp = a[k][z] then
c:=true;
end;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i][j], ' ');
writeln;
end;
if c = true then
writeln('В данном массиве есть равные друг другу элементы')
else writeln('Элементы, равные друг другу, отсутсвуют в данном массиве');
end.