![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Assm - Перевод арабской цифры в цифру почтового индекса |
|
Assm - Перевод арабской цифры в цифру почтового индекса
|
Новый участник Сообщения: 1 |
Задание.
Разработать процедуры перевода арабской цифры в цифру почтового индекса (и обратно). Кто может помочь, отзовитесь. Есть код в Delphi, перевод всего индекса. Необходимо в Ассемблере. 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. |
|
Отправлено: 23:22, 27-11-2010 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] снижение индекса производительности | sharken | Материнские платы и память | 10 | 04-05-2010 20:25 | |
Как перегнать виниловые диски в цифру | samurai | Видео и аудио: обработка и кодирование | 4 | 25-05-2009 10:46 | |
[решено] Аналоговое видео в цифру через TV карту не выходит... | Offinbah | Видео и аудио: обработка и кодирование | 22 | 21-02-2009 11:45 | |
Службы - Понижение индекса производительности | Dabaduch | Microsoft Windows Vista | 0 | 26-01-2008 21:26 | |
Драйвер - Зависимость индекса производительности от драйвера | Simlion | Microsoft Windows Vista | 3 | 15-10-2007 07:52 |
|