Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
ABB
1

Перевод арабской цифры в цифру почтового индекса

27.11.2010, 22:53. Показов 1066. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание.
Разработать процедуры перевода арабской цифры в цифру почтового индекса (и обратно).
Кто может помочь, отзовитесь. Есть код в Delphi. Перевод всего индекса. Необходимо в Ассемблере.
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
const
num:array[1..5,0..9] of string[3]=(
('###','  #','###','###','# #','###','  #','###','###','###'),
('# #',' ##','  #',' # ','# #','#  ',' # ',' # ','# #','# #'),
('# #','# #','  #','###','###','###','###','#  ','###','###'),
('# #','  #',' # ',' # ','  #','  #','# #','#  ','# #',' # '),
('###','  #','###','#  ','  #','###','###','#  ','###','#  '));
{
###   # ### ### # # ###   # ### ### ###
# #  ##   #  #  # # #    #   #  # # # #
# # # #   # ### ### ### ### #   ### ###
# #   #  #   #    #   # # # #   # #  #
###   # ### #     # ### ### #   ### #
111101101101111     0
001011101001001     1
111001001010111     2
111010111010100     3
101101111001001     4
111100111001111     5
001010111101111     6
111010100100100     7
111101111101111     8
111101111010100     9 }
numbin:array[0..9] of integer =($7B6F,$1749,$7257,$75D4,$5BC9,
                                $79CF,$15EF,$7524,$7BEF,$7BD4);
var
  f,fo:TextFile;
  s:string;
  c,MaxI:integer;
  IndexNum:integer;
  IndexStr:string;
  OutIndex:array[1..5] of string;
  mask:array[1..20]of string[20];
  outnum:array[1..20] of integer;
  i,j,y:integer;
begin
  { TODO -oUser -cConsole Main : Insert code here }
  assignfile(f,'input.txt');
  assignfile(fo,'output.txt');
  reset(f);
  i:=0;
  while (i<5) and (not Eof(f)) do
    begin
     i:=i+1;
     readln(f,s);
     OutIndex[i]:=s;
    end;
  if i=1 then // число в индекс
    begin
     s:=Outindex[1];
     for i:=1 to length(s) do
       begin
        c:=ord(s[i]);
        if (c>47) and (c<58) then
          begin
           MaxI:=i;
           outnum[MaxI]:=c-48;
          end else break;
       end;
     rewrite(fo);
     for j:=1 to 5 do
       begin
        for i:=1 to MaxI do
          write(fo,num[j,outnum[i]],' ');
        writeln(fo,' ');
       end;
    end
  else // индекс в число
    begin
     maxi:=(length(Outindex[1])+1) div 4;
     for i:=0 to maxi-1 do
       begin
        for j:=1 to 5 do
          for y:=(i*4)+1 to (i*4)+3 do
            mask[i+1]:=mask[i+1]+Outindex[j][y];
       end;
     for i:=1 to maxi do
       begin
        y:=1;
        outnum[i]:=0;
        for j:=length(mask[i]) downto 1 do
          begin
           if mask[i][j]<>' ' then
             outnum[i]:=outnum[i]+y;
           y:=y*2;
          end;
       end;
     for i:=1 to maxi do
       begin
        for j:=0 to 9 do
          begin
           if outnum[i]=numbin[j] then
             begin
              outnum[i]:=j;
              break;
             end;
          end;
       end;
     rewrite(fo);
     for i:=1 to maxi do
       begin
        if outnum[i]>9 then break;
        write(fo,outnum[i]);
       end;
    end;
  close(f);
  close(fo);
  sleep(1000);
  writeln('ok');
//  readln(s);
end.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2010, 22:53
Ответы с готовыми решениями:

Вывести в одну строку первую цифру, пробел, вторую цифру (цифры заданы в регистрах AX и BX)
Добрый день! В универе начинаю учить ассемблер. На лекции не понятно вообще ничего. Лекции по...

Поиск почтового индекса
Есть список московский адресов. Как сделать так чтобы по этим всем адресам найти их почтовые...

Распознавание почтового индекса
Здравствуйте. Есть задача - распознавание почтовых индексов. Дано один символ из индекса в виде...

Формирование почтового индекса
Даны: исходные данные 1. натуральное число n (n&lt;=999999) 2. вариант интерфейса - свободная...

1
4165 / 1817 / 216
Регистрация: 06.10.2010
Сообщений: 4,074
29.11.2010, 14:43 2
FASM
Assembler
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
org 100h
mov si,_str
mov dx,0400h
a:lodsb
  movzx bp,al
  shl   bp,4
  add   bp,num-48*16+12
  @@:mov   ax,1300h
     mov   bx,7
     mov   cx,3
     push  dx
     int   10h
     pop   dx
     sub   bp,3
     dec   dh
  jnl @b
  add   dx,0504h
  cmp   si,num
jne a
int 16h
ret
 
_str db '0123456789'
num db '###',\
       '# #',\
       '# #',\
       '# #',\
       '###',\
       '$',\
       ' # ',\
       '## ',\
       ' # ',\
       ' # ',\
       ' # ',\
       '$',\
       '###',\
       '  #',\
       '  #',\
       ' # ',\
       '###',\
       '$',\
       '###',\
       ' # ',\
       '###',\
       ' # ',\
       '#  ',\
       '$',\
       '# #',\
       '# #',\
       '###',\
       '  #',\
       '  #',\
       '$',\
       '###',\
       '#  ',\
       '###',\
       '  #',\
       '###',\
       '$',\
       '  #',\
       ' # ',\
       '###',\
       '# #',\
       '###',\
       '$',\
       '###',\
       ' # ',\
       '#  ',\
       '#  ',\
       '#  ',\
       '$',\
       '###',\
       '# #',\
       '###',\
       '# #',\
       '###',\
       '$',\
       '###',\
       '# #',\
       '###',\
       ' # ',\
       '#  ',\
       '$'
1
29.11.2010, 14:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2010, 14:43
Помогаю со студенческими работами здесь

Перевод из арабской в римскую!
Помогите пожалуйста! Написала программу из римской в арабскую, а наоборот что-то не получается....

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

Перевод с арабской на римскую сс и наоборот
Программа работает на половину, переводит только с римских чисел на арабские, помогите доделать что...

Перевод из арабской сис. в римскую!
Да, я видел уже существующие темы на этот вопрос. Но нигде нету перевода чисел 10 000+ везде до...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru