Существует формула, которая связывает между собой количество возможных информационных сообщений N и количество информации I, которое несет полученное сообщение:
N = 2 в степени I, следовательно
8 = 2 в степени 3, следовательно 3 - количество информации которое несёт одна буква этого алфавита.
<h2>Решено.</h2>
<u><em>На языке программирования Pascal:</em></u>
program reverse;
var a,b : string;
i : integer;
begin
b:='';
readln(a);
for i := 0 to length(a)-1 do
b:= b + a[length(a)-i];
writeln(b)
end.
<u><em>На языке программирования Python:</em></u>
if len(str(int(input('Введите 3-х значное число: ')))) == 3:
print(str(int(input('Введите 3-х значное число: ')))[::-1])
else:
print('Вам нужно ввести 3-х значное число!')
Sub Alg_1()
xN = -5: xK = 5: h = 0.1
x = xN: i = 1
Do While x <= xK
y = 3 * x ^ 2 - 6 * x + 5
Cells(i, 1) = x: Cells(i, 2) = y
x = x + h: i = i + 1
Loop
End Sub
Во вложении файл с рабочей книгой MS Excel 2003. Макрос на листе 1.
<u>Теперь о Вашей ошибке</u>
<span>Dim xN, xK, x As Integer
Dim y, h As Single
xN = -5
...
h = 0.1
x = xN
...
x = x + h</span>
Такое описание означает, что xN, xK будут типа Variant, х - типа Integer.
y тоже будет типа Variant, h - типа Single.
При выполнении опeратора x=x+h целочисленное x сначала увеличится на 0.1, а затем дробная часть будет отброшена. Поэтому х постоянно будет равен xN и цикл станет бесконечным.
Program gt;
var n,m:integer;
f:real;
begin
readln(n,m);
f:=(n-2*m)/((n+m)*(n+m))
writeln('n=',n);
writeln('m=',m);
writeln('f=',f);
end.