Anna-Miron
?>

по каналу связи передаются сообщения, содержащие заглавные буквы кириллицы для передачи используется не правильный двоичный код. Для букв А, Б, В и Г используется кодовое слово 101, 110, 100, 111 соответственно. Укажите минимальную сумму длин кодовых слов для букв Д и Е , при котором код будет удовлетворять условию Фано

Информатика

Ответы

tagirova1

F = ¬b · ¬a ∨ ¬b · c

Объяснение:

Выражение записано в какой-то смеси обозначений. Знаки операции логического умножения (∧) заменены знаками обычного умножения (·) , а для логического сложения (∨) знаки оставлены. Заменим и их на знак обычного сложения (+) и выражение сразу станет привычнее.

F = ¬(¬a · b + a · (b + ¬c))

Раскроем внутренние свобки

F = ¬(¬a · b + a · b + a · ¬c)

Вынесем за скобку b

F = ¬(b · (¬a + a) + a · ¬c)

Учтем, что ¬a + a = 1

F = ¬(b · 1 + a · ¬c)

Учтем также, что b · 1 = b

F = ¬(b + a · ¬c)

Снимем общую инверсию по правилу де-Моргана

F = ¬b · ¬(a · ¬c)

И еще раз снимем инверсию с выражения в скобках

F = ¬b · (¬a + c)

Осталось раскрыть скобки

F = ¬b · ¬a + ¬b · c

Моэно записать и в исходных обозначениях

F = ¬b · ¬a ∨ ¬b · c

tteplovoz3789

#include <iostream>

#include <string>

#include <algorithm>

#include <Windows.h>

using namespace std;

bool check_alphabet(char symbol) {

string alphabet = "";

for (size_t j = 0; j < alphabet.size(); j++)

{

 if (alphabet[j] == symbol) {

  return true;

 }

}

return false;

}

pair<int,string> erase_counter_char_in_str_not_latin(string str) {

int i = 0;

int count = 0;

while (i <= str.size() - 1) {

 if (not (check_alphabet(toupper(str[i] {

  str.erase(str.begin() + i);

  count++;

  i--; // раз удалили, то нужно вернуться назад на один: i~45m -> i5~m (i уже идёт на следующий)

 }

 i++;

}

return make_pair(count, str);

}

int main()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

setlocale(LC_ALL, "Russian");

string str;

cout << "Введите строку: " << endl;

cin >> str;

pair<int,string> pair_count_str = erase_counter_char_in_str_not_latin(str);

cout << endl << "Удалено: " << pair_count_str.first << endl;

cout << "Конечная строка: " << pair_count_str.second;

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

по каналу связи передаются сообщения, содержащие заглавные буквы кириллицы для передачи используется не правильный двоичный код. Для букв А, Б, В и Г используется кодовое слово 101, 110, 100, 111 соответственно. Укажите минимальную сумму длин кодовых слов для букв Д и Е , при котором код будет удовлетворять условию Фано
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Mariya Filippov
lbondareva
tatiana2676
Аврамец1911
oldprince840
Кожуховский398
Natella-874535
pelagia-kola2658
smalltalkcoffee5
самир1078
Марина_Мария
александр496
Юлия-Ольга1313
Komarovsergeysk
Pastel-sova