Кодувальник-декодувальник
Розділ 7 призначений для шифрации даних. Його організація влаштована по принципу, описаного розділ 2.3. У цьому, тоді як останньої послідовності бракує n символів до до, програма автоматично приписує додаткові прогалини. Конструкція if (feof (fp)&&i==0) return 0 — освічена щоб уникнути додаткового циклу, котрі можуть виникнути, якщо кількість символів в файлі кратно до, у разі виконується зайвий… Читати ще >
Кодувальник-декодувальник (реферат, курсова, диплом, контрольна)
року міністерство освіти РФ.
Уральський державний технічний університетУПИ.
Кафедра «Технологія і засоби зв’язку «.
ЗВІТ по навчальної практике.
Викладач: Петров Р.А.
Студент: Черепанов К.А.
Група: Р-207.
Екатеринбург.
1.Задание…
…3.
2.Описание применения…
…3.
2.1. Призначення программы…
…3.
2.2. Умови применения…
…3.
2.3. Опис задачи…
…3.
3.Описание программы…
…4.
3.1. Загальні сведения…
…4.
3.2. Функціональне назначение…
…4.
3.3. Опис логічного структуры…4.
3.4. Використовувані технічні средства…5.
3.5. Виклик і загрузка…
…5.
3.6. Вхідні і вихідні данные…5.
4. Текст программы…
…6.
1.Задание.
Поставлено число до і послідовність чисел від 1 до до 1… к. Необхідно зашифрувати литерную послідовність, розташовану за файлі в відповідність до введеної послідовністю. Вихідних даних записати в файл. Наприклад, якщо одно 4 і послідовність S3, S2,S4,S1 то символи S1, S1,S3,S4 перетворюються на S3, S2,S4,S1. Якщо символів не кратно до, то кінці послідовності треба додати пробелы.
2. Опис применения.
2.1. Призначення программы.
Програма coDec варта шифрации і дешифрации символьного масиву, що у файле.
2.2. Умови применения.
Програма пред’являє вельми скромні вимоги до ресурсів обчислювальної установки. Проте, у разі потреби використовувати для компіляції і складання програми З машинами типу PC необхідно мати 8Мбайт оперативної пам’яті. Програма може брати із будь-якої каталогу файли і записувати файли в довільну директорію, зазначену вами. Проте нехтувати загальними принципами шифрации і дешифрации інформаційних даних, тобто сприймати цей працю панацеєю зашиті від сторонніх осіб. Будь-яка закодована порція даних може бути з легкістю перетворять на вихідний текст добором ключа, шляхом перестановки літер для перебування логічного варианта.
3. Опис задачи Задача, поставлена практично, полягало у необхідності набору якогось числа до і послідовності 1… к, і перегрупуванню символьного масиву вже з файла в символьний масив іншого файла, відповідно до раннє введеної послідовністю. Кодування досягається так: з символьного масиву файла джерела послідовно беруться символи й записуються у новий символьний масив У[ ] (B[i+1]=c), далі від цього масиву відбувається також послідовно запис в файл, крім те, що індекси записуваних символів рівні послідовності (B[pointer], де pointer дорівнює масиву послідовності). Декодування: принцип роботи декодування протилежний кодування і у тому, що новому масиву У[ ] з індексами послідовності присвоюються зчитувальні символи (B[pointer]=c), та був виробляється запис цього масиву, але з індексами від 1 до до (B[i+1]).
3. Опис программы.
3.1.Общие сведения.
Програма coDec варта шифрации і дешифрации символьного масиву, що у файле.
На виконання програми досить обчислювальної установки типу PC з процесором i386 і від і побачили 8-го Мбайт оперативної пам’яті, оснащеною кожній із наступних операційними системами: MS DOS (починаючи з версії 5.0), Windows 95, Windows NT версій 4.0.
Програма coDec написана мовою Visual З++, реалізованому, наприклад, в компіляторі MS Developer Studio v.4.2 для операційними системами Windows NT і Windows 95.
3.2. Функціональне назначение.
Програма застосовується для шифрування чи дешифрации даних із одного файла на другий. Проте чи всяке поєднання вихідних даних дозволяє отримати бажаного результату, наприклад, категорично не рекомендується завантажувати *.exe і інші файли, мають у своїй структурі крім текстових даних, спецсимволы, деяких випадках надаються до сприймання програмою як кінець файла.
3.3. Опис логічного структуры.
Примітки виду «див. Текст », які у цьому підрозділі, означають посилання документ «Текст программы».
Опис головний программы.
У Розділі 1 (див. Текст) виробляється подлключение стандартних бібліотек компілятора задля забезпечення функціонування окремих операторів і всієї програми в целом.
У Розділі 2 (див. Текст) здійснюється опис переменных.
У Розділі 3 (див. Текст) виробляється вибір подальшого дії програми: кодування (0) чи декодування (1) литерной послідовності, котра міститься в вихідному файлі, в вихідний файл.
Конструкція while (1) забезпечує постійне виконання циклу до тих пір, доки виконане буде умова if, яке перериває його оператором break.
У Розділі 4 перебуває цикл введення довжини кодовою послідовності, який автоматично перевіряє умова правильності введеного значення. Повідомлення «Error!!! K must be integer from 1 to 10 «означає, що запроваджений вами символ не відповідає вимогам і потрібно повторити введення заново.
У Розділі 5 організований цикл послідовності з перевіркою обчислення контрольної суми, шляхом підрахунку введеної суми та незначною сумою з масиву W[ ] з наступним порівнянням обох результатів. Якщо суми не збігаються, цикл повторюється знову, інакше виконується наступний оператор. Повідомлення «Error!!! Repeat input «свідчить, що послідовність неправильна і потрібно повторити введення заново.
Розділ 6 освічений для введення і нові відкриття для читання вихідного файла, відкриття і запис вихідного файла. Літера «r» позначає, що файл відкривається для читання, відповідно «w"-для записи. Відкриття відбувається автоматична перевірка існування у зазначеній директорії файла. Якщо програма неспроможна знайти або відкрити його виводитися повідомлення про помилку «Error!!! Can «t open file» і знову запитує ім'я, Якщо ж помилок не знайдено виконується таке действие-запрос імені файла для результатов.
Розділ 7 призначений для шифрации даних. Його організація влаштована по принципу, описаного розділ 2.3. У цьому, тоді як останньої послідовності бракує n символів до до, програма автоматично приписує додаткові прогалини. Конструкція if (feof (fp)&&i==0) return 0 — освічена щоб уникнути додаткового циклу, котрі можуть виникнути, якщо кількість символів в файлі кратно до, у разі виконується зайвий цикл, що призводить до додаванню додаткових прогалин і, отже, збільшення файлів. При досягненні кінця файла EOF шифрации прекращается.
Розділ 8 Дешифрация і запис в файл-приемник-устроен практично по до того ж принципу як й у розділі 7. Различия між операціями кодування і декодування наводяться в підрозділі «Опис завдання». Дешифрация також припиняється під час досягнення кінця файла.
Розділ 9 закриває раннє відкриті файлы.
3.4. Використовувані технічні средства.
На виконання програми досить комп’ютера типу IBM PC з процесором i386 і від і побачили 8-го Мбайт оперативної пам’яті, оснащеною кожній із наступних операційними системами: MS DOS (починаючи з версії 5.0), Windows 95, Windows NT версій 4.0.
3.5. Виклик і загрузка.
Запуск програми відбувається шляхом запуску файла coDec. exe.
3.6 Вхідні і вихідні данные.
Файлы-источники при кодуванні наскільки можна мали бути зацікавленими з розширенням txt, тоді як файл-приемник може мати будь-яке. Спричинив цю причинами, описаними до цього часу пункті 3.2. При декодировке обмежень нет.
4. Текст программы.
// Шифратор-дешифратор
Розділ № 1 # include # include # include # include # include # include.
int main () { Розділ № 2.
FILE *fp,*fp2; / *покажчики на потік*/ int i, k, Sum, Sum_contr, pointer, select; int W[]={1,2,3,4,5,6,7,8,9,10}; /*масив перевірки*/ int Y[10]; /*масив для кодовою перестановки*/ char B[11]; /*масив для перестановленных символів*/ char з; /*змінна для зберігання символу*/ char fname[20], fname2[20]; /*масиви для імен файлов*/.
/* Про з зв про в зв про е т е л про п р про р р, а м м и */.
Розділ № 3.
/*Вибір кодирования-декодирования*/ while (1).
{ printf («nChoose coder (0) or decoder (1) »); scanf («%d » ,&select); if ((select==0)||(select==1)) break; while (getchar ()≠ «n »);
}.
Розділ № 4.
/*Введення довжини кодовою послідовності*/ while (1).
{ printf («nInput length of code k (1 to 10) »); scanf («%d », &k);/* введення десяткового цілого*/ if (k>=1&&k.