Разработка программы перевода введенной строки текста в последовательность кодов азбуки Морзе. Программа на языке высокого уровня

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    921,71 Кб
  • Опубликовано:
    2013-01-15
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка программы перевода введенной строки текста в последовательность кодов азбуки Морзе. Программа на языке высокого уровня

ФГБОУ ВПО «Кубанский государственный технологический

университет»

Армавирский механико-технологический институт

Кафедра Внутризаводского электрооборудования и автоматики







Пояснительная записка

к курсовой работе

по дисциплине Информатика

на тему «Разработка программы перевода введенной строки текста в последовательность кодов азбуки Морзе. Программа на языке высокого уровня»


Выполнил студент

группы 12ФАБ-ИВ

Смольняков Игорь Михайлович

Руководитель проекта

Бабанская-Никель Ингрита Павловна

Реферат

Курсовая работа 31 с., 18 рис., 2 табл., 8 источников.

ПЕРЕВОД, СТРОКА ТЕКСТА, КОД АЗБУКИ МОРЗЕ, МАССИВЫ СИМВОЛОВ, ЯЗЫК С#

Цель данной работы - перевести строку текста в последовательность кодов азбуки Морзе программа должна быть написана при помощи языка высокого уровня C#.

В процессе работы решались следующие задачи:

а) Исследование теоретического материала по переводу строки текста в последовательность кодов азбуки Морзе.

б) Создание программы со следующими функциями:

–       ввод данных пользователем,

–       задание символьных массивов,

–       инициализация каждого знака строки текста своим кодом,

–       вывод результата на экран.

Содержание

Нормативные ссылки

Термины, определения и сокращения

Введение

. Описание текста и азбуки Морзе

.1 Описание текста

.2 Описание азбуки Морзе

. Математическая постановка задачи

.1 Входные/выводные данные

.2 Основные методы языка C#, используемые в программе

. Описание программного продукта

.1 Алгоритм работы программы

.2 Листинг программы

. Результат работы программы

.1 Руководство пользователя

.2 Тестирование программы

Заключение

Список используемых источников

Нормативные ссылки

В настоящей курсовой работе использованы ссылки на следующие нормативные документы:

ГОСТ Р 1.5-2004 Стандартизация в РФ. Стандарты национальные РФ. Правила построения, изложения, оформления и обозначения.

ГОСТ Р 1.12-2004 Стандартизация в Российской Федерации. Термины и определения.

ГОСТ Р ИСО 9000-2008 Системы менеджмента качества. Основные положения и словарь.

ГОСТ Р ИСО 9001-2008 Системы менеджмента качества. Требования.

ГОСТ 19.101-77 ЕСПД. Виды программ и программных документов.

ГОСТ 19.102-77 ЕСПД. Стадии разработки.

ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов.

ГОСТ 19.104-78 ЕСПД. Основные надписи.

ГОСТ 19.105-78 ЕСПД. Общие требования к программным документам.

ГОСТ 19.202-78 ЕСПД. Спецификация. Требования к содержанию и оформлению.

ГОСТ 19.301-79 ЕСПД. Программа и методика испытаний. Требования к содержанию и оформлению.

ГОСТ 19.401-78 ЕСПД. Текст программы. Требования к содержанию и оформлению.

ГОСТ 19.402-78 ЕСПД. Описание программы.

ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению.

ГОСТ 19.502-78 ЕСПД. Описание применения. Требования к содержанию и оформлению.

ГОСТ 19.503-79 ЕСПД. Руководство системного программиста. Требования к содержанию и оформлению.

ГОСТ 19.504-79 ЕСПД. Руководство программиста. Требования к содержанию и оформлению.

ГОСТ 19.505-79 ЕСПД. Руководство оператора. Требования к содержанию и оформлению.

ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения.

МР КубГТУ 4.4.3-2012 СМК Учебно-методическая деятельность. Выпускные квалификационные работы.

МР КубГТУ 4.2.6-2004 СМК. Учебно-организационная деятельность. Курсовое проектирование.

Термины, определения и сокращения

В настоящей курсовой работе использованы следующие термины с соответствующими определениями и сокращениями:

1 Т.к. - так как

Компилятор - программа или техническое средство, выполняющее трансляцию программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду

Скриншот - изображение, полученное компьютером и показывающее в точности то, что видит пользователь на экране монитора или другого визуального устройства вывода

