Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 25.05.2009
Сообщений: 6

Написать программу <<Конвертер>>

26.05.2009, 14:09. Показов 4659. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
«Перевод из 10-ичной системы счисления в 2-, 8-, 16-ичную»
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.05.2009, 14:09
Ответы с готовыми решениями:

Написать программу - конвертер величин
Написать методы преобразования величин. Написать программу взывающие эти методы. Миля - Километр Километр - Миля Лье - Километр ...

Можно ли в дельфи 7 написать программу видео конвертер?
Можно ли в дельфи 7 написать программу видео конвертер? Если да то какими функциями?

Написать программу для перевода единиц измерения (конвертер)
Написать программу для перевода единиц измерения например длины . Из: В: Миллиметры Миллиметры Сантиметры Сантиметры Дециметры...

1
138 / 138 / 65
Регистрация: 20.03.2009
Сообщений: 235
26.05.2009, 18:06
Лучший ответ Сообщение было отмечено angelada как решение

Решение

функции выдраны из модуля:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
uses crt;
var
n,x:integer;
 
FUNCTION DEC2BIN(DEC: LONGINT): STRING; {в 2-ую сс}
 
VAR
  BIN : STRING;
  I, J: LONGINT;
 
BEGIN
  IF DEC = 0 THEN BIN := '0'
  ELSE
  BEGIN
    BIN := '';
    I := 0;
    WHILE (1 SHL (I + 1)) <=DEC DO I := I + 1;
    { (1 SHL (I + 1)) = 2^(I + 1) }
    FOR J := 0 TO I DO
    BEGIN
      IF (DEC SHR (I - J)) = 1 THEN BIN := BIN + '1'
      { (DEC SHR (I - J)) = DEC DIV 2^(I - J) }
      ELSE BIN := BIN + '0';
      DEC := DEC AND ((1 SHL (I - J)) - 1);
      { DEC AND ((1 SHL (I - J)) - 1) = DEC MOD 2^(I - J) }
    END;
  END;
  DEC2BIN := BIN;
END;
 
FUNCTION DEC2HEX(DEC: LONGINT): STRING; {в 16-ую сс}
 
CONST
  HEXDigts: STRING[16] = '0123456789ABCDEF';
 
VAR
  HEX : STRING;
  I, J: LONGINT;
 
BEGIN
  IF DEC = 0 THEN HEX := '0'
  ELSE
  BEGIN
    HEX := '';
    I := 0;
    WHILE (1 SHL ((I + 1) * 4)) <=DEC DO I := I + 1;
    { 16^N = 2^(N * 4) }
    { (1 SHL ((I + 1) * 4)) = 16^(I + 1) }
    FOR J := 0 TO I DO
    BEGIN
      HEX := HEX + HEXDigts[(DEC SHR ((I - J) * 4)) + 1];
      { (DEC SHR ((I - J) * 4)) = DEC DIV 16^(I - J) }
      DEC := DEC AND ((1 SHL ((I - J) * 4)) - 1);
      { DEC AND ((1 SHL ((I - J) * 4)) - 1) = DEC MOD 16^(I - J) }
    END;
  END;
  DEC2HEX := HEX;
END;
 
FUNCTION DEC2OCT(DEC: LONGINT): STRING; {в 8-ую сс}
 
CONST
  OCTDigts: STRING[8] = '01234567';
 
VAR
  OCT : STRING;
  I, J: LONGINT;
 
BEGIN
  IF DEC = 0 THEN OCT := '0'
  ELSE
  BEGIN
    OCT := '';
    I := 0;
    WHILE (1 SHL ((I + 1) * 3)) <=DEC DO I := I + 1;
    { 8^N = 2^(N * 3) }
    { (1 SHL (I + 1)) = 8^(I + 1) }
    FOR J := 0 TO I DO
    BEGIN
      OCT := OCT + OCTDigts[(DEC SHR ((I - J) * 3)) + 1];
      { (DEC SHR ((I - J) * 3)) = DEC DIV 8^(I - J) }
      DEC := DEC AND ((1 SHL ((I - J) * 3)) - 1);
      { DEC AND ((1 SHL ((I - J) * 3)) - 1) = DEC MOD 8^(I - J) }
    END;
  END;
  DEC2OCT := OCT;
END;
 
begin
clrscr;
    repeat
       write('Viberite cifru 1-2-naya, 2-8-naya, 3-16-naya: ');
    readln(n);
       until (n=1) or (n=2) or (n=3);
               writeln('Vvedite 4islo: ');
       readln(x);
case n of
1: writeln(dec2bin(x));
2: writeln(dec2oct(x));
3: writeln(dec2hex(x));
end;
readkey;
END.
Добавлено через 5 минут 15 секунд
если же надо не по отдельности, а сразу во все 3 системы, поставьте так:
Pascal
1
2
3
4
5
6
7
begin
clrscr;
writeln('Vvedite 4islo: ');
readln(x);
writeln('2-naya: ', dec2bin(x), ' 8-naya: ', dec2oct(x), ' 16-naya: ', dec2hex(x));
readkey;
END.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.05.2009, 18:06
Помогаю со студенческими работами здесь

Написать программу конвертер текстовых файлов с одной кодировки в другую из файла (CP1251, UTF8, KOIR8)
Написать программу конвертер текстовых файлов с одной кодировки в другую из файла (текст кириллица. Помогите написать:)

Написать конвертер величин
написать приложение который может пересчитать вес в фунтах, валюта, площадь

Написать конвертер валют
Доброго времени суток. Есть задача универа, написать конвертер валют. То есть пользователь вводит число, какая валюта, и в какую...

Написать конвертер дат
Друзья, помогите, сроки горят... Самому разбираться некогда совсем( Очень надо! Необходимо написать программу, распечатывающую текущие...

Написать конвертер из jpg в bmp
Здравствуй, форум. Можно ли как-то написать конвентор из jpg в bmp? и как это сделать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru