Побудова та аналіз алгоритмів: переклад чисел у різних системах числення. Курсовая работа (т). Информационное обеспечение, программирование.

Побудова та аналіз алгоритмів: переклад чисел у різних системах числення. Курсовая работа (т). Информационное обеспечение, программирование.




💣 👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻


























































Информационное обеспечение, программирование

Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!

Похожие работы на - Побудова та аналіз алгоритмів: переклад чисел у різних системах числення

Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе

Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

Побудова
та аналіз алгоритмів: Переклад чисел у різних системах числення»









.6
Результати роботи програми та контрольні приклади


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


Зараз, багато людей використовують
комп’ютер для роботи. Але поступово деякі обов’язки стали переходити на
мобільні смартфони. Наприклад відправити електрону пошту зручніше відправити
через телефон, зробити пошуковий запит на ваш улюблений ресторан, також
зручніше. Ми живемо вже у той період коли телефонів більше ніж комп’ютерів. По
факту телефони і є комп’ютерами. Тому я і вирішив розробити свою програму для
мобільного приладу









Написати програму яка буде
переводити числа з однієї системи числення в іншу. Також розробити графічний
інтерфейс, яким зручно буде користуватись. Тобто, користувач сам обирає з я
систему числення в яку він бажає перевести число. Для прикладу: бінарне число в
десяткове.




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


Всього є 12 варіантів переводу
чисел:


Тобто можна вважати що потрібно 12
алгоритмів, але при оптимізації зрозуміло що знадобиться тільки 6, але як казав
Дональд Кнут: “ Преждевременная оптимизация - корень всех зол ” .


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




У цій Програмі ми використовували
мову Objective-C. За Основу інтерфейсу ми взяли мобільний пристрій iPhone.
Середа розробки Xcode, ця середа надається тільки для користувачів комп’ютерів
Macintoch. Xcode має так вбудовані можливості як додавання кнопок на екран,
підключення їх до коду, Вивід тексту на екран, строка для вводу даних.


Язик Objective-C відрізняється від
С++, але функціонал схожий, наведемо приклад:


·       std::string str -
NSString *str;


·       sub.str(1,2) - [str
substringWithRange: NSMakeRange]


·       std::stoi(str[k]) -
[str intValue]


·       str.length() - [str
length]


·       toupper(str) - [str
uppercaseString]


у язика Objectine-C є свої плюси,
але також є і недоліки. Наприклад те що мені не сподобалось в ньому, так це
неможливість додавання строк шляхом використання звичайного “+”. Щоб додати
строку вам знадобиться виповнити спочатку переформатування її


= [NSString stringWithFormat:
@”%@%@”, str, strYouWant2add];




Також для коректної роботи програми
нам знадобиться перевірити вхідні дані правильність вводу, тобто визначити чи
присутні у вхідних даних елементи окрім цифр та великих літер A-F. В моєму
випадку алгоритм ігнорує усі зайві елементи, і обирає з них вказані вище елементи.
Після обробки вхідної строки, вихідна строка буде позбавлена зайвих елементів.
У випадку якщо користувач ввів помилкове значення для і натиснув на кнопку, то
він побачить повідомлення з помилкою.







графічний інтерфейс мобільний програмування


Програма розбита на логічні частини.


.1.    Label ( Єтикетка, місце де
відображується результат)


.2.    TextField (Поле куди
вводяться дані)


.3.1. All Action Buttons (усі діючі
кнопки )


.       Implimentation (Пояснення)


