_WELCOMETO Radioland

Главная Схемы Документация Студентам Программы Поиск Top50  
Поиск по сайту



Навигация
Главная
Схемы
Автоэлектроника
Акустика
Аудио
Измерения
Компьютеры
Питание
Прог. устройства
Радио
Радиошпионаж
Телевидение
Телефония
Цифр. электроника
Другие
Добавить
Документация
Микросхемы
Транзисторы
Прочее
Файлы
Утилиты
Радиолюб. расчеты
Программирование
Другое
Студентам
Рефераты
Курсовые
Дипломы
Информация
Поиск по сайту
Самое популярное
Карта сайта
Обратная связь

Студентам


Студентам > Курсовые > Архиватор

Архиватор

Содержание.

  1. Постановка задачи.

  2. Предложения по конкретизации.

  3. Описание используемых типов данных.

  4. Описание структуры программного продукта.

  5. Заголовки разработанных процедур.

  6. Текст программы.

Предложения по конкретизации.

Данная программа работает из командной строки :  

Запустив исполняемый файл , пользователь получает  инструкцию по использованию  

Примечание:

при вводе команды (кодировать декодировать) : 1) между командой входящим и результирующим файлом ставить пробел ; 2)имена и расширения файлов разделяют точкой ;

 Также во избежание некорректной работы программы желательно указывать полный путь к оперируемым файлам

Пример использования программы :

Сжимаем расжимаем файл , находясь  в папке с программой :

D:USERS>vic a  c:foldermyfile.*  c:foldermyfile1.*

Где :

vic – программа.exe 

myfile.* ,  myfile1.*  входящий и результирующий файлы соответственно

 команда сжатия <а> ; распаковки <е>

 Курсовая работа

По алг. яз. и программированию

Булгаков Виктор Викторович

ПО – 21

Лист

3

1.     Описание используемых типов данных.

В программе используются данных описанные в модуле “vic.cpp”:

// Количество битов в регистре

#define BITS_IN_REGISTER 16

// Максимально возможное значение в регистре

#define TOP_VALUE (((long) 1 << BITS_IN_REGISTER) - 1)

// Диапазоны

#define FIRST_QTR (TOP_VALUE / 4 + 1)

#define HALF      (2 * FIRST_QTR)

#define THIRD_QTR (3 * FIRST_QTR)

// Количество символов алфавита

#define NO_OF_CHARS 256

// Специальный символ КонецФайла

#define EOF_SYMBOL    (NO_OF_CHARS + 1)

// Всего символов в модели

#define NO_OF_SYMBOLS (NO_OF_CHARS + 1)

// Порог частоты для масштабирования

#define MAX_FREQUENCY 16383

 

// Таблицы перекодировки

unsigned char         index_to_char [NO_OF_SYMBOLS];

int                   char_to_index [NO_OF_CHARS];

 

// Таблицы частот

int             cum_freq [NO_OF_SYMBOLS + 1];

int             freq [NO_OF_SYMBOLS + 1];

 

// Регистры границ и кода

long          low, high;

long          value;

// Поддержка побитлвых операций с файлами

long           bits_to_follow;

int              buffer;

int              bits_to_go;

int              garbage_bits;

 

// Обрабатываемые файлы

File  in,out

 

Курсовая работа

По алг. яз. и программированию

Булгаков Виктор Викторович

ПО – 21

2.     Описание структуры программного продукта.

Программный продукт включает 1 файл:

‘vic.exe’ – основная программа;

 ‘vic.cpp’ – модуль, в котором содержатся описания  используемых в программе типов данных и объявлены необходимые переменные :

 

Курсовая работа

По алг. яз. и программированию

Булгаков Виктор Викторович

ПО – 21

Разработанные процедуры и функции.

Модуль ‘vic.cpp’.

void start_model (void) Инициализация адаптивной модели

Обновление модели очередным символом

void update_model ( int symbol)

 проверка на переполнение счетчика частоты

  if (cum_freq [0] == MAX_FREQUENCY)

 масштабирование частот при переполнении

    for ( i = NO_OF_SYMBOLS; i >= 0; i--)

Инициализация побитового ввода

void start_inputing_bits (void)

 Ввод очередного бита сжатой информации

int input_bit (void)

Инициализация побитового вывода

void start_outputing_bits (void)

Вывод очередного бита сжатой информации

void output_bit ( int bit)

Очистка буфера побитового вывода

void done_outputing_bits (void)

Вывод указанного бита и отложенных ранее

void output_bit_plus_follow ( int bit)

Инициализация регистров границ и кода перед началом сжатия

void start_encoding (void)

Очистка побитового вывода

void done_encoding (void)

   Загрузка начала сжатого сообщения

void start_decoding (void)

Кодирование очередного символа

void encode_symbol ( int symbol)

пересчет значений границ

 

  range = (long) (high - low) + 1;

Декодирование очередного символа

int decode_symbol (void)

арифметическое кодирование

void encode ( char *infile, char *outfile)

арифметическое декодирование

void decode ( char *infile, char *outfile)

Головная процедура

void main ( int argc, char **argv)

 



Copyright © Radioland. Все права защищены.
Дата публикации: 2004-09-01 (1885 Прочтено)