Позиційні системи числення
Тема: позиційні системи числення (ПСЧ), переведення чисел з десяткової системи числення до довільної ПСЧ та переведення з довільної ПСЧ до десяткової системи числення.
Мета роботи: опанувати правила переведення чисел з десяткової системи числення в довільну ПСЧ і навпаки.
Програма позиційний числення
Хід роботи
Кінцевою метою роботи є створення програми для переведення чисел з довільної системи числення в довільну ПСЧ і навпаки. Щоб виконати дане завдання, було обрано мову програмування Object Pascal.
Спершу були створено рядок внесення початкових даних і кінцевого обрахунку для виконання необхідного завдання.
Підбір та використання процедур для переведення ПСЧ з однієї системи числення в іншу.
Реалізація раніше описаних алгоритмів розрахунку засобами та інструментами Pascal ABC.
Перевірка отриманих результатів.
Лістинг програми
Program sustemu_chuslennya;
Uses
CRT;
Const line='--------------------------------------';
Sline='---------------';
A: string[36] = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
Var
C: char;
F:text;
X:string;
N, r: real;
Rez, s, s2, s3: string;
T, cc, ind, cc2, k: integer;
{процедура для поділу дробної і целої частини числа}
Procedure Del(var ss: string);
Var
I: integer;
Begin
Ind := 0;
S2 := '';
For i := 1 to length(ss) do
If ss[i] in [',', '.'] then
Begin
Ind := i;
Break
End
Else
S2 := s2 + ss[i];
S3 := '';
If ind <> 0 then
Begin
Delete(s, 1, ind);
S3 := ss;
End;
End;
Function ToDec(var ss: string; cc: byte): integer;
Var
I, n, sum: integer;
Begin
Sum := 0;
N := length(ss);
For i := 1 to n do
Begin
Dec(n);
Sum := sum + round((pos(ss[i], a) - 1) * exp(ln(cc) * n));
End;
ToDec := sum;
End;
Function Cel(d: real; c: integer): string;
Var
S: string;
N2: integer;
Begin
N2 := round(int(d));
S := '';
Repeat
S := ((a[n2 mod c + 1]) + s);
N2 := n2 div c;
Until (n2 = 0);
Cel := s;
End;
Function Drob(var d: real; t, c: integer): string;
Var
S: string;
L2, k, n3: real;
I, l: integer;
Begin
K := d - int(d);
S := '';
I := 0;
If t <> 0 then
Begin
Repeat
L2 := k * c;
K := frac(l2);
S := s + a[round(int(l2)) + 1];
Until i = t;
End
Else
S := '0';
Drob := s;
End;
Function drob2(ss: string; c: integer): real;
Var
I: integer;
Sum: real;
Begin
For i := 1 to length(ss) do
Sum := sum + (pos(ss[i], a) - 1) * exp(ln(c) * - i);
Drob2 := sum;
End;
Label metka;
Begin textbackground(Blue);//светло-серый
Textcolor(Yellow);
ClrScr;
Write('Ви бажаєте перевести число з будь-якої системи числення в іншу? ');
Readln(x);
Metka:
If ((x='так') or (x='Так')) then begin
Repeat
Writeln(line);
Write('Введіть систему числення з якої бажаєте перевести: ');
Readln(cc2)
Until cc2 in [2..36]; {проверка ввода}
Writeln(line);
Write('Введіть систему числення в яку бажаєте перевести: ');
Readln(cc);
If cc2 = 10 then {если перевод из 10 то юзаем функции Cel и Drob}
Begin
Writeln(line);
Write('Введіть число в ', cc2, '-й системі числення: ');
Readln(n);
Writeln(line);
{write('Введіть число: '); }
{readln(t); }
If ((n - round(int(n))) = 0) then {если дробная часть числа=0 то юзаем Cel}
Rez := Cel(n, cc)
Else {иначе юзаем обе и добавляем, между дробной и целой}
Rez := Cel(n, cc) + ',' + Drob(n, t, cc);
End
Else {иначе если перевод не из 10-й СС}
Begin
Writeln(line);
Write('Введіть число в ', cc2, '-й системі числення: ');
Readln(s);
Del(s); {разбиваем на дробную и целую части строку}
If ind = 0 then
Rez := Cel(ToDec(s2, cc2), cc) {переводим сначала из любой в 10-ю сс, а затем из
10-й в любую}
Else
Begin
R := drob2(s3, cc2); {переводим дробную часть числа}
Rez := Cel(ToDec(s2, cc2), cc) + ',' + drob(r, length(s3), cc); {переводим из любой сс
В другую }
End;
End;
Writeln(rez); { THE END }
Readkey;
Writeln(line);
Writeln('Бажаєте здійснити переведення числа ще раз?');
Readln (c);
If (x='так') then goto metka
Else
Begin
If (x='ні') then Halt(1);
End;
End;
End.
Форми програми:
Контрольні запитання
Визначення системи числення (Системою числення називається сукупність правил і знаків за допомогою яких можна відобразити будь-яке невід'ємне число).
Класифікація СЧ (Системи числення бувають:
Позиційні (двійкова, десяткова);
Змішані (фібоначчі);
Непозиційні (римська)).
Визначення позиційної СЧ (Позиційна СЧ - це така система числення, де цифра у записі числа залежно від свого розташування змінює саме число, тобто цифра має свою вагу у числі).
Основні ПСЧ що використовуються в обчислювальній техніці (16-ва, 8-ва, та 2-ва системи числення).
Аналітичні розрахунки
- 256(10) 5 256/5=51 (ост. 1) 51/5=10 (1) 10/5 = 2 (0)
Отже, вірна відповідь - 2011.
Висновок
В даній лабораторній роботі були засвоєні основні поняття, які стосуються позиційних систем числення, створено універсальний алгоритм для здійснення переведень з десяткової системи числення в іншу ПСЧ і навпаки та реалізовано даний алгоритм на необхідній мові програмування.
Похожие статьи
-
Функціональне призначення та технологічні особливості розробки Метою дипломної роботи є розробка гнучкої системи підтримки підвищення кваліфікації...
-
Перевірка працездатності системи тестування - Мультимедійна система для тестування студентів
Для того, аби перевірити працездатність оцінювання системи тестування знань студентів необхідно виконати діагностику системи. Найважливішою...
-
Висновки - Графічне та геометричне моделювання та інтерактивні системи
Язык UML уже сейчас находит широкое применение в качестве неофициального стандарта в процессе разработки программных систем, связанных с такими...
-
Рисунок 9.1 - Логическая схема процедуры Runge Рисунок 9.2 - Логическая схема для вычисления кинематических и силовых характеристик четырехмассовой...
-
Все рассмотренные ранее диаграммы отражали концептуальные аспекты построения модели системы и относились к логическому уровню представления. Особенность...
-
Тестування програмної системи - техніка контролю якості, що перевіряє відповідність між реальною і очікуваною поведінкою програми завдяки кінцевому...
-
ВИСНОВКИ - Дослідження загроз в інтернет-технологіях та вразливі місця системи
Інтернет Речей, як складна комбінована розвиваюча система, об'єднає безліч різних пристроїв з можливостями взаємодії із середовищем, ідентифікації,...
-
Поняття бази даних. Системи управління базами даних - Система керування базами даних Access
Під час інформаційної діяльності людина збирає і накопичує відомості про довкілля. До появи обчислювальної техніки вся інформація звичайно зберігалася в...
-
Для кожного модуля навчальної дисципліни створюється тест. Тест складається з загальної частини і тестових завдань. Загальна частина повинна включати: -...
-
Титульна сторінка Після запуску системи комп'ютерного тестування відкривається титульна сторінка проекту, яка містить в собі тему проекту та додаткову...
-
Single Choice Question 1. Наиболее эффективное средство для защиты от сетевых атак 1) использование сетевых экранов или "firewall" 2) использование...
-
Google Android System Android - операційна система для смартфонів, планшетів і нетбуків. Компанія Google придбала розробника програмного забезпечення...
-
Плани і прогнози впровадження IoT Проаналізувавши літературу було виявлено, що можливості Інтернету речей в області генерування, збору, передачі, аналізу...
-
Далі наводиться загальний вигляд (рис. 5.3) логіко-функціональної схеми роботи системи. Рис. 5.3 Логіко-функціональна схема роботи системи тестування Як...
-
Запас стійкості по фазі на частоті зрізу . Норми запасів стійкості для надійної роботи САР, рекомендовані у списку використаної літератури, складають -...
-
Для розробки задається передавальна функція незмінною частини системи регулювання, задавальна дія, чисельне значення статичної помилки, часу регулювання...
-
Інформаційна модель системи Інформаційна модель відображує загальний склад інформаційних об'єктів автоматизованої системи, яка проектується та зв'язки...
-
UML діаграма діяльності варіантів використання Задача сайту для медичної лабораторії містить у собі рішення покращення діяльності лабораторії. За...
-
Поняття інформаційної системи - Типи інформаційних систем
Інформаційна система - є сукупність організаційних, технічних, програмних та інформаційних коштів, об'єднаних на єдину систему для збирання, зберігання,...
-
Aрхітектурнa та телекомунікаційна стадія проектування СКС Структурована кабельна система (Structured Cabling System, SCS) - це набір комутаційних...
-
Побудова діаграми варіантів використання Функціональні вимоги до програмного продукту в нотації UML описують за допомогою діаграми варіантів використання...
-
Зробивши аналіз літературних джерел було отримано такі результати, що широкому впровадженню Інтернету речей перешкоджають складні технічні та...
-
База даних (БД) -- це організована структура, призначена для зберігання інформації: даних і методів, за допомогою яких відбувається взаємодія з іншими...
-
Використовують 3 способи взаємодії з інтернет-речами: 1) прямий доступ; 2) доступ через шлюз; 3) доступ через сервер. У разі прямого доступу...
-
Когнітивний Інтернет речей IoT - Дослідження загроз в інтернет-технологіях та вразливі місця системи
Інтернет речей є відкритою парадигмою, яка надзвичайно сприйнятлива і адаптивна для нових принципів і архітектури, що відносяться до різних напрямів...
-
Інтернет нано-речей - Дослідження загроз в інтернет-технологіях та вразливі місця системи
Автор [18] вказує, що нано-технології призвели до розробки мініатюрних пристроїв, розміри яких варіюються від одного до декількох сотень нано-метрів. На...
-
Веб речей WoТ Складовою частиною Інтернету речей є Веб речей (WEB of Things, WoT), який забезпечує взаємодію різних інтелектуальних об'єктів ("речей") з...
-
Базові принципи IoT - Дослідження загроз в інтернет-технологіях та вразливі місця системи
Інтернет речей грунтується на трьох базових принципах. По-перше, поширену комунікаційну інфраструктуру, по-друге, глобальну ідентифікацію кожного об'єкта...
-
Для запуску розробленого програмного продукту необхідна наявність на персо-нальному комп'ютері встановленого Mysql Server (локального), або доступ через...
-
ПОБУДОВА БАЖАНИХ ЛОГАРИФМІЧНИХ ХАРАКТЕРИСТИК СИСТЕМИ - Система автоматичного регулювання (САР)
Структуру бажаної системи можна представити у вигляді, зображеному на рис. 5.1. Рисунок 5.1 - Структура бажаної схеми. Відповідно правилами ЛАЧХ...
-
Модуль PHP PHP (англ. PHP:Hypertext Preprocessor -- PHP:гіпертекстовий препроцесор), попередньо: Personal Home Page Tools -- скриптова мова...
-
Основні поняття інтернету речей Автори запевняють, що у зв'язку з бурхливим розвитком мереж з пакетною комутацією і перш за все Інтернету на початку...
-
Відомі два підходи до організації інформаційних масивів: файлова організація та організація у вигляді бази даних. Файлова організація передбачає...
-
Діаграми послідовностей. В языке UML взаимодействие элементов рассматривается в информационном аспекте их коммуникации, т. е. взаимодействующие объекты...
-
Вивчивши поточну ситуацію у галузі кіберзагроз, компанія Trend Micro заявила, що в найближчі три роки станеться різке зростання атак на телевізори з...
-
Розвиток Smart TV - Дослідження загроз в інтернет-технологіях та вразливі місця системи
В українській розробці з'являються перші моделі так званих розумних телевізорів. На відміну від звичайних "скриньок", вони дозволяють глядачам не...
-
Проблеми та шляхи їх вирішення - Дослідження загроз в інтернет-технологіях та вразливі місця системи
Дослідивши деяких авторів [16,18], можна зробити висновок, що деякі чинники, здатні уповільнити розвиток Інтернету речей. З них найбільш серйозними...
-
Криптологія, Системи електронного цифрового підпису (ЕЦП) - Розробка електронного цифрового підпису
Криптологія - наука, що займається методами шифрування і дешифрування. Криптологія складається з двох частин - криптографії та криптоаналізу....
-
Розв'язування системи лінійних алгебраїчних рівнянь методом Гауса
Мета роботи: навчитись розв'язувати систему лінійних алгебраїчних рівнянь методом Гауса. Нехай задана система п лінійних рівнянь із п невідомими, яка в...
-
Поки компанії-виробники демонструють гарні рекламні зображення, підключених до мережі грилів, кавоварок, холодильників, дверних замків, експерти з...
Позиційні системи числення