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

     

     

     

     

     

         
     
    Перетворення інформації перед передачею її в канал зв'язку
         

     

    Інформатика, програмування

    Перетворення інформації перед передачею її в канал зв'язку

    Пояснювальна записка до курсової роботи

    Розробив студент Петров А.В.

    Пензенський державний університет, Кафедра "РЕСС і ЗІ"

    Пенза 1998

    Завдання на курсове проектування по темі Розробка програми обробки інформації на мові С + +

    1. Дисципліна - Алгоритмізація та програмування.

    2. Варіант завдання - 45.

    3. Студент Петров А.В. група 97ПС3.

    4. Вихідні дані на проектування

    4.1. Загальні вимоги до програми:

    - наявність призначеного для користувача інтерфейсу

    - читання необхідної інформації з файлів

    - збереження результатів у файлах

    - контроль помилок при роботі з файлами

    - перетворення інформації по заданому алгоритму

    - зворотне перетворення інформації

    - використання надлишковості для контролю помилок

    - одночасне відображення на екрані перетвореної і не перетвореної інформації.

    4.2. Вимоги до інтерфейсу користувача:

    - забезпечити управління програмою за допомогою "гарячих клавіш" (поєднанні клавіш) з діапазону Alt-F1 - Alt-F10, допускається використання клавіші Esc

    - забезпечити одночасне відображення на екрані перетвореної і не перетвореної інформації

    - забезпечити колірне виділення спотвореної інформації.

    4.3. Вимоги до перетворення інформації:

    - перетворення символів з кодами 40h - 5Fh (верхній регістр латинського алфавіту)

    - використання для перетворення операци. перестановки:

    біти (0-1,1-0,2-3,3-2).

    - використання для формування надмірності операцію виключає АБО (додавання по модулю 2)

    - надлишкові символи формуються на кожні 3 символи інформації.

    5. Обсяг роботи за проектом.

    5.1. Зміст роботи:

    - розробка алгоритмів

    - створення програми на базі розроблених алгоритмів

    - опис роботи програми

    - опис інтерфейсу програми

    6. Графічна частина

    7.Експірементальная частина

    - налагодження окремих частин програми

    - перевірка працездатності програми

    8. Календарний план виконання курсового проекту.

    8.1 Термін виконання робіт за розділами:

    - видача завдання до 1998 г

    - розробка алгоритму роботи програми до 1998 р

    - розробка та налагодження пользотательского інтерфейс до 1998 р

    - розробка та налагодження процедур запису і читання файлів до 1998р

    - розробка та налагодження процедури перетворення файлів до 1998р

    - оформлення П3 до 1998р

    - підготовка до захисту до 1998р.

    Дата захисту проекту "" 1998р.

    Керівник проекту Дорошкевич В.В.

    Завдання одержав "" 1998р.

    Студент Петров А.В.

    РЕФЕРАТ

    Пояснювальна записка містить 16 аркушів, 1 малюнки, 2 джерела,

    2 таблиці, 2 додатки.

    ПРОГРАМА, АЛГОРИТМ РОБОТИ, перестановки, Надлишковим.

    Об'єкт дослідження: алгоритм перетворення інформації перед передачею її в канал зв'язку і програма, що реалізує цей алгоритм.

    Мета роботи: створення коректно працюючої програми, що реалізує алгоритм перетворення інформації перед передачею її в канал зв'язку.

    У результаті була отримана працює програма, а також результати її роботи.

    Вступ

    В даний час індустрія виробництва комп'ютерів і програмного забезпечення для них є однією з найбільш важливих сфер економіки розвинених країн. Щорічно у світі продаються десятки мільйонів комп'ютерів. Тільки в США обсяг продажів комп'ютерів складає десятки мільйонів доларів і постійно продовжує рости.

    У чому ж причини такого стрімкого зростання індустрії персональних комп'ютерів та їх порівняльна вигідність для багатьох ділових застосувань?

    Простота використання, забезпечена за допомогою діалогового способи взаємодії з комп'ютером.

    Відносно високі можливості з переробки інформації, наявність програмного забезпечення, а також потужних систем для розробки нового програмного забезпечення.

    Мова С + + - універсальна мова загального призначення, область додатків якого - програмування систем в самому широкому сенсі. Крім цього, С + + успішно використовується як у багатьох додатках, так і в потужних операційних системах. Реалізація С + + здійснена для машин в діапазоні від найпростіших персональних комп'ютерів до найпотужніших суперкомп'ютерів і для всіх операційних систем.

    І тому у цій курсовій роботі необхідно застосувати мова програмування С + +, як найбільш підходящий для вирішення поставленої завдання.

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

    Завданням на дану курсову роботу є розробка програми на мові C + + для перетворення інформації перед передачею її в канал зв'язку.

    Програма повинна виконувати наступні дії -- створити багатовіконний інтерфейс користувача, вивести рядок підказки з призначеннями кожної з "гарячої клавіш", організувати опитування клавіатури, виклик тієї чи іншої функції, що відповідає тій самій "гарячої клавіші '. Вихідні дані (перетворений текст) повинні зберігатися у файлі на диску до завантаження даної програми та зчитуватися за запитом користувача. Файл задається користувачем в діалоговому режимі. Кодування і декодування інформації повинно здійснюватися при натисканні користувачем відповідних "гарячих клавіш".

    Контрольна сума, яка повинна зберігатися в надлишковому байті має звірятися з отриманої контрольної сумою при декодування текстової інформації, призначеної для передачі в канал зв'язку.

    У якості "гарячих клавіш" повинні використовуватися клавіші (комбінації клавіш) з діапазону Alt + F1 - Alt + F10, клавіша Esc може використовуватися для виходу з програми.

    У цій роботі для кодування даних використовується метод перестановки біс символу, варіанти якої представлені в таблиці 1.

    Таблиця 1        

    До перестановки         

    0         

    1         

    2         

    3             

    Після перестановки         

    1         

    0         

    3         

    2     

    Надмірна байт у вихідному файлі формується через кожні 3 символи шляхом додавання по модулю 2.

    У результаті необхідно отримати працюючу програму , А також результати, що задовольняють умовам поставленої задачі.

    2. Розробка алгоритму рішення задачі перетворення інформації

    За умовами, заданими в задачі, початковий текст повинен кодуватися з надмірністю шляхом додавання по модулю 2 на 3 кожні символу. Kодірованіе повинно здійснюватися шляхом підстановки символу по наступною схемою (0-1,1-0,2-3,3-2)

    У зв'язку з цим був розроблений алгоритм кодування інформації відповідно до завдання на курсове проектування (варіант 45). Даний алгоритм зображений на малюнку 1 і містить в собі наступні функціональні блоки:

    1) початок функції

    2) перевірка попадання символу в інтервал

    3) перевірка коду символу> = 50

    4) якщо код символу> = 50 то змінна mask = 50h

    5) якщо код символу не> = 50 то змінна mask = 40h

    6) обнулити половину коду

    7) розкласти по бітам в масив buf c перестановкою

    8) запис отриманих бітів на символ

    9) повернути половину коду

    10) повернути символ програмі

    11) кінець функції

    3. Розробка програми

    Розроблена програма petrov.cpp призначена для перетворення інформації перед передачею її в канал зв'язку. Програма повністю відповідає вимогам, викладеним у розділі 1 (постановка завдання) і містить у собі наступні функціональні модулі:

    1) функція getwin - здійснює зчитування позиції курсору

    2) функція perest - здійснює перетворення символу відповідно до завдання.

    3) основна програма - здійснює оформлення екрану , Опитування клавіатури [1], виклик функцій [1] відповідно з натиснутою "гарячої клавіші ", виведення повідомлення про помилку при її виникненні, очищення екрана , [1] вихід з програми.

    Дана програма використовує у своїй роботі наступні змінні:

    x1, y1, x2, y2 - координати вікна

    tc, tb - колір вікна

    px, py - позиція курсора

    fname [50] - ім'я файлу.

    Розроблена програма petrov.cpp була повністю протестована, результати тестування наведено у додатку В. Аналіз результатів показав, що програма є повністю працездатною.

    4. Керівництво оператора

    Розроблена програма petrov.cpp призначена для перетворення інформації перед передачею її в канал зв'язку.

    Дана програма призначена для свого використання операційною системою MS-DOS.

    Для запуску програми необхідно викликати на виконання запускається файл petrov.exe. Після запуску даної програми на екрані появітс рядок підказки зі списком "гарячих клавіш". Щоб почати роботу з програмою, користувачеві необхідно завантажити вихідний файл, для чого потрібно з допомогою клавіш Alt + F1 завантажити вихідний файл, за допомогою клавіш Alt + F2 створити вихідний файл і натиснути клавіші Alt + F3 для кодування інформації.

    Для декодування інформації необхідно завантажити вже записаний файл з допомогою клавіш Alt + F2 і натиснути клавіші Alt + F4.

    Вихід з програми здійснюється за допомогою клавіші Esc.

    У всіх випадках роботи з файлами програма запитує назва файлу в діалоговому режимі.

    Для нормальної роботи даної програми необхідно наявність персонального комп'ютера типу IBM PC стандартної конфігурації.

    Висновок

    У цій роботі вирішена задача перетворення інформації перед передачею її в канал зв'язку.

    Розроблено алгоритм розв'язання поставленої задачі [2].

    Складена і налагоджена програма на мові С + + [2], реалізує кодування інформації.

    У процесі налагодження програми була отримана повністю працездатна програма.

    Проведено тестування програми, проаналізовано отримані результати.

    Аналіз результатів показав, що поставлена задача успішно вирішується.

    Список літератури

    1. Б'ярне Страуструп. Мова програмування С + +. У двох частинах. Пер. з англ. Київ: "ДіаСофт", 1993.-296 с., Іл.

    2. Корріган Джон: С + + основи програмування: Пер з англ. -М.: Ентропія, 1995. - 352 с., Іл.

    ДОДАТОК А

    (обов'язкове)

    Текст програми ptrov.cpp наведено в таблиці А1

    Таблиця А1        

    Команда         

    Пояснення             

    # include   

    # include   

    # include   

    struct win_info   

    (   

    int x1, y1, x2, y2   

    int tc, tb   

      

    int px, py   

      

    char fname [50]   

    ) win [2]   

    FILE * in, * out   

    char c, ch   

    int i   

    void SetWin (win_info * w)   

    (   

    textcolor (w-> tc)   

    textbackground (w-> tb)   

    window (w-> x1, w-> y1, w-> x2, w-> y2)   

    gotoxy (w-> px, w-> py)   

    )   

    void GetWin (win_info * w)   

    (   

    w-> px = wherex ()   

    w-> py = wherey ()   

    )   

    char perest (char x)   

    (   

    if ((x> = 0x40) & (x <= 0x5f))   

    (   

    char mask, buf [4]   

    if (x> = 0x50) mask = 0x50   

    else mask = 0x40   

    x ^ = mask   

      

    buf [0] = (x & 1)   

      

    buf [1] = (x & 2)/2   

    buf [2] = (x & 4)/4   

    buf [3] = (x & 8)/8   

    x = buf [1] + buf [0] * 2 + buf [3] * 4 + buf [2] * 8   

    x ^ = mask   

      

    )   

    return x   

      

    )   

    void main ()   

    (   

    textbackground (WHITE)   

    textcolor (BLACK)   

    clrscr ()   

    for (i = 1   

    i <2000   

    i + +) putchar (176)   

    window (1,25,80,25)   

    textcolor (BLACK)   

    textbackground (WHITE)   

    clrscr ()   

    cprintf ( "ALT-F1 Ісходн.файл ALT-F2 Конечн.файл ALT-F3 кодує. ALT-F4 декодує. ESC-Вихід")   

    win [0]. x1 = 2   

    win [1]. x1 = 2   

    win [0]. x2 = 79   

    win [1]. x2 = 79   

    win [0]. y1 = 3   

    win [1]. y1 = 14   

    win [0]. y2 = 12   

    win [1]. y2 = 23   

    win [0]. py = 1   

    win [1]. px = 1   

    win [0]. px = 1   

    win [1]. py = 1   

    win [0]. tc = LIGHTBLUE   

    win [1]. tc = LIGHTBLUE   

    win [0]. tb = BLUE   

    win [1]. tb = BLUE   

    window (1,1,80,1)   

    textcolor (BLACK)   

    textbackground (WHITE)   

    clrscr ()   

    _setcursortype (_NOCURSOR)   

    do   

    (   

    ch = getch ()   

    if (ch == 0) switch (getch ())   

    (            

    координати вікна   

    кольору вікна   

    позиція курсора   

    назва файлу   

    активізувати робоче вікно   і   

    встановити курсор в поточну   позицію   

    вважати поз. курсору   

    перевірка на приналежність   до   

    оброблюваних символів   

    обнулити половину коду   

    розкласти по бітам   

    зібрати біти в зворотному   порядку   

    відновити половину коду   

    повернути новий символ   

    створити робочий екран   

    задати параметри робочих   вікон                

    Команда         

    Пояснення             

    case 104: fclose (in)   

    // Натиснуто ALT-F1   

    win [0]. px = 1   

    win [0]. py = 1   

    window (1,1,80,1)   

    textcolor (BLACK)   

    textbackground (WHITE)   

    clrscr ()   

    printf ( "Введіть ім'я початкового файла:")   

    _setcursortype (_NORMALCURSOR)      

    gets (win [0]. fname)   

    _setcursortype (_NOCURSOR)   

    window (1,2,80,12)   

    clrscr ()   

    for (i = 1   

    i <= 880   

    i + +) putchar (176)   

      if ((in = fopen (win [0]. fname, "rt "))== NULL)   

    (   

    window (1,1,80,1)   

    textcolor (RED)   

    clrscr ()   

    printf ( "% cНемогу відкрити файл -% s --   !!!", 7, & win [0]. Fname)   

    ) else   

    (   

    textcolor (RED)   

    textbackground (WHITE)   

    window (39-strlen (win [0]. fname)/2,2,41 + strlen (win [0]. fname)/2,2)      

    clrscr ()   

    printf ( "   % s ", & win [0]. fname)   

    SetWin (& win [0])   

    clrscr ()   

    while (! feof (in))   

    (   

    c = fgetc (in)   

    if (c! = 'n') putch (c)   

    else (   

    if (wherey () == 10) break   

    cprintf ( "nr")   

    )   

    )   

    ) break   

    case 105: fclose (out)   

    win [1]. px = 1   

    win [1]. py = 1   

    window (1,1,80,1)   

    textcolor (BLACK)   

    textbackground (WHITE)   

    clrscr ()   

    printf ( "Введіть ім'я кінцевого файлу:")   

    _setcursortype (_NORMALCURSOR)      

    gets (win [1]. fname)   

    _setcursortype (_NOCURSOR)   

    window (1,13,80,23)   

    clrscr ()   

    for (i = 1   

    i <= 880   

    i + +) putchar (176)   

      if ((out = fopen (win [1]. fname, "wt "))== NULL)   

    (   

    window (1,1,80,1)   

    textcolor (RED)   

    clrscr ()   

    printf ( "% c Немогу створити файл -% s --   !!!", 7, & win [1]. Fname)   

    ) else   

    (   

    textcolor (RED)   

    textbackground (WHITE)   

      window (39-strlen (win [1]. fname)/2,13,41 + strlen (win [1]. fname)/2,13)   

    clrscr ()   

    printf ( "   % s ", & win [1]. fname)   

    SetWin (& win [1])   

    clrscr ()   

    ) break   

    case 106:   if ((in! = NULL) & (out! = NULL))   

    (   

    c = 0   

    i = 0   

    SetWin (& win [0])   

    clrscr ()   

    GetWin (& win [0])   

    SetWin (& win [1])   

    clrscr ()   

    GetWin (& win [1])   

    fseek (in, 0,0)   

    fseek (out, 0,0)   

    while (! feof (in))                  

    Натиснуто ALT-F2      

    ALT-F3                

    Команда         

    Пояснення             

    (   

    ch = fgetc (in)   

    SetWin (& win [0])   

    if (ch! = 'n') putch (ch)   

    else cprintf ( "nr")   

    GetWin (& win [0])   

    ch = perest (ch)   

    SetWin (& win [1])   

    if (ch! = 'n') putch (ch)   

    else cprintf ( "nr")   

    GetWin (& win [1])   

    c ^ = ch   

    i + +   

    fputc (ch, out)   

    if (i == 3)   

    (   

    SetWin (& win [1])   

    if (c! = 'n') putch (c)   

    else cprintf ( "nr")   

    GetWin (& win [1])   

    fputc (c, out)   

    c = 0   

    i = 0   

    )   

    )   

    ) break   

    case 107: if ((in! = NULL) & (out! = NULL))   

    (   

    ch = 0   

    i = 0   

    SetWin (& win [0])   

    clrscr ()   

    GetWin (& win [0])   

    SetWin (& win [1])   

    clrscr ()   

    GetWin (& win [1])   

    fseek (in, 0,0)   

    fseek (out, 0,0)   

    while (! feof (in))   

    if (i! = 3)   

    (   

    c = fgetc (in)   

    SetWin (& win [0])   

    if (c! = 'n') putch (c)   

    else cprintf ( "nr")   

    GetWin (& win [0])   

    ch ^ = c   

    i + +   

    c = perest (c)   

    SetWin (& win [1])   

    if (c! = 'n') putch (c)   

    else cprintf ( "nr")   

    GetWin (& win [1])   

    fputc (c, out)   

    ) else   

    (   

    c = fgetc (in)   

    SetWin (& win [0])   

    if (c! = 'n') putch (c)   

    else cprintf ( "nr")   

    GetWin (& win [0])   

    if (c == ch)   

    (   

    ch = 0   

    i = 0   

    ) else   

    (   

    textcolor (RED)   

    textbackground (WHITE)   

    window (1,1,80,1)   

    clrscr ()   

    printf ( "% cОшібка у файлі% s", 7, & win [0]. fname)   

    break   

    )   

    )   

    ) break   

    )   

    )   

    while (ch! = 27)   

      

    fcloseall ()   

      

    textcolor (WHITE)   

    textbackground (BLACK)   

    window (1,1,80,25)   

    clrscr ()   

    )               

    ALT-F4      

    вихід, якщо натиснуто ESC   

    закрити всі файли   

    очистити екран        

    ДОДАТОК В

    РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ

    Введіть ім'я кінцевого файлу: zzz

    ____________________________________ file _____________________________________

    _Проверка програми перетворення інформаціі_ _

    _ _

    _ _

    _ _

    _ _

    _ _

    _ _

    _ _

    _ _

    _ _

    _____________________________________ zzz ______________________________________

    _Про-верчка * просграуммии прoеобкразчовамнія' ин% форкмац'іі__ _

    _ _

    _ _

    _ _

    _ _

    _ _

    _ _

    _ _

    _ _

    __

    ________________________________________________________________________________

    ALT-F1 Ісходн.файл ALT-F2 Конечн.файл ALT-F3 кодує. ALT-F4 декодує. ESC-Вихід

    Для підготовки даної роботи були використані матеріали з сайту http://kurslab.chat.ru/

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

     

     

     

     

     

     

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