Код Морзе - это последовательность тоновых сигналов разной длины с паузами. Его начали использовать в ХХ веке. В то время Код Морзе являлся очень прогрессивным, надежным и простым способом передачи данных на большие расстояния. В принципе, даже на фоне современных технологий, он не утратил своих позиций и до сих пор используется. Например, в военной и морской сферах, или когда нет других способов связи, кроме обычного радиопередатчика или фонарика.

Цель данной работы - перевести строку текста в последовательность кодов азбуки Морзе программа должна быть написана при помощи языка высокого уровня C#.

В процессе работы решались следующие задачи:

а) Исследование теоретического материала по переводу строки текста в последовательность кодов азбуки Морзе.

б) Создание программы со следующими функциями:

–       ввод данных пользователем,

–       задание символьных массивов,

–       инициализация каждого знака строки текста своим кодом,

–       вывод результата на экран.

1. Описание текста и азбуки Морзе

.1 Описание текста

Текст (от лат. textus - «ткань; сплетение, связь, сочетание») - в общем плане связная и полная последовательность символов. Но т.к. данная курсовая работа относится к области программирования, то и текст мы будем рассматривать с соответствующей точки зрения.

Текст (текстовые данные или текстовый формат) - представление информации в вычислительной системе в виде последовательности печатных символов. Текстовыми данными, как правило, называются последовательности из подмножества знаков, включающего только печатные знаки (буквы, цифры, знаки препинания) и некоторые управляющие знаки (пробелы, табуляции, переводы строки). Существуют методы, позволяющие закодировать в текстовом формате произвольные данные любого формата.

Часто текстовые данные понимаются в более узком смысле - как текст на каких-либо языках (формальных или естественных), который может быть прочитан и понят человеком.

Текстовому формату противопоставляются «двоичные данные», информация в которых закодирована произвольным образом, не рассчитанном на восприятие человеком.

Требование к возможности понимания содержимого человеком вносит дополнительную избыточность в представление данных. К примеру, число 123, для кодирования которого достаточно одного 8-битного байта, в текстовом виде кодируется несколькими цифровыми символами - так, в десятичной системе счисления для этого требуется три знака («123»), в двоичной - семь знаков («1111011»), в шестнадцатеричной - два («7B»).

Основная цель применения текстовых данных - «общий знаменатель», независимость от отдельных программ, требующих собственного кодирования или форматирования и несовместимых с другими программами. Текстовые файлы (файлы в текстовом формате) могу быть открыты, прочитаны и отредактированы в любых текстовых редакторах.

Текстовый формат часто используются для представления данных, которые сами не являются чисто текстовыми. В этом случае другие форматы данных «надстраиваются» над простым текстом, для чего их управляющие конструкции выражаются посредством печатных слов и знаков препинания.

В большинстве языков программирования предполагается использование текстового формата для исходного кода программ. Помимо прочего, это позволяет применять к исходным кодам разнообразные утилиты для преобразований, оформления, поиска, статистики, анализа и т. п.

В файлах конфигурации многих программ применяется текстовый формат, даже если там представлены числа и двоичные переключатели (да/нет). Это несколько усложняет программы из-за необходимости преобразования текстовых данных во внутренний формат и обратно, но появляется возможность править конфигурацию вручную, без использования средств настройки самой программы.

1.2 Описание азбуки Морзе

Код Морзе, «Морзянка» (Азбукой Морзе код начал называться только с первой мировой войны) способ знакового кодирования (представление букв алфавита, цифр, знаков препинания и других символов последовательностью сигналов, например, длинных и коротких: «тире» и «точек»). За единицу времени принимается длительность одной точки. Длительность тире равна трём точкам. Пауза между элементами одного знака - одна точка, между знаками в слове - 3 точки, между словами - 7 точек. Назван в честь американского изобретателя и художника Сэмюеля Морзе.

Буквенные коды (собственно «азбука») были добавлены коллегой Морзе, Альфредом Вейлем - факт, который Морзе впоследствии всячески отрицал (а заодно приписывал себе изобретение телеграфа как такового). Вейлем же, возможно, была придумана и цифровая часть кода. А в 1848 году код Вейля/Морзе был усовершенствован немцем Фридрихом Герке. Код, усовершенствованный Герке, используется до настоящего времени.

Принцип кодирования азбуки Морзе исходит из того, что буквы, которые чаще употребляются в английском языке, кодируются более простыми сочетаниями точек и тире. Это делает освоение азбуки Морзе проще, а передачи - компактнее. Для передачи русских букв использовались коды сходных латинских букв.

В 2004г. Международный союз электросвязи ввёл в азбуку Морзе новый код для символа @, для удобства передачи адресов электронной почты.

В таблице 1 представлены соответствия русских, латинских букв и других символов и азбуки Морзе.

Таблица 1 - Значения кодов Морзе

Русский символ

Латинский символ

Код Морзе

А

A

.-

Б

B

-…

В

W

.--

Г

G

--.

Д

D

-..

Е (также и Ё)

E

.

Ж

V

…-

З

Z

--..

И

I

..

Й

J

.---

К

K

-.-

Л

L

.-..

М

M

--

Н

-.

О

O

---

П

P

.--.

Р

R

.-.

С

S

Т

T

-

У

U

..-

Ф

F

..-.

Ц

H

….

Ч

C

-.-.

Ш

Ö

---.

Щ

CH

----

Ъ

Q

--.-

Ы

Y

--.--

Ь

X

-.--

Э

É

-..-

Ю

Ü

..-..

Я

Ä

.-.-

1

.----

2

..---

3

…--

4

….-

5

…..

6

-….

7

--…

8

---..

9

----.

-----

Точка

……

Запятая

.-.-.-

Двоеточие

---…

;

-.-.-.

Скобка

-.--.-

Апостроф

.----.

Кавычки

.-..-.

-

-….-

/

-..-.

?

..--..

!

--..--

Знак раздела

-…-

Ошибка/перебой

…….

@

.--.-.

Конец связи (end contact)

..-.-



2. Математическая постановка задачи

.1 Входные/выводные данные

Входные данные: текст, вводимый пользователем. Область допустимых значений: кириллица и знаки '.' ',' '!' '?'.

Выводные данные: последовательность кодов азбуки Морзе.

2.2 Основные методы языка C#, используемые в программе

Методы:Main - главная процедура

Переменные:

string t0 - строковая переменная, в которую записывается текст, введенный пользователем

string s0 - строковая переменная, являющаяся «эталоном», с значениями которого будет сверяться программа при преобразовании

string r - строковая переменная, в которую будет записываться результат преобразования

char[] s - массив символов, в который посимвольно записывается переменная s0

char[] t - массив символов, в который посимвольно записывается переменная t0

int i - целочисленная переменная, являющаяся идентификатором разрядов для массива t[]

int j - целочисленная переменная, являющаяся идентификатором разрядов для массива s[]

a: - метка, предназначенная для перенаправления хода выполнения программы на начало при непрохождении проверки введенных пользователем данных на поддерживаемость

Операторы языка C#:

if() - оператор разветвления процесса

Console.WriteLine() - вывод данных на экран

Console.ReadLine() - ввод данных с клавиатурыor () - цикл со счетчиком

switch() - разветвитель процесса вычисления на несколько направлений

break - оператор прерывания

Console.ReadKey() - получение следующего нажатого пользователем символа или функциональной клавиши

ToCharArray() - переводит заданный экземпляр в последовательность символов Юникода

3. Описание программного продукта

.1 Алгоритм работы программы

Алгоритм работы программы представлен на рисунках 1-5.

Рисунок 1 - Алгоритм работы программы. Часть 1

Рисунок 2 - Алгоритм работы программы. Часть 2

Рисунок 3 - Алгоритм работы программы. Часть 3

Рисунок 4 - Алгоритм работы программы. Часть 4

Рисунок 5 - Алгоритм работы программы. Часть 5

3.2 Листинг программы

Рассмотрим исходный код программы, которая будет производить перевод введенного текста в последовательность кодов азбуки Морзе.

using System;System.Collections.Generic;System.Linq;System.Text;System.Threading.Tasks;text_to_morze

