Навчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення завдання на курсову роботу з дисципліни " Проблемно-орієнтовані мови програмування "




Скачати 383.62 Kb.
НазваНавчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення завдання на курсову роботу з дисципліни " Проблемно-орієнтовані мови програмування "
Сторінка1/5
Дата конвертації17.03.2013
Розмір383.62 Kb.
ТипДокументы
uchni.com.ua > Інформатика > Документы
  1   2   3   4   5



К У Р С О В А Р О Б О Т А

на тему:

Навчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення
З А В Д А Н Н Я

на курсову роботу з дисципліни

" Проблемно-орієнтовані мови програмування "

Т е м а: "Навчальна програма переведення дійсних чисел з 2,8,10,16 у

2,8,10,16 системи числення."

ЗМIСТ ЗАВДАННЯ ТА КАЛЕНДАРНИЙ ПЛАН ЙОГО ВИКОНАННЯ

1.

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

27.02

2.

Розробити алгоритм та графiчну схему програми розв'язування задачi

26.03

3.

1) програма повинна працювати під керуванням операційної системи MSDOS;

2) програма повинна мати інтерфейс у вигляді вікон та меню для вибору режимів її роботи;

3) передбачити ввід/вивід даних з клавіатури та з файлу;

4) керування режимами роботи програми виконати за допомогою клавіатури та миші;

5) програма повинна містити довідкову систему по способах переведення числе в різні системи числення;

6) програма повинна бути написана на мові С/С++;

7) програма повинна містити калькулятор для переведення чисел у різні системи числення.

23.04

4.

Пiдготувати вхiднi данi для контрольного прикладу.

30.04

5.

Реалiзувати та вiдлагодити програми на вказаних мовах програмування.

21.05

6.

Оформити записку до курсової роботи згiдно вимог Мiжнародних стандартiв, дотримуючись такого змiсту:

28.05




-вступ;

-формулювання задачі, методи та засоби її розв’язування;

-алгоритм розв'язування задачі;

-опис програми на мові C/C++ ;

-технологія програмування, виконання та відлагодження програми;

-інструкція користувачу;

-контрольний приклад та аналіз результатів комп'ютерної реалізації програми;

-висновки;

-література;

-додатки






Зміст
Вступ ……………………………………………………………………..4

  1. Формулювання задачі, методи та засоби її розв’язування ...……….....5

  2. Алгоритм розв'язування задачі………………………………………….9

  3. Опис програм на мовах C/C++…………………………………………14

  4. Технологія програмування, виконання та відлагодження програми..16

  5. Інструкція користувачеві……………………………………………….17

  6. Аналіз результатів комп'ютерної реалізації програми………………19

Висновки……………………………………………………………………20

Література…………………………………………………………………..21

Додаток – текст програми на мовах C/C++………………………………22

Вступ
Метою виконання курсової роботи є закріплення теоретичних знань та практичних навичок програмування, набутих при вивченні дисциплін "Основи програмування" та “Проблемно орієнтовані мови програмування”.

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

Завдання даної курсової роботи охоплює практично весь курс дисципліни «Проблемно-орієнтовані мови програмування», включаючи в себе основні його розділи. Програма охоплює всі ці розділи і вимагає виявити знання та навички, отримані при їх вивченні. При розробці програми студент набуває навичок практичного програмування, створюючи продукт, який має практичну цінність як прикладна програма, зручний інтерфейс з керуванням за допомогою клавіатури та миші, та інші елементи та особливості, притаманні професійним програмам, що пишуться для користувача, не знайомого з програмуванням.

^ 1. Формулювання задачі, методи та засоби її розв’язування
Завдання даної курсової роботи полягає у створенні навчальної програми з переведення чисел у основні системи числення.

Необхідно створити програму, яка б мала ергономічний інтерфейс з керуванням за допомогою клавіатури та миші, була б зручна у використанні. Інтерфейс програми повинен складатися з верхнього головного меню, нижньої лінійки статусу програми, на якій виводиться інформація для користувача та робочої області між ними – «робочого столу», на якому виводяться вікна для роботи з програмою.

У програмі повинен бути калькулятор для переведення чисел, який би використовував функції переведення, засновані на стандартних методах. Такий калькулятор найзручніше буде реалізувати у вигляді діалогового вікна(Рис. 1). Це діалогове вікно повинно містити поле для вводу числа у початковій системі числення, поле, у якому виводиться результат переведення, перемикач типу «радіо-кнопка» для вибору початкової системи числення, такий же для вибору системи, у яку буде переводитися число, кнопку переведення та кнопку виходу з калькулятора. Від варіанту керування у вигляді прямокутної матриці у процесі тестування було вирішено відмовитися через його невисоку ергономічність.

╔═[■]═══ Виберiть варiант переведення числа ═══════╗

║ ║

║ From To Input ║

║ ║

║ (•) 2 (•) 2 ║

║ ( ) 8 ( ) 8 Output ║

║ ( ) 10 ( ) 10 ║

║ ( ) 16 ( ) 16 ║

║ OK! ▄ Cancel▄ ║

║ ▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀ ║

╚══════════════════════════════════════════════════╝

Рис. 1. Загальний вигляд діалогового вікна калькулятора.
Інтерфейс найзручніше створювати за допомогою бібліотеки TurboVision, яка дозволяє швидко та ефективно створити зручний текстовий інтерфейс для програми, який керується за допомогою миші та гарячих клавіш. Використання цього пакету вимагає знань об’єктно-орієнтовного програмування, а саме мови С++.

Основною одиницею у об’єктно-орієнтовному програмуванні на С++ є класи. Клас – це визначення типу, з яким буде працювати програма та функції для роботи з цим типом. При створенні будь-якої програми на С++ програміст створює свій власний клас, у якому визначає всі необхідні йому функції і підкласи. Часто буває так, що клас містить інший підклас, а той у свою чергу містить свої підкласи і т.д. Бібліотека TurboVision представляє собою групу класів, об’єднаних між собою. Кожен з них містить свої підкласи. Класи мають чітку ієрархію(Рис.2).

(f) ┌opstream

┌───────┘

TObject TStreamable─┤

^ ^ └───────┐

└───────────┬─────────────┘ (f) └ipstream



TView

f = friend ^

v = virtual │

TGroup

^ ^ ^

┌─────────────────┘ │ └────────┐ (v) TDeskInit

│ │ │ ^

│ │ └─────┬─────────┘

│ │ TWindowInit │

│ │ (v) ^ │

│ TProgInit └──┬─────┘ TDeskTop

│ ^ (v) │

└────┬───┘ ┌─>TWindow<────┐ THistInit<┐

│ │ │ │

TProgram │ THistoryWindow───┘

^ │

│ │

TApplication TDialog

Рис. 2. Ієрархія класів TurboVision
Оскільки нас найбільше цікавлять класи, що дозволяють створити інтерфейс, то розглянемо клас TView(Рис.3):
View<──────┬─
├─
├─
├─
├─
├─
├─


├─
│ TStatusItem



├─
│ ┌-
├─
├──┐

├─
│ └────────────────
└─
└─
┌──────────────────┘

└┬─
└─
Рис. 3 Ієрархія класу TView.
Призначення кожного класу легко зрозуміти з його назви, а стрілки на схемі визначають ієрархію їх взаємозалежності.

Інформація вводиться в програму у вигляді рядка символів, який потім обробляється відповідною функцією. Функція вибирається відповідно до положення перемикачів у діалоговому вікні. Дані передаються у вигляді глобальної змінної-структури, у яку записуються рядки вводу-виводу та положення перемикачів.

При обробці введеного рядка даних використовуються класичні методи переведення чисел, а саме:

1. При переведення чисел з десяткової системи числення у інші:

Ціла частина ділиться на основу нової системи числення, а остачі від цілочисельного ділення записуються в зворотньому порядку у результат.

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

2. При переведенні числа з іншої системи у десяткову:

Число розбивається на окремі цифри, які перемножуються на основу системи числення у степені, що відповідає «вазі» цифри. У цифри, що стоїть в наймолодшому цілому розряді «вага» приймається рівною 0, і зростає справа-наліво. Результати сумуються і отримується результуюче число у десятковій системі числення.

3. При переведенні чисел з двійкової у вісімкову і навпаки:

Двійкове число розбивається на групи по три символи – тріади, кожна тріада заміняється у вісімковій системі числення на відповідну їй цифру(табл.1).


Двійкова тріада

Вісімкова цифра

000

0

001

1

010

2

011

3

100

4

101

5

110

6

111

7

Табл.1 Тріади
При переведенні у зворотному порядку кожна цифра замінюється на відповідну їй тріаду, нулі на початку числа відкидаються.

4. При переведенні з шістнадцяткової у двійкову і навпаки:

Аналогічно до попереднього випадку, але число розбивається на групи по 4 символи – тетради(табл.2).

Двійкова тетрада

Шістнадцяткове число

0000

0

0001

1

0010

2

0011

3

0100

4

0101

5

0110

6

0111

7

1000

8

1001

9

1010

A

1011

B

1100

C

1101

D

1110

E

1111

F

Табл.2 Тетради
У шістнадцятковій системі числення цифри, більші за 9 записуються так:

A16=1010

B16=1110

C16=1210

D16=1310

E16=1410

F16=1510

5. При переведенні між вісімковою і шістнадцятковою системами спочатку відбувається переведення числа у двійкову систему, а потім з неї у потрібну нам систему. Переведення відбувається за допомогою методів, описаних у пунктах 3, 4.

Комп’ютерна реалізація даного методу здійснюється за допомогою функцій, що містяться у файлах-включеннях string.h та stdlib.h.

^ 2. Алгоритм розв'язування задачі


Після запуску програми запускається основний клас TProgApp, який будує інтерфейс. Після вибору користувачем відповідної команди запускається калькулятор calculator(), у який вводяться дані. У калькуляторі запущено нескінченний цикл, вихід з якого виконується при натисненні кнопки відміни. У випадку натиснення кнопки ОК дані зчитуються, оброблюються і виводяться на екран у такому ж діалоговому вікні. Дані передаються у функцію Trans()(рис.4), яка обробляє їх і запускає відповідну до положення перемикачів функцію переведення, якщо положення перемикачів таке, що переведення не потрібне, то у рядок виведення записується інформація, введена користувачем.



Рис.4 Функція Trans()
На рис. 5-16 зображено графічні схеми функцій переведення чисел в різні системи числення


Рис. 5 Функція Oct2Bin



Рис. 6 Функція Dec2Bin




Рис. 7 Функція Hex2Bin


Рис. 8 Функція Bin2Oct



Рис. 9 Функція Dec2Oct



Рис. 10 Функція Hex2Oct



Рис. 11 Функція Bin2Dec



Рис. 12 Функція Oct2Dec



Рис. 13 Функція Hex2Dec


Рис. 14 Функція Bin2Hex



Рис. 15 Функція Oct2Hex




Рис. 16 Функція Dec2Hex



  1   2   3   4   5

Схожі:

Навчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення завдання на курсову роботу з дисципліни \" Проблемно-орієнтовані мови програмування \" iconКалендарно-тематичне планування з математики, інформатики
...
Навчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення завдання на курсову роботу з дисципліни \" Проблемно-орієнтовані мови програмування \" iconРобоча навчальна програма дисципліни "Комп’ютерні системи" для спеціальності: 091500
«Комп`ютерні системи та мережі». Дисципліна «Комп’ютерні системи» щільно пов'язана з такими дисциплінами, як «Системне програмування»,...
Навчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення завдання на курсову роботу з дисципліни \" Проблемно-орієнтовані мови програмування \" iconТема: Перетворення чисел в різних системах числення
Тут Аq саме число, q основаніє системи числення, аі цифри даної системи числення, n число розрядів цілої частини числа, m число розрядів...
Навчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення завдання на курсову роботу з дисципліни \" Проблемно-орієнтовані мови програмування \" iconН аціональна академія управління основи програмування та алгоритмічні мови
Оператори циклу в мові програмування С. Написати приклад заповнення масиву цілих чисел з допомогою генератора випадкових чисел
Навчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення завдання на курсову роботу з дисципліни \" Проблемно-орієнтовані мови програмування \" iconРобоча навчальна програма з навчальної дисципліни
...
Навчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення завдання на курсову роботу з дисципліни \" Проблемно-орієнтовані мови програмування \" iconАлексеев А. П. Информатика 2001
Вивчити правила перекладу чисел з однієї системи числення в іншу та записати їх у протокол
Навчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення завдання на курсову роботу з дисципліни \" Проблемно-орієнтовані мови програмування \" iconМетодичні вказівки до виконання індивідуального завдання з дисципліни...
Загальний зміст роботи становить програмна розробка згідно з індивідуальним завданням
Навчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення завдання на курсову роботу з дисципліни \" Проблемно-орієнтовані мови програмування \" iconЗадача на спільну роботу. Мета
Тема: Утворення трицифрових чисел. Читання чисел, записаних у нумераційній таблиці. Додавання чисел різних розрядів. Задача на спільну...
Навчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення завдання на курсову роботу з дисципліни \" Проблемно-орієнтовані мови програмування \" iconКурсова робота
Курсова роботи з дисципліни «Алгоритмізація та програмування» на тему: «Мова програмування turbo pascal» являє собою заключний етап...
Навчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення завдання на курсову роботу з дисципліни \" Проблемно-орієнтовані мови програмування \" iconНавчальна програма дисципліни
Задачі дисципліни формуються, виходячи з того, що по її вивченні студенти повинні
Додайте кнопку на своєму сайті:
Школьные материалы


База даних захищена авторським правом © 2014
звернутися до адміністрації
uchni.com.ua
Головна сторінка