.2.    All Buttons Defenition
(Функції у яких перетворюються числа з однієї систему в інші


Усі дії які виконує програма будуть
детально описані в лістингу.




1.6 Результати роботи програми та
контрольні приклади




В даній курсовій роботі було
розроблено програму яка переводить числа з різних систем числення. Програма
поділена на логічні частини, які зручно використовувати. Мовою програмування в
даній роботі був Objective-C.









1.
Bjorn Straustrup “The C++ Programming Language, 2010, Addison Visley,
p.51,p.633,p.798.


2.



. Michael A.Vine “C Programming Second Edition”,
2009, Course Technology, p.218-240.









// Created by Osadchy Dima on
5/7/13.


// Copyright (c) 2013 Osadchy Dima.
All rights reserved.


#import
"HelloWorldViewController.h"


@interface HelloWorldViewController
()


@property (weak, nonatomic) IBOutlet
UILabel *label; //підключення лейблу


@property (weak, nonatomic) IBOutlet
UITextField *textField; //підключення строки вводу


@property (weak, nonatomic) IBOutlet
UIPickerView *ChoseField; //вибір кольору дисплея


(IBAction)changeGreeting:(id)sender;
//підключення кнопок переводу чисел


@implementation
HelloWorldViewController


// Do any additional setup after
loading the view, typically from a nib.


//уникає помилок перевантаження
памяті


// Dispose of any resources that can
be recreated.


(IBAction)changeGreeting:(id)sender
{*str = self.textField.text;(test_to_bin(return_only_number(str))) {.label.text
= [[NSString alloc] initWithFormat:@"%@", binary_to_decimal(str)];


}.label.text = [[NSString alloc]
initWithFormat:@"Input only: 0,1 "];


(IBAction)BintoOct:(id)sender {*str
= self.textField.text;(test_to_bin(return_only_number(str))) {.label.text =
[[NSString alloc] initWithFormat:@"%@", binary_to_octal(str)];


}.label.text = [[NSString alloc]
initWithFormat:@"Input only: 0,1 "];


(IBAction)BintoHex:(id)sender {*str
= self.textField.text;(test_to_bin(return_only_number(str))) {.label.text =
[[NSString alloc] initWithFormat:@"%@", binary_to_hex(str)];


}.label.text = [[NSString alloc]
initWithFormat:@"Input only: 0,1 "];


(IBAction)OcttoBin:(id)sender {*str
= self.textField.text;(test_to_octal(return_only_number(str))) {.label.text =
[[NSString alloc] initWithFormat:@"%@", octal_to_binary(str)];


}.label.text = [[NSString alloc]
initWithFormat:@"Input only: 0,1,2,3,4,5,6,7"];


(IBAction)OcttoDec:(id)sender {*str
= self.textField.text;(test_to_octal(return_only_number(str))) {.label.text =
[[NSString alloc] initWithFormat:@"%@",binary_to_decimal
(octal_to_binary(str))];


}.label.text = [[NSString alloc]
initWithFormat:@"Input only: 0,1,2,3,4,5,6,7"];


}.label.text = [[NSString alloc]
initWithFormat:@"Input only: 0,1,2,3,4,5,6,7"];


(IBAction)DectoBin:(id)sender
{.label.text = [[NSString alloc] initWithFormat:@"%@",
decimal_to_binary(return_only_number(self.textField.text)) ];


(IBAction)DectoOct:(id)sender
{.label.text = [[NSString alloc] initWithFormat:@"%@",
decimal_to_octal(return_only_number(self.textField.text)) ];


(IBAction)DectoHex:(id)sender
{.label.text = [[NSString alloc] initWithFormat:@"%@",
decimal_to_hex(return_only_number(self.textField.text))];


(IBAction)HextoBin:(id)sender
{.label.text = [[NSString alloc] initWithFormat:@"%@",
hex_to_bin(return_hex( self.textField.text))];


(IBAction)HextoOct:(id)sender
{.label.text = [[NSString alloc] initWithFormat:@"%@",
binary_to_octal(hex_to_bin(return_hex( self.textField.text)))];


(IBAction)HextoDec:(id)sender
{.label.text = [[NSString alloc] initWithFormat:@"%@",
binary_to_decimal(hex_to_bin(return_hex( self.textField.text)))];


(BOOL)textFieldShouldReturn:(UITextField
*)theTextField {(theTextField == self.textField) {


[theTextField resignFirstResponder];


}*binary_to_decimal(NSString *str)
{num = 0;k = 0;*str_number;(k = 0; (k+1)<=[str length]; k++) {+=[[str
substringWithRange:NSMakeRange(k,1)] intValue]*pow(2, [str length]-(k+1));


}str_number = [NSString
stringWithFormat:@"%d", num];;


}*binary_to_octal(NSString *str){=
[NSString stringWithFormat:@"%o", [binary_to_decimal(str)
integerValue] ];str;


}*binary_to_hex(NSString *str){=
[NSString stringWithFormat:@"0x%X", [binary_to_decimal(str)
integerValue]];str;


}*octal_to_binary(NSString
*str){*outputstring;=@"";(int k =0; k<[str length]; k++) {([[str
substringWithRange:NSMakeRange(k, 1)] intValue]) {0:= [NSString
stringWithFormat:@"%@000", outputstring];;1:= [NSString
stringWithFormat:@"%@001", outputstring];;2:= [NSString
stringWithFormat:@"%@010", outputstring];;3:= [NSString
stringWithFormat:@"%@011", outputstring];;4:= [NSString
stringWithFormat:@"%@100", outputstring];;5:= [NSString
stringWithFormat:@"%@101", outputstring];;6:= [NSString
stringWithFormat:@"%@110", outputstring];;7:= [NSString
stringWithFormat:@"%@111", outputstring];;:;


}*decimal_to_binary(NSString
*str){inNumber;*outputString;=@"";temp;=[str integerValue];(inNumber
!= 0) {=inNumber%2;=(inNumber-temp)/2;=[NSString
stringWithFormat:@"%i%@", temp, outputString];


}*decimal_to_octal(NSString *str){=
[NSString stringWithFormat:@"%o", [str intValue]];str;


}*decimal_to_hex(NSString *str){=
[NSString stringWithFormat:@"0x%X", [str integerValue]];str;


*hex_to_bin(NSString *str){= [str
uppercaseString];*hexMap = [NSDictionary dictionaryWithObjectsAndKeys:


@"1111",
@"F",];*result=[NSMutableString string];(NSUInteger i=0; i != [str
length]; i++){*hexDigit = [str substringWithRange:NSMakeRange(i, 1)];


[result appendString:[hexMap
objectForKey: hexDigit]];


}*return_only_number(NSString *str)
{*number_str = @"";(int k = 0; k!=[str length]; k++) {(isdigit([str
characterAtIndex:k])) {_str = [NSString stringWithFormat:@"%@%@",
number_str,[str substringWithRange:NSMakeRange(k,1)]]; //add symbol to a new
number string


}test_to_bin(NSString *str){(int k =
0; k!=[str length]; k++) {([[str substringWithRange:NSMakeRange(k,1)] intValue]
>=2) {false;


}test_to_octal(NSString *str) {(int
k = 0; k!=[str length]; k++) {([[str substringWithRange:NSMakeRange(k, 1)]
intValue] >=8) {false;true;*return_hex(NSString *str) {= [str uppercaseString];*hex_str
= @"";number_charachter = 0;(int k =0; k!=[str length]; k++)
{_charachter = [str characterAtIndex:k];(isdigit([str characterAtIndex:k]) ||
(number_charachter >=65 && number_charachter <= 70)) {_str =
[NSString stringWithFormat:@"%@%@", hex_str,[str
substringWithRange:NSMakeRange(k,1)]];hex_str;



Похожие работы на - Побудова та аналіз алгоритмів: переклад чисел у різних системах числення Курсовая работа (т). Информационное обеспечение, программирование.
Історія розвитку гідроархеології в Україні
Курсовая По Педагогике И Психологии
Реферат: Рак головки поджелудочной железы
Курсовая работа: Разработка технологического процесса для производства листа методом холодной прокатки
Реферат по теме Формирование механизмов социальной ответственности университета перед обществом
Реферат: Минеральная питательность кормов
Содержание Магистерской Диссертации Пример
Привод Электрической Лебедки Курсовая
Дипломная работа по теме Национальная экономика: цели и результаты
Реферат: Медицинские термины в "Слове о полку Игореве"
Химия 8 Класс Контрольная Работа 2
Реферат: Разработка бизнес-плана Студенческая гостиница ООО Кампус
Дипломная работа по теме Экономический анализ конечных финансовых результатов деятельности ОАО 'Молочные продукты'
Как Писать Вывод В Курсовой Работе
Эссе На Тему Зачем Нужно Изучать Историю
Реферат: Jim Morrison From Boy To Legend Essay
Контрольная Работа 1 Мерзляк 6 Класс
Сочинение На Тему Мой Лермонтов 6 Класс
Система Питания Дизельного Двигателя Реферат
Что Такое Спорт Реферат Для Детей
Похожие работы на - Исследование и выявление проблем формирования и использования кадрового потенциала организации
Статья: Определение механических характеристик титановых сплавов при обработке резанием
Реферат: Анализ организационной структуры 2

Report Page