Екілік кодында берілген екі жылжымалы үтірлі сандарды екі разряд бойынша талдап көбейту

Кіріспе
1.Операция орындалуының алгоритмін құру.
1.1 Жылжымалы үтірлі сандарды кіші разряд бойынша талдап көбейту.
1.2Жылжымалы үтірлі сандарды кіші разряд бойынша талдап көбейтуге мысал.
1.3 Операциялы автоматтың құрылымы.
1.4 Программаның сипаттамасы
1.5 Қолданушыға нұсқау
1.6 Программаның алгоритмі
1.7 Операция орныдалуының уақытын және операциялық автоматтың (ОА) аппараттық шығындарын есептеу.
1.8 Операция орындалуын бақылау.
2. Басқару автоматын синтездеу.
2.1 Микропрограмманы кодалау.
2.2 Микропрограммалық автоматтың құрылымдық кестесін құру
3. Техникалық құрал жабдықтар.
Қорытынды
Қолданылған әдебиеттер
Қосымша
Бұл курстық жобада жылжымалы үтірлі сандарды екі разряд бойынша талдап көбейту операциясын орындайтын басқарушы автомат синтезделеді. Тексеру модуль бойынша жүргізіледі. Негізгі мақсаты – БА-тың функционалдық сұлбасын құру. Функционалдық сұлбаны құру үшін “ЖӘНЕ-НЕМЕСЕ” логикалық элементтер және жады элементі ретінде Т триггер қолданылады.
Курстық жоба 2 бөлімнен тұрады: операция орындалуының алгоритмін құру және осы алгоритмді жүзеге асыратын БА синтездеу. Сонымен қатар, осы тәсілді жүзеге асыратын программа жазу керек.
1. Айтхожаева Е. Ж., Тынымбаев С. Т.
«Арифметические и логические устройства ЭВМ».

2. Савельев А. Я.
Прикладная теория цифровых автоматов: Учеб. для вузов по спец. ЭВМ. – М.: Высш. школа, 1987. – 272 стр.

3. Тынымбаев С. Т.
Вычислительные машины, системы, комплексы и сети. Учебник для вузов. – Алматы: Рауан, 1996 г.
4. Айтхожаева Е. Ж., Тынымбаев С. Т.
Цифрлық автоматтардың қолданбалы теориясы: Оқулық – Алматы: Рауан, 1992ж.
        
        Кіріспе
