1 задача. var a, b, c: integer; begin write('Введите через пробел три числа: '); readln(a, b, c); if (a > b) then if (b > c) then write('Сумма двух наибольших чисел: ', a + b) else write('Сумма двух наибольших чисел: ', a + c) else if (c > a) then write('Сумма двух наибольших чисел: ', c + b) else write('Сумма двух наибольших чисел: ', b + a) end.
2 задача. var x, f: real; begin write('Введите значение x: '); readln(x); if (x > 0) then f := (2 - x) / (x * x) else f := 6 - (x * x * x); writeln('Значение функции при данном x: ', f) end.
3 задача. var a, b: integer; write('Введите через пробел два числа: '); readln(a, b); writeln('Сумма чисел: ', a + b); writeln('Разность чисел: ', a - b); writeln('Произведение чисел: ', a * b) end.
Для начала, давайте рассмотрим условия задачи и данные, которые нам уже известны.
У нас есть канал связи, по которому передаются сообщения, содержащие только семь букв: А, Б, В, Д, О, Р, Т. Для передачи используется двоичный код, который должен удовлетворять условию Фано.
Мы уже знаем кодовые слова для некоторых букв:
Б — 01,
Д — 001,
Р — 100.
Теперь нам нужно решить, какое наименьшее количество двоичных знаков понадобится для кодирования слова "ВОДОВОРОТ".
Давайте разобъем это слово на отдельные буквы: В, О, Д, О, В, О, Р, О, Т.
Теперь, чтобы закодировать каждую букву этого слова, нам нужно знать ее код.
Мы уже знаем коды для Б (01), Д (001) и Р (100). Однако, нам неизвестно, какому коду соответствуют буквы В, О и Т.
Мы также знаем, что кодовое слово для В должно удовлетворять условию Фано, то есть не должно являться префиксом кодовых слов для других букв. В нашем случае, префиксом будет только кодовое слово для Д (001). Таким образом, кодовое слово для В не может начинаться с 001. Кодовое слово для В также не может начинаться с 01, потому что оно является кодовым словом для Б.
Итак, чтобы найти наименьшее количество двоичных знаков для кодирования слова "ВОДОВОРОТ", нам нужно найти такое кодовое слово для В, которое не начинается с 01 или 001. Оптимальный вариант, который соответствует условиям, будет, например, В — 000.
Теперь у нас есть кодовые слова для всех букв в слове "ВОДОВОРОТ": В — 000, О — ?, Д — 001, О — ?, В — 000, О — ?, Р — 100, О — ?, Т — ?.
Осталось найти кодовые слова для букв О и Т. Применяя тот же принцип, что кодовое слово для О не может начинаться с 01 или 001, а кодовое слово для Т не может начинаться с 01, 001 или 100, мы можем назначить следующие коды: О — 010, Т — 101.
Таким образом, наименьшее количество двоичных знаков, которое потребуется для кодирования слова "ВОДОВОРОТ", будет равно сумме количества двоичных знаков для каждой буквы:
В — 000 (3 знака)
О — 010 (3 знака)
Д — 001 (3 знака)
О — 010 (3 знака)
В — 000 (3 знака)
О — 010 (3 знака)
Р — 100 (3 знака)
О — 010 (3 знака)
Т — 101 (3 знака)
var a, b, c: integer;
begin
write('Введите через пробел три числа: ');
readln(a, b, c);
if (a > b) then
if (b > c) then
write('Сумма двух наибольших чисел: ', a + b)
else
write('Сумма двух наибольших чисел: ', a + c)
else
if (c > a) then
write('Сумма двух наибольших чисел: ', c + b)
else
write('Сумма двух наибольших чисел: ', b + a)
end.
2 задача.
var x, f: real;
begin
write('Введите значение x: ');
readln(x);
if (x > 0) then
f := (2 - x) / (x * x)
else
f := 6 - (x * x * x);
writeln('Значение функции при данном x: ', f)
end.
3 задача.
var a, b: integer;
write('Введите через пробел два числа: ');
readln(a, b);
writeln('Сумма чисел: ', a + b);
writeln('Разность чисел: ', a - b);
writeln('Произведение чисел: ', a * b)
end.
У нас есть канал связи, по которому передаются сообщения, содержащие только семь букв: А, Б, В, Д, О, Р, Т. Для передачи используется двоичный код, который должен удовлетворять условию Фано.
Мы уже знаем кодовые слова для некоторых букв:
Б — 01,
Д — 001,
Р — 100.
Теперь нам нужно решить, какое наименьшее количество двоичных знаков понадобится для кодирования слова "ВОДОВОРОТ".
Давайте разобъем это слово на отдельные буквы: В, О, Д, О, В, О, Р, О, Т.
Теперь, чтобы закодировать каждую букву этого слова, нам нужно знать ее код.
Мы уже знаем коды для Б (01), Д (001) и Р (100). Однако, нам неизвестно, какому коду соответствуют буквы В, О и Т.
Мы также знаем, что кодовое слово для В должно удовлетворять условию Фано, то есть не должно являться префиксом кодовых слов для других букв. В нашем случае, префиксом будет только кодовое слово для Д (001). Таким образом, кодовое слово для В не может начинаться с 001. Кодовое слово для В также не может начинаться с 01, потому что оно является кодовым словом для Б.
Итак, чтобы найти наименьшее количество двоичных знаков для кодирования слова "ВОДОВОРОТ", нам нужно найти такое кодовое слово для В, которое не начинается с 01 или 001. Оптимальный вариант, который соответствует условиям, будет, например, В — 000.
Теперь у нас есть кодовые слова для всех букв в слове "ВОДОВОРОТ": В — 000, О — ?, Д — 001, О — ?, В — 000, О — ?, Р — 100, О — ?, Т — ?.
Осталось найти кодовые слова для букв О и Т. Применяя тот же принцип, что кодовое слово для О не может начинаться с 01 или 001, а кодовое слово для Т не может начинаться с 01, 001 или 100, мы можем назначить следующие коды: О — 010, Т — 101.
Таким образом, наименьшее количество двоичных знаков, которое потребуется для кодирования слова "ВОДОВОРОТ", будет равно сумме количества двоичных знаков для каждой буквы:
В — 000 (3 знака)
О — 010 (3 знака)
Д — 001 (3 знака)
О — 010 (3 знака)
В — 000 (3 знака)
О — 010 (3 знака)
Р — 100 (3 знака)
О — 010 (3 знака)
Т — 101 (3 знака)
Суммируя эти значения, получаем 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 = 27 двоичных знаков.
Таким образом, для кодирования слова "ВОДОВОРОТ" вам понадобится 27 двоичных знаков.