- •Предисловие.
- •1. Введение.
- •2. Количество информации.
- •2.1. Формула хартли.
- •2.2. Формула шеннона.
- •2.3. Свойства энтропии.
- •2.4. Энтропия в информатике и физике.
- •2.5. Вероятностный и объемный подходы к измерению количества информации.
- •2.6. Различные аспекты анализа информации.
- •3. Принципы кодирования и декодирования информации.
- •3.1. Буква (знак, символ). Алфавит.
- •3.2. Кодировщик и декодировщик.
- •3.3. Международные системы байтового кодирования.
- •3.4. Помехоустойчивое кодирование информации.
- •4. Передача информации.
- •4.1. Из истории развития передачи информации.
- •4.2 . Общая схема передачи информации.
- •4.3. Теорема котельникова.
- •4.4.Информационная емкость дискретного сигнала (сообщения). Формула шеннона.
- •4.5. Предельная скорость передачи информации по шеннону. Формула хартли - шеннона.
- •4.6. Теорема шеннона для дискретного канала с помехами.
- •5. Дискретные двоичные (бинарные) сигналы.
- •5.1. Регенерация двоичных сигналов.
- •5.2. Помехозащищенность двоичных сигналов.
- •5.3. Кодирование двоичных сигналов.
- •6. Аналоговые и дискретные процессы.
- •6.1. Аналоговые и дискретные сигналы.
- •6.2. Измерение отношения сигнал – шум.
- •6.3. Дискретизация и кодирование аналогового сигнала.
- •7. Цифровая телефонная связь.
- •8. Цифровая телеграфная связь.
- •9. Цифровое телевидение.
- •10. Системы передачи информации
- •10.1. Параметры радиосигналов.
- •10.2. Многоканальные линии связи. Уплотнение информации.
- •11. Оптоволоконная связь.
- •11.1. Из истории кабельной связи.
- •11.2. Принцип оптоволоконной связи.
- •12. Локальные сети.
- •12.1. Аппаратные средства.
- •12.2. Конфигурация локальных сетей.
- •12.3. Организация обмена информацией.
- •13. Спутниковая связь.
- •13.1. Общая характеристика спутниковой связи.
- •13.2. Принципы спутниковой связи.
- •14. Системы счисления.
- •14.1. Непозиционные системы счисления.
- •14.2. Позиционные системы счисления.
- •14.3. Перевод чисел из десятичной системы в другую систему.
- •14.4. Перевод чисел в десятичную систему из других систем.
- •14.5. Взаимные преобразования двоичных, восьмеричных и шестнадцатеричных чисел.
- •14.6. Двоично-десятичная система.
- •15. Языки программирования.
- •15.1. Языки программирования. Общая характеристика.
- •15.2. Язык программирования си. История создания. Общая характеристика.
- •15.3. Язык программирования си. Процесс создания исполняемого файла.
- •15.4. Язык программирования си. Распределение памяти программы.
- •15.5. Язык программирования си. Основные понятия.
- •15.6. Язык программирования си. Данные.
- •15.7. Язык программирования си. Структура простой программы.
- •Приложение 1. Система семибитного кодирования.
- •Приложение 2. Модифицированная альтернативная кодировка.
- •Приложение 3: клод элвуд шеннон.
- •Литература.
- •Оглавление.
15.7. Язык программирования си. Структура простой программы.
/* ПРОГРАММА:
information.c – пример вывода сообщения. /* 1 */
*/
/*#############################################*/ /* 2 */
/*============================= include */ /* 3 */
#include<stdio.h> /* 4 */
/*============================= main() */ /* 5 */
main() /* 6 */
{ /* 7 */
int num; /* 8 */
num=25; /* 9 */
printf(“%d - это мое любимое число\n”,num); /* 10 */
return 0; /* 11 */
} /* 12 */
/*#############################################*/ /* 13 */
РЕЗУЛЬТАТ РАБОТЫ ПРОГРАММЫ.
25 - это мое любимое число
ПОЯСНЕНИЯ К ПРОГРАММЕ.
/* 1 */ ● название программы
/* 2 */ /* 13 */ ● строки комментария
/* 3 */ ● раздел включаемых файлов
/* 4 */ ● заголовочный файл стандартных процедур ввода-вывода
● # признак директивы препроцессора
/* 5 */ ● раздел определения функции main()
/* 6 */ ● идентификатор функции main()
/* 7 */ ● начало тела функции (begin)
/* 8 */ ● оператор описания
/* 9 */ ● оператор присваивания (инициализация переменной)
/* 10 */ ● printf(…) вызов функции форматированного вывода
● %d вывод десятичного знакового числа, переменной num
● \n символ «новая строка»
● ; отделяет один оператор от другого
/* 11 */ ● оператор возврата в точку вызова функции.
/* 12 */ ● конец тела функции (end).
***************************************************************
/* ПРОГРАММА:
fathom_feet.c – перевод морских саженей в футы и сантиметры (пример вывода сообщений).
*/
/*#############################################*/
/*
1 морской фут (foot, pl. feet) = 30.48 см;
1 морская сажень или фатом (fathom) = 6 футам = 182,88 см.
*/
/*============================= include */
#include<stdio.h>
/*============================= main() */
main()
{/*.---------------------------.begin main() */
float feet; /* описание переменной: количество футов */
float fathoms; /* описание переменной: количество фатомов */
float cents; /*описание переменной: количество сантиметров */
int k_fath_foot=6; /*описание и инициализация константы */
float k_foot_cent=30.48; /*описание и инициализация константы */
fathoms =2; /* инициализация переменной */
feet=k_fath_foot*fathoms;
cents= k_foot_cent *feet;
/* вызов функции форматированного вывода */
printf(“ В %f фатомах %f футов или %f см\n”,fathoms,feet,cents);
return 0;
}/*.---------------------------.end main() */
/*#############################################*/
РЕЗУЛЬТАТ РАБОТЫ ПРОГРАММЫ.
В 2 фатомах 12 футов или 365,76 см.
/* ПРОГРАММА:
dialogue.c – диалог (пример вызова нестандартной функции).
*/
/*#############################################*/
/*============================= include */
#include<stdio.h>
/*============================= main() */
main()
{/*.---------------------------.begin main() */
printf(“Я вызываю функцию butler()\n”);
butler(); /* вызов нестандартной функции butler() – дворецкий */
printf(“Да. Принесите мне, пожалуйста, чашку чая.\n”);
return 0;
}/*.---------------------------.end main() */
/*============================= butler() */
butler()
{
printf(“Вы вызывали, сэр?\n”);
return 0;
}
/*#############################################*/
РЕЗУЛЬТАТ РАБОТЫ ПРОГРАММЫ.
Я вызываю функцию butler()
Вы вызывали, сэр?
Да. Принесите мне, пожалуйста, чашку чая.
/* ПРОГРАММА:
gold_equivalent.c – золотой эквивалент (пример ввода данных с клавиатуры и вывода данных на экран).
*/
/*#############################################*/
/*
1 тройский фунт (troy pound) = 373.2 г.
1 тройская унция (troy oz) = 1/12 тройского фунта = 31.1 г.
Цена золота за унцию 400 долларов.
*/
/*============================= include */
#include<stdio.h>
/*============================= main() */
main()
{/*.---------------------------.begin main() */
/*------------- константы */
char beep=’/007’; /* символьная константа в восьмеричной форме */
/* звуковой сигнал для привлечения внимания */
float pound=373.2; /* вес тройского фунта в граммах */
float oz=pound/12; /* вес тройской унции в граммах */
float value_oz=400; /* стоимость тройской унции золота в $ */
/*------------- переменные */
float value_gramme; /* стоимость грамма золота в $ */
float value_pound; /* стоимость тройского фунта золота в $ */
float value_weight; /* стоимость weight грамм золота */
float weight; /* вес золота в граммах. */
/*------------- ввод данных с клавиатуры */
printf(“%c Введите вес в граммах \n”,beep);
scanf(“%f”,& weight);
/* ожидание ввода данных с клавиатуры (допустим, вводится 1000) */
/* %f - ввод числа с плавающей точкой, & - указатель, */
/* введенное число присваивается переменной weight */
/*------------- расчет стоимости золота */
value_gramme= value_oz/oz;
value_pound= value_gramme*pound;
value_weight=value_gramme* weight;
/*------------- вывод данных на экран */
printf(“%с%сСТОИМОСТЬ ЗОЛОТА В ДОЛЛАРАХ:\n”,beep, beep);
printf(“Стоимость тройской унции золота $ f %\n”,value_oz);
printf(“Стоимость тройского фунта золота $ f %\n”,value_pound);
printf(“Стоимость грамма золота $ f %\n”,value_gramme);
printf(“Стоимость f % грамм золота $ f %\n”, weight,value_weight);
return 0;
}/*.---------------------------.end main() */
/*#############################################*/
РЕЗУЛЬТАТ РАБОТЫ ПРОГРАММЫ.
Введите вес в граммах 1000
СТОИМОСТЬ ЗОЛОТА В ДОЛЛАРАХ:
Стоимость тройской унции золота $ 400
Стоимость тройского фунта золота $ 4803,10
Стоимость грамма золота $ 12,87
Стоимость 1000 грамм золота $ 12870
/* ПРОГРАММА:
char_code.c – определение кода символа по символу.
*/
/*#############################################*/
/*============================= include */
#include<stdio.h>
/*============================= main() */
main()
{/*.---------------------------.begin main() */
char ch;
printf(“Введите символ \n”);
scanf(“%c”,&ch); /* например, W */
printf(“Код символа %c равен %d.\n”,ch,ch);
return 0;
}/*.---------------------------.end main() */
/*#############################################*/
РЕЗУЛЬТАТ РАБОТЫ ПРОГРАММЫ.
Код символа W равен 87.