Бұл курстық жобада жылжымалы үтірлі сандарды екі разряд бойынша талдап
көбейту операциясын орындайтын басқарушы автомат синтезделеді. ... ... ... Негізгі мақсаты – БА-тың функционалдық сұлбасын
құру. Функционалдық сұлбаны құру үшін ... ... ... жады элементі ретінде Т триггер қолданылады.
Курстық жоба 2 ... ... ... ... ... құру
және осы алгоритмді жүзеге асыратын БА синтездеу. Сонымен ... ... ... ... программа жазу керек.
1.Операция орындалуының алгоритмін құру.
1.1 Жылжымалы үтірлі сандарды кіші разряд бойынша талдап көбейту.
мен сандарының ... ... тең: ... ... реті , ал ... екені көрініп тұр.
Мантиссаларды көбейту табиғи түрде көрсетілген ... ... ... ... ... реті ... реттерін қосу арқылы
анықталады. Ауытқыған реттердің ... ... еске алу ... ... мұнда ауытқыған реттер қосындысы С мәніне артық, сондықтан
одан С мәнін ... ... ... ... көбейту операциясы мынандай кезеңдерден тұрады: ... ... А мен Б ... ... екі ... ... қосындылау
арқылы анықталады; 2. көбейтіндінің реті ... 3. ... ... 4. нәтиже қалыпталынады.
Жылжымалы үтірлі сандарды көбейткенде мына кезеңдерді еске алу керек: 1.
егер көбейгіштердің мантиссалары 0-ге тең болса, онда ... ... 0 мәні ... 2. егер реттер қосындысын анықтау үстінде
теріс таңбалы аса толу ... ... онда ... ... 0 мәні ... 3. егер ... қосындысы анықтағанда оң
таңбалы аса толу ... онда ... ... ... ... соң ... оңға қарай бұзылуы мүмкін, мантиссаны
қалыптылағаннан кейін ретте аса толу жоюлуы ... ... ... ... кіші ... ... ... көбейткіштің екі разрядына қосындыны жылжыту және 1,0 цифрлары
жүйесіне көшу ... ... ... ... екі кіші разрядтар тобының мәндері мынандай болуы мүмкін: 00,
01, 10, 11.
Екі разряд мәні 00 ... ... ... ... КБҚ оңға қарай
екі разрядқа жылжытылады. Екі разряд мәні 10 болса, екі еселенген ... ға ... ... соң КБҚ оңға екі ... ... ... КБҚ –ға көбейгіш қосылып, қосынды оңға екі ... Егер ... ... ... мәні 11 ... онда 11= ... ... қаралады. Онда тасымал осынща жады элементінде сақталады,
ал КБҚ –дан көбейгіш азайтылады да, ... оңға ... екі ... ... ... ... қос разрядтан берілетін тасымал түзету
тіркегішінде (ТТР) сақталады да, көбейткіштің ... қос ... ... ТТР 1 ... егер ... қос ... мәні 00
болса, онда оларды 01 деп, ал 01 болса, онда – 10 деп, 10 ... – 11 ... ... – 00 деп ... ... екі ... бірлік ТТР –де
сақталады. 1-ші таблицада төменгі қос ... ... ... ... ... төменгі екі разрядын талдау ережесі келтірілген.
1-кесте
Реттерді қосындылау.
Рх және Ру ... ... ... шағатын нәтиже Pz –нің бес
жағдайын орнатуға болады.
1.
2.
3.
4.
5.
Мұндағы К реттердің разрядтылығы
1. жағдайда оң аса толу ... орын ... Бұл ... ... ... таңбамен қатысады. Егер реттер операцияға теріс таңбамен қатысса онда ... ... ... Бұл ... ... таңбалы аса толу алынады.
3-ші жағдай орын алады, егер операцияға қатысатын ... ... ... модулдері бірдей болса. 4-ші және 5-ші ... ... мәні ... ... ... ... болса) таңбалары әртүрлі
болғанда орын алады.
4-ші жағдай орын алады, егер реттердің алгебралық қосындысының нәтижесі Pz
оң таңбалы (+Р) болса. 5-ші ... орын ... егер ... ... ... Pz теріс таңбалы (-Р) болса.
Алуда жылжымалы үтірлі ... ... ... ... ... әрекеттерді орындау үшін осы бес жағдайды қарастыру қажет.
1.2Жылжымалы үтірлі сандарды кіші разряд бойынша талдап
көбейтуге мысал.
[X]ТУРА =0 11111010
[Y]ТУРА =-0 ... ... ... ... Реттерін есептейміз:
РX* = 0100
+
PY* = 0101
----------------------
PX *+РY* = 1001
в) Мантиcсаларды көбейтеміз:
0000000000000000
11111010
1111101000000000
0000011111010000 ... ... ... 0011101001110100
1001110100111010 R(1)
Z=0,1001110100111010
г) Нәтижені қалыптастырамыз, ол үшін MZ бір ... ... ... ... Сонда нәтиже мына түрде болады:
Z=1 111111000 0110.
1.3 Операциялы автоматтың құрылымы.
Операциялық автоматты құру үшін Т ... және “И - ... ... ... Осы ... ... Мили ... құрдық. Операциялық автоматтың құрылымын анықтау үшін қажет
ригистрлердің санын және ... ... ... керек. Берілген
алгоритмді пайдаланып, көбейтуді орындау үшін мыналар қажет болады:
1. Бірінші көбейткішке арналған алты разрядты бір ... ... ... арналған алты разрядты бір регистр.
3. Көбейтіндіге арналған он екі разрядты бір регистр.
4. Он екі разрядты сумматор.
5. Бірінші ретке арналған төрт ... ... ... ... ... төрт ... ... Төрт разрядты сумматор.
8. Алты разрядты счетчик
1.4 Программаның сипаттамасы
Програма, Delphi-6 программалау тілінде жазылған. Бұл программаның аты
АЛУ. Программаны ... үшін ... ... іске қосу керек. Программа
арнайы процедураларды шақыру арқылы ... ... ... ... ... процедуралар:
Draw процедурасы
|Шақыру жолы |Жоқ ... ... ... ... ... |Берілген процедура программаның ... |
| ... ... ... ... |Жоқ ... ... ... ... процедурасы
|Шақыру жолы |Жоқ ... ... ... ... ... |Берілген процедура енгізілген реттерді қосады. ... ... ... аса толу бар ... ... |
| ... ... енгізеді. ... ... |Add ... ... ... ... программадан ... ... жолы |Жоқ ... |Процедура 1-ші саның ... ... ... ... ... егер ... талдаған кейін |
| ... ... –1М ... ... ... |
| ... терістейміз. ... ... |Жоқ ... ... ... ... ... жолы |Жоқ ... ... ... сандардың мантиссаларын |
| ... ... ... процедура енгізілген мантиссаларды |
| ... ... ... |Inv, Valu, Proc ... шақырады |
|Шақырылады ... ... ... ... жолы |Жоқ ... ... кесте құрады ... ... ... екі разряд бойынша талдап |
| ... ... ... ... ... |Жоқ ... ... ... ... процедурасы
| ... жолы |Жоқ ... ... ... ... ... |Берілген процедура кесте бойынша талдау жүргізеді|
|Процедураларды ... |Valu ... ... ... ... ... ... ... жолы |Жоқ ... ... нормализацияны жүргізеді |
|Функциялары ... ... ... ... |
| ... ... ... қанша рет |
| ... ... рет ... ... ... |
|Процедураларды шақырады |Жоқ ... ... ... ... Қолданушыға нұсқау
Бұл программаны жұмыс істету Delphi-да Ctrl+F9 пернелерін басамыз.
1.6Программаның алгоритмі
1.7Операция орныдалуының уақытын және операциялық автоматтың ... ... ... ... ...... ... есептелнеді, себебі
операцияның орындалуы қосу және жылжыту микрооперациялардың орындалуынан
тұрады. Сонымен уақыттың ... ... деп, бір ... ... ... ... ... кеткен уаөытты айтамыз. Сонымен қосу
микрооперациясын орындауға кеткен уақыт төрт ... ... ... = ... автоматта операцияны орындауға кеткен уақыт мынаған ... = ... + Tж )+ ...
Бұл жерде n – разряд саны
Tқ – қосу уақыты (4Tқ)
Tқ1 – тәртіпті қосу
Рт Tж – түзету (0,5)
Ақпараттық шығындар.
QОА = QРг1 + QРг2 + QРг3 + QСМ = 16 + 8 + 8 + 5 + 5
+ 5 + 8 ... ... ... жады ... ... бірлігімен яғни,
тригерлермен есептелнеді. Бұл кезде логикалық элементтер ескерілмейді.
1.8 Операция орындалуын бақылау.
Модуль бойынша ... сан ... ... ... ... енгізіледі.
Олраға берілген белгілі бүтін санға бөлу жолымен алынған ... ... ... ... сан ... ... ... сан түрде қаралады. Берілген
ақпараттармен қандай операция ... ... ... ... Қалдықтармен жүргізілген операциялар нәтижесі бақылауға тиісті
операция нәтижесінде берілген модульге бөліну арқылы алынған қалдыққа тең
болу ... ... (Р) бір – ... тең болмаса, онда ол жіберілген
қателік белгісі болып ... Бұл ... ... ... не ... ... қателерді табуға болады.
Модуль мөлшеріне мынандай талаптар қойылады: 1. ... ... табу ... болу ... 2. ... бөлу ... ... талап
етпейтін қарапайым жолмен табылуы керек; 3. модуль мөлшері және ол ... ... ... ... ... ... = 0.11111 ... = -0.10100001
Z = -0.1001110100111010
X (mod 3) = 01
Amod3=01
Bmod3=10
Zmod3=10
Amod3* ... ... ... ... ... нәтиже дұрыс шықты.
2. Басқару автоматын синтездеу.
2.1 Микропрограмманы кодалау.
Алгоритмнің граф схемасы (АГС) ... ... ... ... Мили ... синтездеу кезінде белгіленген АГС алу
былай жүзеге асырылады: а) бастапқыдан кейінгі ... ... ... ... а1 ... белгіленеді; б) операциялық төбелерден кейінгі
төбелер кірісі а2, а3, ..., аn ... в) ... ... әртүрлі символдармен белгіленеді және бір реттен артық ... ... ... ... ... А= { а1, а2, ... } күйлер алфавиті анықтайды.
Жоғарыда айтылған ережелерді пайдаланып, белгіленген ГСА – ны ... ... ... ... ... кестесін құру
Берілген типті автоматты синтездеу үшін берілген АГС бойынша құрылған МПА
– ның құрылымдық тура кестесін құру керек. Бұл ... Мили МПА – ның ... жеті ... ... ам – ... күй; к(ам) – ... күйінің
екілік коды; х(ам, аs) - ам күйінен аs ... ... ... ... ... Y(ам, аs) – ... ... сәйкес шығару сигналы; F(ам,
аs) – МПА – ны ам ... аs ... ... ... жады ... ... |K(аm) |аs(Y) |K(аs) ... ... ... |0001 |A2(y1-y7) |0101 |1 |S2 ... |0101 |A3(y8) |1101 |1 |S1 ... |1101 |A4(y9) |1100 |X1 |R4 ... |1101 |A5(y10) |1110 | X2 |S3R4 ... |1101 |A6(y11) |1111 | |S3 ... |1100 |A5(y10) |1110 |X2 |S3 ... |1100 |A6(y11) |1111 | |S3S4 ... |1110 |A6(y11) |1111 |1 |S4 ... |1111 |A1(y0) |0001 | |R1R2R3 ... |1111 |A7(y12) |0111 | X5 |R1 ... |1111 |A8(y13) |0110 | |R1R4 |
| | | | |X6 | ... |1111 |A9(y14) |0100 ... |
| | | | |ic] | ... |0111 |A8(y13) |0110 |X6 |R4 ... |0111 |A9(y14) |0100 | |R3R4 ... |0110 |A9(y14) |0100 |1 |R3 ... |0100 ... |0000 |1 |R2 ... ... |0010 | |S3 ... |A12(y17y18|1000 |X7|S1 |
| | |) | | | ... ... |1001 |X7 X8 |S1S4 ... |A8(y13) |0110 |X6 |S2 ... |A9(y14) |0100 |X6 |S2R3 ... |A1(y0) |0001 |1 |R1S4 ... |A14(y20) |1011 |X5 |S3 ... ... |1010 | |S3R4 ... ... |1010 |1 |R4 ... |A16(y22) |0011 |X5 |R1S4 ... ... | |R3 |
| | |) | | | ... ... |1001 | X8 |R3S4 |
| | | | | | ... |A12(y17y18|1000 | |S1R3R4 |
| | |) | | | ... ... |1010 |X8 |S1R3 ... ... автоматтың қозу функцияларын жазамыз:
S1=A1V A1X7 V A10X7X8 VA16VA16X8
S2=A1VA11X6VA11
S3=A3X2VA3VA4X2VA4VA10VA13X5VA13
S4=A4VA5VA10X7X8VA12VA15X5VA15X8
R1=A6X3VA6X5VA6X6VA6VA12VA13X5
R2=A6X3VA9
R3= A6X3
VA6VA7VA8VA11VA15VA16VA16X8
R4= A3V ... ... ... ... ... Вейч-Карно диаграммасын
пайдаланамыз (3-кесте).
S1=A1& A1X7 & A10X7X8 &A16&A16X8
S2=A1&A11X6&A11
S3=A3X2&A3&A4X2&A4&A10&A13X5&A13
S4=A4&A5&A10X7X8&A12&A15X5&A15X8
R1=A6X3&A6X5&A6X6&A6&A12&A13X5
R2=A6X3&A9
R3= A6X3
&A6&A7&A8&A11&A15&A16&A16X8
R4= A3& A3
&A6X6&A6&A7&A13&A14&A16
Т-триггерлерді және логикалық ЖӘНЕ, ... ... ... ... ... МПА ... Б-қосымшада кескінделген.
3. Техникалық құрал жабдықтар.
Бұл программаны іске қосу үшін WINDOWS операциялық жүйесі бар IBM ... ... ... ... жадының 2.47Мб көлемі қажет.
Қорытынды
Берілген курстық жобада басқарушы автомат ... Ол ... ... екі жылжымалы үтірлі сандарды екі разряд бойынша ... ... ... көбейту операциясын басқарды.
“И - ИЛИ” базисында және Т – ... ... ... синхронды
басқарушы Мили автоматы құрылды. Бұл курстық ... ... ... 7.0 ... ... программа арқылы тексерілді.
Қолданылған әдебиеттер
1. Айтхожаева Е. Ж., Тынымбаев С. Т.
«Арифметические и логические устройства ЭВМ».
2. Савельев А. Я.
Прикладная теория цифровых ... ... для ... по ... ЭВМ. ... ... ... 1987. – 272 стр.
3. Тынымбаев С. Т.
Вычислительные машины, системы, комплексы и сети. ... для ... ... Рауан, 1996 г.
4. Айтхожаева Е. Ж., Тынымбаев С. Т.
Цифрлық автоматтардың қолданбалы теориясы: ...... ... ... crt, graph;
Var
Gm,Gs:integer;
hf:array[-7..7]of string;
st1,st2,st3,st,sta,stb,stc,sig:string;
a,b,c:array[0..13] of shortint;
i,j,k,uz,cx,uz2,s,sub:integer;
x,x1,x2,p,p2,op1:string;
op:array[1..8]of string[3];
Procedure draw;
begin
setcolor(15);
rectangle(40,40,150,51); {recx}
line(50,40,50,51);
line(20,240,65,240);
line(10,251,75,251);
line(10,251,20,240);
line(65,240,75,251);
line(44,240,44,230);
line(44,230,155,230);
line(44,251,44,261);
circle(44,263,2);
line(44,265,44,278);
line(44,278,42,273);
line(44,278,46,273);
outtextxy(42,279,'x5');
line(60,75,120,75); ... {arrow1 to a ... {bulb ... {arrow2 to a mover}
line(113,110,118,108);
line(113,110,118,112);
outtextxy(138,109,'y8');
circle(134,110,2);
line(60,100,120,100); {tur}
line(50,111,110,111);
line(50,111,60,100);
line(120,100,110,111);
line(130,75,130,86);
line(130,77,140,77);
line(144,77,148,77);
line(130,77,135,75);
line(130,77,135,79);
circle(142,77,2);
outtextxy(150,73,'y5');
line(130,84,140,84);
line(144,84,148,84);
line(130,84,135,82);
line(130,84,135,86);
circle(142,84,2);
outtextxy(150,84,'y6');
line(85,86,85,100); {1/2-den ... {tur ... {arrow above the ... ... {arrow to ... {arrow to ... {line over ... {arrow1 to summator1}
line(45,137,47,132);
line(185,51,185,110);
line(183,105,185,110); {arrow1 to Hemece}
line(185,110,187,105);
line(270,110,270,90);
line(268,105,270,110); {arrow2 to Hemece}
line(270,110,272,105);
line(270,90,285,90);
line(285,90,285,208);
line(285,212,285,280);
line(285,280,190,280);
line(190,280,190,260);
line(162,260,222,260);
line(162,255,162,265);
line(222,255,222,265);
circle(285,210,2); {bulb ... {arrow to ... ... ... {arrow from the ... ... {arrow to ... {arrow to a line}
line(302,148,307,150);
line(302,148,307,146);
outtextxy(311,137,'y10');
circle(300,148,2);
rectangle(180,110,277,121); ... {My-ten ... {nem ... {Rgx}
line(340,40,340,51);
line(390,51,390,100);
line(390,100,388,95);
line(390,100,392,95);
rectangle(470,40,580,51);
line(480,40,480,51); {RGPy}
line(520,51,520,100);
line(520,100,522,95);
line(520,100,518,95);
line(370,100,440,100); ... ... ... ... {arrow to ... {bulb ... {arrow to sig2}
line(410,170,394,170);
line(390,170,370,170);
line(370,170,375,168);
line(370,170,375,172);
outtextxy(353,165,'q2');
circle(392,170,2); {bulb needed}
rectangle(410,180,500,191); {sum of 2 digits}
line(465,200,550,200);
line(475,211,540,211);
line(465,200,475,211);
line(550,200,540,211);
line(415,191,415,196);{arrow to sig3}
line(415,196,405,196);
line(401,196,388,196);
line(388,196,393,194);
line(388,196,393,198);
outtextxy(372,192,'q3');
circle(403,196,2);
line(455,191,455,220); {arrow to reg3}
line(455,205,235,205);
line(235,205,235,225);
line(235,225,156,225);
line(156,225,161,223);
line(156,225,161,227);
line(455,220,510,220);
line(510,220,510,211);
circle(515,188,2); {bulb ... {arrow to ... ... ... ... ... {reg3}
line(160,455,170,455);
setcolor(3);
line(210,456,210,452); {erasing}
setcolor(15);
line(180,412,180,462);
outtextxy(173,415,'S');
outtextxy(200,415,'T');
outtextxy(172,451,'R');
outtextxy(183,451,'TP2');
line(212,454,220,454);
circle(210,454,2);
line(210,420,220,420); {arrow from the reg3}
line(220,420,220,410);
line(220,406,220,396);
line(220,396,218,401);
line(220,396,222,401);
circle(220,408,2); {bulb ... ... ... {arrow from the ... {bulb needed}
outtextxy(124,379,'x8');
rectangle(530,320,600,331); ... {arrow to a counter ... {bulb ... {arrow to a counter ... {bulb ... {arrow to counter of ... {arrow to ... Solve;
var
ds1,sd1:string;
l,m,n:array[0..4] of shortint;
i,j:integer;
begin
n[0]:=0;
for i:=1 to 4 do
begin
val(sta[i],l[i],k);
val(stb[i],m[i],k);
end;
for i:=1 to 4 ... i:=4 downto 1 ... n[i]>1 ... n[i]>2 ... ... and (n[0]=0) then ... {lighting x9}
setcolor(3);
pieslice(535,137,0,360,1); {y11}
pieslice(300,148,0,360,1); {x12}
pieslice(565,308,0,360,1); ... ... ... answer is : ... ... then ... ... q1}
inc(n[1]);
if n[1]>1 then
begin
if n[1]>2 then
n[1]:=1
else
n[1]:=0;
end;
n[0]:=0;
end;
if (n[0]=1)and(n[1]=0) then ... ... ... n[1]>1 ... n[1]>2 ... ... i:=1 to 4 ... inv;
var
q:array [1..11] of shortint;
sd,ds:string;
i,uz1:integer;
begin
uz1:=length(st)-2;
setcolor(3);
pieslice(138,103,0,360,1); {y7}
outtextxy(56,77,char(478)+char(475)+char(475)+char(475)+char(475)+char(475)+
char(475)+char(475));
outtextxy(55,102,char(478)+char(475)+char(475)+char(475)+char(475)+char(475)
);
setcolor(15);
pieslice(134,110,0,360,2); {y8}
outtextxy(62,77,copy(st,3,uz1));
sd:=copy(st,3,uz1);
for i:=1 to uz1 ... ... then ... ... i:=1 to uz1 do
val(sd[i],q[i],k);
inc(q[uz1]);
for i:=uz1 downto 2 do
if q[i]>1 then
begin
q[i]:=0;
inc(q[i-1]);
end;
sd:='';
for i:=1 to uz1 do
begin
str(q[i],ds);
sd:=sd+ds;
end;
st:='1.'+sd;
outtextxy(62,103,copy(st,3,uz1));
end;
Procedure add;
var
ds,sd:string;
begin
for i:=1 to uz ... ... then ... i:=1 to uz do
c[i]:=c[i]+a[i];
for i:=uz downto 1 do
begin
if c[i]>1 then
begin
if c[i]>2 then
begin
c[i]:=1;
inc(c[i-1]);
end
else
begin
c[i]:=0;
inc(c[i-1]);
end;
end;
end;
sd:='';
for i:=1 to uz*2 ... ... then ... ... then
begin ds:='0.'; c[0]:=0; end;
if (st3[1]='0')and(st[1]='0') then ds:='0.';
st3:='';
st3:=ds+sd;
if st3[1]='1' then
begin
insert('11',st3,3);
delete(st3,uz*2+3,2);
end
else
begin
insert('00',st3,3);
delete(st3,uz*2+3,2);
end;
outtextxy(93,243,st3);
readkey;
setcolor(3);
outtextxy(92,242,char(475)+char(475)+char(475)+char(475)+char(475)+char(475)
+char(475)+char(475)+char(475)+char(475));
outtextxy(141,242,char(475)+char(475)+char(475)+char(475)+char(475)+char(475
)+char(475)+char(475)+char(475)+char(475));
setcolor(15);
end;
Procedure valu;
var
i:integer;
begin
x1:='00110011';
x2:='01010101';
p2:='00010011';
for i:=1 to 8 ... ... then ... ... then ... ... then ... (i mod 3 =0) then op[i]:='2m';
end;
end;
Procedure proc;
begin
valu;
st1:='0.'+st1;
st3:='';
for i:=1 to uz*2 do
st3:=st3+'0';
repeat
inc(cx);
pieslice(535,137,0,360,2); {y11}
setcolor(3);
pieslice(138,103,0,360,1); ... ... uz2=2 then ... {turning off ... x[1]='1' then pieslice(273,57,0,360,2);
if x[2]='1' then pieslice(292,55,0,360,2);
if p='0' then
begin
for s:=1 to 4 ... ... s:=5 to 8 ... ... op1='-' then { ... ... then ... insert('00',st3,3);
delete(st3,uz*2+3,2);
st:='0.';
for s:=1 to uz do
st:=st+'0';
if pos('1',st3)0 then
begin
setcolor(3);
outtextxy(92,242,char(475)+char(475)+char(475)+char(475)+char(475)+char(475)
+char(475)+char(475)+char(475)+char(475));
outtextxy(141,242,char(475)+char(475)+char(475)+char(475)+char(475)+char(475
)+char(475)+char(475)+char(475)+char(475));
setcolor(15);
outtextxy(93,243,st3);
end;
setcolor(3);
outtextxy(56,77,char(478)+char(475)+char(475)+char(475)+char(475)+char(475)+
char(475)+char(475));
outtextxy(55,102,char(478)+char(475)+char(475)+char(475)+char(475)+char(475)
);
setcolor(15);
end
else
begin
if op1='-1m' then inv;
if op1='2m' then
begin
st:=st+'0';
delete(st,3,1);
pieslice(138,103,0,360,2); ... p='1' then ... p='0' then ... cx>1 ... s:=1 to uz*2 do
val(st3[s+2],c[s],k);
end;
if op1='1m' then
begin
pieslice(142,77,0,360,2);
pieslice(138,103,0,360,2); {y7}
outtextxy(59,77,copy(st,3,length(st)-2));
end;
add;
end;
until cx=uz div ... ... ... {y15}
pieslice(565,368,0,360,1); {y10}
pieslice(612,325,0,360,1); {-2p}
setcolor(15);
if (k=1)and(sub=0) then
begin
pieslice(515,188,0,360,2);{x3}
setcolor(3);
outtextxy(92,242,char(475)+char(475)+char(475)+char(475)+char(475)+char(475)
+char(475)+char(475)+char(475)+char(475));
outtextxy(141,242,char(475)+char(475)+char(475)+char(475)+char(475)+char(475
)+char(475)+char(475)+char(475)+char(475));
setcolor(15);
outtextxy(93,243,st3+' '+stc);
readkey;
halt;
end;
if (sub-(k-1))7 then
begin
delay(300);
setcolor(3);
pieslice(535,137,0,360,1); ... ... ... ... ... ... ... terminated!');
readkey;
halt;
end;
if (sub=0)and(k>1) then
begin
pieslice(515,188,0,360,2);{x3}
stc:=hf[-(k-1)];
delete(st3,1,k-1);
st3:=st3+' '+stc;
exit;
end;
if k>1 then
begin
delete(st3,1,k-1);
stc:=hf[sub-(k-1)];
st3:=st3+' '+stc;
exit;
end;
if k=1 then
begin
delete(st3,1,k-1);
st3:=st3+' '+stc;
exit;
end;
end;
{******************main program**************************}
Begin
clrscr;
readln(st1);
readln(st2);
if ... then ... ... ... grOk ... ... ... {y15}
pieslice(565,368,0,360,2); {y10}
pieslice(612,325,0,360,2); {-2p}
pieslice(230,20,0,360,2);
pieslice(390,20,0,360,2);
pieslice(520,20,0,360,2);
pieslice(95,20, 0, 360,2); {bulb}
cx:=0; ... ... ... ... ... ... hf[-1]:='0111'; hf[0]:='1000'; hf[1]:='1001';
hf[2]:='1010';
hf[3]:='1011'; hf[4]:='1100'; hf[5]:='1101'; hf[6]:='1110'; hf[7]:='1111';
outtextxy(42,43,copy(st1,1,1));
delete(st1,1,2);
outtextxy(182,43,copy(st2,1,1));
delete(st2,1,2);
i:=pos(' ',st1);
sta:=copy(st1,i+1,4);
stb:=copy(st2,i+1,4);
delete(st1,i,5);
delete(st2,i,5);
outtextxy(55,43,st1);
outtextxy(195,43,st2);
outtextxy(350,43,sta);
outtextxy(490,43,stb);
if sta[1]='1' then pieslice(335,60,0,360,2);
if stb[1]='1' then pieslice(475,60,0,360,2);
if (pos('1',st1)=0)or(pos('1',st2)=0) then
begin
setcolor(3);
pieslice(300,148,0,360,1); ... ... ... ... answer is : ... j:=-7 to 7 do
begin
if sta=hf[j] then s:=j;
if stb=hf[j] then ... ... then ... ... ... ... sig='1' then ... '+st3;
outtextxy(90,290,st3);
readkey;
closegraph;
End.
-----------------------
Norm процедурасы
Valu процедурасы
Solve процедурасы
Draw процедурасы
Proc процедурасы
Add процедурасы
Inv процедурасы
Негізгі программа

Пән: Автоматтандыру, Техника
Жұмыс түрі: Курстық жұмыс
Көлемі: 17 бет
Бұл жұмыстың бағасы: 700 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
Еңбекті өлшеу және нормалау5 бет
Сары майдың квалиметриялық бағалануы және оның сапасын жақсарту жөніндегі шараларды ұйымдастыру7 бет
Талдап оқыту әдістемесі59 бет
"Бейсик тілінде берілген есепке программа құру."20 бет
100 көлеміндегі сандарды көбейту мен бөлу20 бет
3-сыныпта көбейту мен бөлуді игерту әдістемесі15 бет
Delphi-де берілгендер қорын басқару жүйелері13 бет
«Бек-сервис» ЖШС жылжымалы құрамына ТҚК мен жөндеу жұмыстарын ұйымдастыру және басқару37 бет
«ОҚ Қазавтосервис» ЖШС жылжымалы құрамының агрегаттарды жөндеу учаскесінің технологиясын жетілдіру34 бет
Алгоритмдер теориясы және берілгендер құрылымы27 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь