1   2   3   4   5
Ім'я файлу: Системи числення Поясн_записка_до_курсової_роботи.doc
Розширення: doc
Розмір: 1306кб.
Дата: 27.02.2021
скачати

Розробка прорами (Завдання 2.1)



    1. Вибір мови програмування


Cьогодні існує багато мов програмування і пакетів для створення цих видів програмного забезпечення. Це такі програми: Borland C/C++, Visual Basic, Visual C++, Builder C++, Java, Visual C#. В кожній з цих мов є свої переваги та недоліки. Але найрозповсюдженішою стала мова Visual С#, яка представляє собою потужний і складний пакет для створення програмного забезпечення для Windows. Пакет Microsoft Visual C# має стандартний набір компонентів для розробки програм.
    1. Реалізація на Microsoft Visual Studio 2010

    2. Вказівки програмісту


Під час роботи було використано метод Information(), даний метод виводить на екран інформацію про тему курсої і її автора і очікує натиснення клавіші Enter. Лістинг даного методу показано на (рис. 1).

public static void Information()

{

Console.WriteLine(" \n\t\t\t Курсова робота ");

Console.WriteLine("\tНа тему:\"Переведення чисел з однiєi системи числення в iншу.\"");

Console.WriteLine("");

Console.WriteLine("\n\n\n\n\n\n\n\t\t\t\t Виконав студент групи 1КН-мс11 - Скобченко Ігор");

Console.WriteLine("\n\n\n\n\n\n\n\n\n\n\t\t\t Для початку роботи натиснiть 'Enter'");

Console.ReadLine();

Console.Clear();

}

Рис. 1 – Лістинг методу Information()
Протягом усієї роботи програми використовуються такі функції як Console.WriteLine() i Console.ReadLine(), котрі виводять інформацію на екран консолі і записують інформацію введену з клавіатури.

Функція Console.Clear() – очищує вікно консолі від тексту.

Після перегляду інформаційного вікна консолі користувачу виводиться пропозиція ввести число в двійковій системі числення інформація записується в змінну zmin1. А оскільки змінна має формат рядка, то її можна розбити на масив символів, що і використовується для перевірки правильності вводу.
Console.WriteLine("Вкажiть число в двiйковiй системi числення або 'q' для виходу:");

string zmin1 = Console.ReadLine();
Після введення і збереження відбувається перевірка його на ключові символи або на некоректність вводу, якщо введена невірна інформація користувачеві виводиться інформація про помилку за допомогою даного коду
Console.WriteLine("Введiть коректнi данi!!!");
Дана команда використовується за допомогою набору команд по перевірці вхідного тексту:

bool exit = false;

while (!exit)

{

Console.WriteLine("Вкажiть число в двiйковiй системi числення або 'q' для виходу:");

string zmin1 = Console.ReadLine();

//Перевірка введених данних на коректність

char[] perevirka = new char[zmin1.Length];

perevirka = zmin1.ToCharArray();

bool neVirno = false;

foreach (char item in perevirka)

{

if (item == 'q')

{

exit = true; break;

}

if (item != '0' && item != '1')

{

neVirno = true;

}

}

if (exit)

{

break;

}

else

{

if (neVirno)

{

Console.WriteLine("Введiть коректнi данi!!!"); }
Як працює даний фрагмент коду? Спочатку введена інформація зберігається в рядкову змінну, потім створюється масив символів perevirka, в який конвертується введена інформація з рядка за допомогою команди perevirka = zmin1.ToCharArray(), потім за допомогою циклу перебираються всі елементи даного масиву на наявність літери “q”, якщо така знайдена то відбувається вихід із циклу, якщо ні то відбувається перевірка чи користувач не ввів інших чисел окрім 1 чи 0, якщо є інші інші числа чи символи, то видається повідомлення про помилку «Введіть коректні дані!!!», якщо введені дані правильні програма виконується далі.

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

string rez = Convert.ToString(Convert.ToInt32(zmin1, 2), 10);

Console.WriteLine("Число {0} в десятковій системi числення дорiвнює: {1}", zmin1, rez);
Розглянемо докладніше рядок Convert.ToInt32(zmin1, 2). Переведення в C# виконуються за допомогою класу Convert далі після крапки викликається статична функція Convert.ToInt32(zmin1, 2), вона є статичною тому що не потрібно створювати екземпляр класу для того щоб її викликати. Дана функція приймає два параметри – рядок який буде конвертовано і система числення в яку буде конвертовано, за замовчуванням вказується десяткова система числення.


  1. Вказівки користувачеві


Запускаємо програму. Спочатку на екран виводиться заставка(рис.2).



Рис. 2 – Заставка програми

Натискаємо клавішу Enter, і відкривається наступне діалогове вікно (рис.3).



Рис.3– Запит на введення числа

Вводимо двійкове число, наприклад, 1000, і натискаємо і програма виводить результат (рис.4).



Рис.4 – Результат виконання програми

Підрахунки вручну показують, що двійкове число 1000 в десятковій системі має вигляд 8. Отже, програма виконує перевід вірно.

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


Видно, що алгоритм на Microsoft Visual Studio2010 короткий. Невеликий обсяг програмного тексту пояcнюється використанням бібліотечних функцій, яких дана мова має чимало. Використавши у даній програмі вібповідну бібліотечну функцію, ми спростили алгоритм програми.

Якщо порівняти лістинг програми написаної на C# із кодом цієї ж програми написаної на Turbo Pascal 7.0 то відразу ж зрозуміло, що код на Pascal буде дуже масивним і тяжким для розуміння. Turbo Pascal не має великої кількості бібліотечних функцій, тому нам довелось б самим написати функцію перетворення числа з двійкової системи в десяткову.

Тому можна зробити висновок, що доцільніше для розв’язання даної задачі використати мову Microsoft Visual Studio2010

ВИСНОВКИ


Системи числення призначені для запису чисел цифровими знаками. Існує безліч способів запису. Кожна система числення забезпечує однозначність представлення чисел. Кожна комбінація цифр відповідає одному і тому ж числу.

У сучасному світі важко обійтися однією системою числення. Здається, звична для нас десяткова система дуже зручна, і в ній нам легко оперувати числами, але ЕОМ, якими ми користуємось, працюють лише з двійковою системою числення. Тому постійно виконується перевід з однієї системи в іншу. Нам доводиться стикатись з цим переведенням ледь не кожен день, але ми цього не бачимо, бо все робить сама ЕОМ. В залежності від того, переведення відбувається вручну, чи програмно, обирається конкретний алгоритм, який дасть можливість найбільш легко виконати переведення. При переведенні допускається також використання проміжних систем числення. Це може значно полегшити завдання переводу.

За допомогою системи числення можна також закодувати будь-яку інформацію. Для кодування інформації в основому застосовується двійкова система. Будь-що кодується лише двома символами 0 (немає сигналу) і 1(є сигнал).

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

Перелік посилань


1. Каган Б. М. Электронные вычислительные машины и системы. – Москва: Энергоатомиздат 1985. – 292 с.

2. Пєтух А.М., Войтко В.В. Прикладна теорія цифрових автоматів. – Вінниця: ВДТУ 2001. – 77с.

3. Выгородский М.Я. Справочник по елементарной математике – Москва: Наука – 1979. – 275с.

4. Пєтух А.М., Войтко В.В., Денисюк А.В. – Методичні вказівки до виконання контрольних робіт з дисципліни «ОФЕОМ та С» – Вінниця: ВДТУ 2003. – 77с.

5. Савельєв А.Я. Прикладная теория цифровых автоматов – Москва: Вища школа 1987. – 272с.

6. Темников Ф. Е., Афонин В. А., Дмитриев В. И. Теоретические основы информационной техники - Москва: Высшая школа 1979.– 328 c.

7. Фомин С.В. Системы счисления – Москва: Наука 1987. – 321с.

Додаток А. Лістинг програми на Microsoft Visual Studio 2010


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;
namespace Перевед

{

class Program

{
static void Main(string[] args)

{

Information();

bool exit = false;

while (!exit)

{

Console.WriteLine("Вкажiть число в двiйковiй системi числення або 'q' для виходу:");

string zmin1 = Console.ReadLine();
//Перевірка введених данних на коректність

char[] perevirka = new char[zmin1.Length];

perevirka = zmin1.ToCharArray();

bool neVirno = false;
foreach (char item in perevirka)

{
if (item == 'q')

{

exit = true; break;

}

if (item != '0' && item != '1')

{

neVirno = true;

}

}

if (exit)

{

break;

}

else

{
if (neVirno)

{

Console.WriteLine("Введiть коректнi данi!!!");

}
else

{
string rez = Convert.ToString(Convert.ToInt32(zmin1, 2), 10);

Console.WriteLine("Число {0} в десятковій системi числення дорiвнює: {1}", zmin1, rez);

}

Console.ReadKey();

}

}

}

public static void Information()

{

Console.WriteLine("\n\n\t\t\t Курсова робота ");

Console.WriteLine("\tНа тему:\"Переведення чисел з однiєi системи числення в iншу\"");

Console.WriteLine("");

Console.WriteLine("\n\n\n\n\n\n\n\n\t\t\t\t Виконав студент групи 1КН-мс11 - Скобченко Iгор");

Console.WriteLine("\n\n\n\n\n\n\n\n\n\n\t\t\t Для початку роботи натиснiть 'Enter'");

Console.ReadLine();

Console.Clear();

}

}

}

Додаток Б. Блок-схема реалізації на Microsoft Visual Studio 2010












Натиснення кнопки









Так










Натиснення кнопки

Ні

Так

Ні

1   2   3   4   5

скачати

© Усі права захищені
написати до нас