{void Main(string[] args)

{

a :Console.WriteLine("Введите текст(допускаются кириллица и знаки '.' ',' '!' '?', остальные знаки переводиться не будут) ");

string t0 = Console.ReadLine();s0 = "абвгдежзийклмнопрстуфхцчшщъыьэюя.,!?ё";r = "";[] s = s0.ToCharArray();[] t = t0.ToCharArray();(int i = 0; i < t.Length; i++)

{ for (int j = 0; j < s.Length; j++)(t[i] != s[j]); else(j)

{ case 0: r += ".- "; break;1: r += "-... "; break;2: r += ".-- "; break;3: r += "--. "; break;4: r += "-.. "; break;5: r += ". "; break;6: r += "...- "; break;7: r += "--.. "; break;8: r += ".. "; break;9: r += ".--- "; break;10: r += "-.- "; break;11: r += ".-.. "; break;12: r += "-- "; break;13: r += "-. "; break;14: r += "--- "; break;15: r += ".--. "; break;16: r += ".-. "; break;17: r += "... "; break;18: r += "- "; break;19: r += "..- "; break;20: r += "..-. "; break;21: r += ".... "; break;22: r += "-.-. "; break;23: r += "---. "; break;24: r += "---- "; break;25: r += "--.- "; break;26: r += "--.-- "; break;27: r += "-.-- "; break;28: r += "-..- "; break;29: r += "..-.. "; break;30: r += "..-- "; break;31: r += ".-.- "; break;32: r += "...... "; break;33: r += ".-.-.- "; break;34: r += "--..-- "; break;35: r += "..--.. "; break;36: r += ". "; break;

}; };(r != "") { Console.WriteLine("Введенный вами текст в коде Морзе имеет такой вид"); Console.WriteLine(r); } else {Console.WriteLine("Вы не ввели ни одного поддерживаемого знака"); goto a;};.ReadKey();

}

}

}

Приступим к разбору главного метода.

.WriteLine("Введите текст(допускаются кириллица и знаки '.' ',' '!' '?') ");t0 = Console.ReadLine();

Здесь производится ввод данных с клавиатуры и объявление строковой переменной t0.

string s0 = "абвгдежзийклмнопрстуфхцчшщъыьэюя.,!?ё";

string r = "";

Объявление «эталона» s0, с которым будет производиться сравнение символов, и результирующей переменной r, в которую и будет записан окончательный код Морзе.

char[] s = s0.ToCharArray();[] t = t0.ToCharArray();

На данном этапе происходит объявление массивов элементов, в которые посимвольно вписываются «эталон» и введенный текст.

for (int i = 0; i < t.Length; i++)

{(int j = 0; j < s.Length; j++)(t[i] != s[j]); else(j)

{0: r += ".- "; break;1: r += "-... "; break;2: r += ".-- "; break;3: r += "--. "; break;4: r += "-.. "; break;5: r += ". "; break;6: r += "...- "; break;7: r += "--.. "; break;8: r += ".. "; break;9: r += ".--- "; break;10: r += "-.- "; break;11: r += ".-.. "; break;12: r += "-- "; break;13: r += "-. "; break;14: r += "--- "; break;15: r += ".--. "; break;16: r += ".-. "; break;17: r += "... "; break;18: r += "- "; break;19: r += "..- "; break;20: r += "..-. "; break;21: r += ".... "; break;22: r += "-.-. "; break;23: r += "---. "; break;24: r += "---- "; break;25: r += "--.- "; break;26: r += "--.-- "; break;27: r += "-.-- "; break;28: r += "-..- "; break;29: r += "..-.. "; break;30: r += "..-- "; break;31: r += ".-.- "; break;32: r += "...... "; break;33: r += ".-.-.- "; break;34: r += "--..-- "; break;35: r += "..--.. "; break;

case 36: r += ". "; break;

};

Далее происходит посимвольное сравнение элементов текста и эталона, при совпадении которых идет запись кода Морзе в результирующую переменную.

Console.WriteLine(“Введенный вами текст в коде Морзе имеет такой вид”);

Console.WriteLine(r);.ReadKey();

Вывод результата на экран и прерывание программы.

4. Результат работы программы

.1 Руководство пользователя

перевод текст код азбука морзе

Для запуска программы необходимо открыть файл программы в компиляторе (для создания кода использовалась программа Microsoft Visual Studio 2012 Professional) и нажать комбинацию клавиш CTRL + F5 или нажать на кнопку запуска. На дисплее появится окно исполняемой программы, которая представлена на рисунке 6.

Рисунок 6 - Стартовое окно программы

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

Рисунок 7 - Ввод текста пользователем

Программа находит результат и выводит его на экран (рисунок 8). Если введенные текст не соответствует требованиям программы, она не будет его преобразовывать в код Морзе. Если не было введено ни одного поддерживаемого знака, программа уведомит об этом пользователя и вернется на начало.

Рисунок 8 - Вывод результата

Программа завершается по нажатию любой клавиши.

.2 Тестирование программы

Проверка работоспособности программы будет проводиться по результатам, указанным в таблице 2.

Таблица 2 - Результаты проверки

Введенный текст

Результат в коде Морзе

1

а, б, в

.-.-.-.- -….-.-.-.--

2

проверка

.--..-. ---.--..-. -.-.-

3

привет

.--..-....--. -

4

предмет

.--..-.. -.. --. -

5

поиск

.--. ---.. … -.-

6

клавиатура

-.-.-...-.--...- -..-.-..-

7

монитор

-- --- -... - ---.-.

8

программирование

.--..-. --- --..-..- -- --...-. ---.--.- -....

project курсовая

-.-..-.-. … ---.--.-.-.-

10

check

Вы не ввели ни одного поддерживаемого знака


Ниже приведены скриншоты всех проверок. Результат первой тестовой выборки представлен на рисунке 9.

Рисунок 9 - Проверка 1

Результат второй тестовой выборки представлен на рисунке 10.

Рисунок 10 - Проверка 2

Результат третьей тестовой выборки представлен на рисунке 11.

Рисунок 11 - Проверка 3

Результат четвертой тестовой выборки представлен на рисунке 12.

Рисунок 12 - Проверка 4

Результат пятой тестовой выборки представлен на рисунке 13.

Рисунок 13 - Проверка 5

Результат шестой тестовой выборки представлен на рисунке 14.

Рисунок 14 - Проверка 6

Результат седьмой тестовой выборки представлен на рисунке 15.

Рисунок 15 - Проверка 7

Результат восьмой тестовой выборки представлен на рисунке 16.

Рисунок 16 - Проверка 8

Результат девятой тестовой выборки представлен на рисунке 17.

Рисунок 17 - Проверка 9

Результат десятой тестовой выборки представлен на рисунке 18.

Рисунок 18 - Проверка 10

Написанная программа для перевода текста в последовательность кодов азбуки Морзе в заданной области значений работает корректно на всех тестовых выборках.

Заключение

При выполнении данной курсовой работы выполнялся перевод текста в последовательность кодов азбуки Морзе. Этот перевод производился по семи главным пунктам:

а) Ввод данных

б) Создание «эталона»

в) Разбиение строковых переменных на символьные массивы

г) Сравнение элементов массивов

д) Присвоение значений результирующей строковой переменной

е) Проверка

ж) Вывод результата на экран

В процессе работы я пришел к выводу, что можно переводить в код Морзе тексты, различные по размеру и знаковому содержанию, но результат зачастую будет намного объемней исходного варианта, и к тому же, будет долог по времени передачи(имеются ввиду тоновые радиосигналы). Но, несмотря на эти недостатки, до сих пор является распространенным методом передачи данных, т.к. устройства передачи и приема сигнала очень просты и надежны. В настоящее время код Морзе широко используется в военной и морской сферах, а так же в экстренных ситуациях для подачи сигналов бедствия.

Список используемых источников

1.   Свободная интернет-энциклопедия Википедия ru.wikipedia.org/wiki/Азбука_Морзе

2.      Онлайн-библиотека платформы Microsoft Developer Network http://msdn.microsoft.com/ru-ru/library/vstudio/system.char(v=vs.100).aspx

.        Научная библиотека естественнонаучных изданий http://www.sernam.ru/book_csharp.php?id=63

4.   Герберт Шилдт. Полный справочник по С# Пер. с англ. - М. : Издательский дом "Вильяме", 2004. - 752 с. : ил. - Парал. тит. англ.

5.      Павловская Т. А. С#. Программирование на языке высокого уровня. Учебник для вузов. - СПб.: Питер, 2009. - 432 с: ил.

.        Культин Н.Б. С# в задачах и примерах. - СПб.: БХВ-Петербург, 2007. - 240с.: ил. +CD-ROM

.        Савельев А.Я. Основы информатики: Учеб. Для вузов. - М.: Изд-во МГТУ им. Н.Е. Баумана, 2001. -328 с.

.        Острейковский В.А. Информатика: Учеб. Для вузов. - М.: Высш. шк., 2000. - 511 с.

Похожие работы на - Разработка программы перевода введенной строки текста в последовательность кодов азбуки Морзе. Программа на языке высокого уровня

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!