_WELCOMETO Radioland

русскийукраїнськаenglish Main Electronic circuits Documentation For students Programs Search Top50  
Search on site



Navigation
Main
Electronic circuits
Autoelectronics
Acoustics
Audio
Measurement
Computers
Power supply
Programming devices
Radio
Radioespionage
Television
Telephony
Digital
Other
Add schematic
Documentation
ICs
Transistors
Other
Files
Utilities
Electronic calculations
Programming
Other
For students
Abstracts
Course
Diplomas
Information
Search on a site
Most popular
Sitemap
Feedback
Shematic.net

For students > Курсовые > Архиватор

Архиватор

Содержание.

  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 © by Radioland. All Right Reserved.
Published on: 2004-09-01 (1885 Reads)

      

 
Rambler's Top100

курсовые - схемотехника - Рефераты