ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Програма coDec
         

     

    Інформатика, програмування
    Програма coDec
    Визнач число до і послідовність чисел від 1 до до 1 ...... к. Необхідно
    зашифрувати літерні послідовність, що знаходиться у файлі відповідно до
    введеної послідовністю. Вихідні дані записати у файл. Наприклад, якщо до
    дорівнює 4 і послідовність S3, S2, S4, S1 то символи S1, S1, S3, S4 перетворюються в
    S3, S2, S4, S1. Якщо кількість символів не кратно к, то в кінці послідовності
    необхідно додати пробіли.
    2. Опис застосування
    2.1. Призначення програми
    Програма coDec призначена для шифрування і дешифрування символьного масиву,
    що знаходиться у файлі.
    2.2. Умови застосування
    Програма висуває дуже скромні вимоги до ресурсів обчислювальної
    установки. Тим не менш, у разі потреби будуть використані для компіляції і
    складання програми С на машинах типу PC необхідно мати 8Мбайт оперативної
    пам'яті. Програма в змозі брати з будь-якого каталогу файли і також записувати
    файли в довільну директорію, вказану вами. Проте не слід нехтувати
    загальними принципами шифрування і дешифрування інформаційних даних, тобто
    сприймати цю працю як панацею захисту від сторонніх осіб. Будь-яка
    закодована порція даних може бути з легкістю перетворена у вихідний
    текст підбором ключа, шляхом перестановки літер для знаходження логічного
    варіанту.
    Опис завдання
    Завдання, поставлене на практиці, полягала в необхідності набору якогось числа
    до і послідовності 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 C + +, реалізований, наприклад, в
    компіляторі 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 дешифрування і запис у файл-приймач-влаштований практично за тим же
    принципом як і у роздiлi 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 c;/* мінлива для зберігання символу */
    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
    while (getchar ()!=' n ');
    printf ( "n Error! K must be integer from 1 to 10");
    )
    Розділ № 5
    / * Введення перестановки */
    while (1)
    (
    printf ( "n Input% d elements n", k);
    for (Sum = 0, Sum_contr = 0, i = 0; i
    (
    printf ( "Element [% d]:", i +1);
    scanf ( "% d", & Y [i]);
    Sum + = Y [i];
    Sum_contr + = W [i];/* Обчислення контрольної суми */
    )
    if (Sum == Sum_contr) break;
    while (getchar ()!=' n ');
    printf ( "n Error! Repeat input");
    )
    / * Очищення вхідного потоку */
    while (getchar ()!=' n ');
    Розділ № 6
    / * Введення імені файлу-джерела */
    puts ( "nInput name of file-sourche :");< br /> gets (fname);
    / * Відкриття файлу-джерела */
    while ((fp = fopen (fname, "r "))== NULL)/* відкриття файлу для читання */
    (
    puts ( "Error! Can't open file nInput name of file-sourcen");
    gets (fname);
    )
    / * Введення імені файлу-приймача */
    puts ( "nInput name of file for results :");< br /> gets (fname2);
     
    / * Створення файлу-приймача */
    if ((fp2 = fopen (fname2, "w "))== NULL)/* відкриття файлу для запису */
    (
    perror (fname2);
    return 1;
    )
    Розділ № 7
    / * Шифрація і запис у файл-приймач */
    if (select == 0)
    (
    while (1)
    (
    for (i = 0; i
    (
    c = fgetc (fp);
    if (feof (fp) & & i == 0) return 0;
    if (feof (fp) & & i> 0)
    B [i +1] = '';
    else
    B [i +1] = c;
    )
    for (i = 0; i
    (
    pointer = Y [i];
    putc (B [pointer], fp2);
    )
    if (feof (fp)) break;
    )
    )
    Розділ № 8
    / * Дешифрування і запис у файл-приймач */
    else
    (
    while (1)
    (
    for (i = 0; i
    (
    c = getc (fp);
    pointer = Y [i];
    B [pointer] = c;
    )
    if (feof (fp)) break;
    for (i = 0; i
    putc (B [i +1], fp2);
    )
    )
    Розділ № 9
    / * Закриття файлу джерела і приймача */
    fclose (fp);
    fclose (fp2);
    )



         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status