Вторник, 07.05.2024, 04:12
Блог учителя информатики и математики
О блогеМой профильРегистрацияВыходВход
Вы вошли как Гость · Группа "Гости" Приветствую Вас, Гость · RSS
Меню блога
Погода в нашем районе.

НАГРАДА

Как Вы считаете, должны ли дети ходить в школу в школьной форме?
Всего ответов: 2807
 
 Блог учителя
Главная » Статьи » Информатика » Статьи по информатике и информационным технологиям

Римская система счисления.

Примером непозиционной системы, которая  сохранилась  до  наших  дней, может служить система счисления, которая применялась более двух с половиной тысяч лет назад в Древнем Риме. В основе римской системы счисления лежали знаки I (один палец) для числа 1, V (раскрытая ладонь) для числа 5, X (две сложенные ладони) для 10, а для обозначения чисел 100, 500 и 1000 стали применять первые буквы соответствующих латинских слов (Сentum — сто, Demimille — половина тысячи,  Мille — тысяча).

Чтобы записать число, римляне разлагали его на сумму тысяч, полутысяч, сотен, полусотен, десятков, пятков, единиц. Например, десятичное число 28 представляется следующим образом:

XXVIII=10+10+5+1+1+1 (три десятка, пяток, три единицы).

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

        Например, IX — обозначает 9, XI — обозначает 11.

        Десятичное число 28 представляется следующим образом:

XXVIII=10+10+5+1+1+1,

а десятичное число 99 имеет вот такое представление:

XCIХ=-10+100-1+10.

          Римскими цифрами  пользовались  очень долго.  Еще 200 лет назад в деловых бумагах числа должны были обозначаться римскими цифрами  (считалось, что обычные арабские цифры легко подделать). Римская система  счисления сегодня используется,  в основном,  для наименования знаменательных дат, томов, разделов и глав в книгах.

 

Алфавит

 

I                 V                X                L                C                D                M

1                 5                 10              50              100   500   1000

 

 

 


Римские числа пишутся в порядке убывания значащих цифр слева направо. При переводе римских цифр, их числовые значения складываются.

Если перед цифрой стоит цифра с меньшим числовым значением, то производится вычитание меньшего из большего.

Далее полученная разность складывается с последующими цифрами обычным порядком.

Известный ряд римских цифр: I=1, V=5, X=10, L=50, C=100, D=500, M=1000.
Менее известны знаки для больших римских цифр, то есть для чисел 5000, 10000, 50000 и 100000. Скачайте переводчик «ТИТЛО»  

Программа  перевода чисел из римского в арабское на С++

 

#include <stdio.h>
#include <conio.h>
#include <string.h>

char *a2roman (int value, char *c1, char *c2, char *c3);

int main (void)
{
 int arabicalNumeral = 1;
 int result;
 char roman[15] = "";
  do
   {
    clrscr();
     textcolor(GREEN);
     cprintf("..::Programma dlya preobrazovaniyz arabskih chisel v rimskie::..");
     cprintf("\n\r================================================================");
     textcolor(RED);
     cprintf("\n\n\rVvedite chislo ot 1 do 3000:          ");
      scanf ("%d", &arabicalNumeral);
   }
  while ((arabicalNumeral < 1) || (arabicalNumeral > 3000));
   if ((arabicalNumeral <= 3000) && (arabicalNumeral >= 1000))
    {
     result = arabicalNumeral / 1000;
     strcat (roman, a2roman(result, "M", " ", " "));
     arabicalNumeral -= (result * 1000);
    }
   if ((arabicalNumeral < 1000) && (arabicalNumeral >= 100))
    {
     result = arabicalNumeral / 100;
     strcat (roman, a2roman(result, "C", "D", "M"));
     arabicalNumeral -= (result * 100);
    }
   if ((arabicalNumeral < 100) && (arabicalNumeral >= 10))
    {
     result = arabicalNumeral / 10;
     strcat (roman, a2roman(result, "X", "L", "C"));
     arabicalNumeral -= (result * 10);
    }
   if ((arabicalNumeral < 10) && (arabicalNumeral >= 1))
    {
     strcat (roman, a2roman(arabicalNumeral, "I", "V", "X"));
    }
   textcolor(LIGHTBLUE);
   cprintf("Eto chiclo v rimskom napisanii:       %s\n\n", roman);
   textcolor(YELLOW);
   cprintf("\n\r                ...Press any key to exit... ");
 getch();
return 0;
}

Категория: Статьи по информатике и информационным технологиям | Добавил: Harchyov (14.11.2012)
Просмотров: 3517 | Комментарии: 2 | Рейтинг: 4.5/4
Всего комментариев: 1
1 Ирина Евгеньевна  
Римляне не использовали отрицательных чисел, не знали нуля и дробей.

Имя *:
Email *:
Код *:
Copyright MyCorp © 2024
Блог учителя Учительский портал