DAY_C1_PROGDOC_COURSWORK (779998), страница 3
Текст из файла (страница 3)
[300] outtextxy(39*kx,10*ky,"1");
[301] /* invertor 2 */
[302] rectangle(42*kx,7*ky,44*kx,11*ky);
[303] circle(43*kx,11*ky,3);
[304] setcolor(YELLOW);
[305] outtextxy(43*kx,8*ky,"1");
[306] setcolor(LIGHTGRAY);
[307] outtextxy(43*kx,10*ky,"2");
[308] /* invertor 3 */
[309] rectangle(46*kx,7*ky,48*kx,11*ky);
[310] circle(47*kx,11*ky,3);
[311] setcolor(YELLOW);
[312] outtextxy(47*kx,8*ky,"1");
[313] setcolor(LIGHTGRAY);
[314] outtextxy(47*kx,10*ky,"3");
[315] /*------------- Devices And */
[316] /* And 1*/
[317] rectangle(4*kx,17*ky,8*kx,21*ky);
[318] setcolor(YELLOW);
[319] outtextxy(6*kx,18*ky,"&");
[320] setcolor(LIGHTGRAY);
[321] outtextxy(6*kx,20*ky,"1");
[322] /* And 2 */
[323] rectangle(9*kx,17*ky,13*kx,21*ky);
[324] setcolor(YELLOW);
[325] outtextxy(11*kx,18*ky,"&");
[326] setcolor(LIGHTGRAY);
[327] outtextxy(11*kx,20*ky,"2");
[328] /* And 3 */
[329] rectangle(14*kx,17*ky,18*kx,21*ky);
[330] setcolor(YELLOW);
[331] outtextxy(16*kx,18*ky,"&");
[332] setcolor(LIGHTGRAY);
[333] outtextxy(16*kx,20*ky,"3");
[334] /* And 4 */
[335] rectangle(19*kx,17*ky,23*kx,21*ky);
[336] setcolor(YELLOW);
[337] outtextxy(21*kx,18*ky,"&");
[338] setcolor(LIGHTGRAY);
[339] outtextxy(21*kx,20*ky,"4");
[340] /* And 5 */
[341] rectangle(25*kx,17*ky,28*kx,21*ky);
[342] setcolor(YELLOW);
[343] outtextxy(27*kx,18*ky,"&");
[344] setcolor(LIGHTGRAY);
[345] outtextxy(27*kx,20*ky,"5");
[346] /* And */
[347] rectangle(30*kx,17*ky,33*kx,21*ky);
[348] setcolor(YELLOW);
[349] outtextxy(32*kx,18*ky,"&");
[350] setcolor(LIGHTGRAY);
[351] outtextxy(32*kx,20*ky,"6");
[352] /* And 7 */
[353] rectangle(35*kx,17*ky,38*kx,21*ky);
[354] setcolor(YELLOW);
[355] outtextxy(37*kx,18*ky,"&");
[356] setcolor(LIGHTGRAY);
[357] outtextxy(37*kx,20*ky,"7");
[358] /*------------- Devices OR */
[359] /* Or 1 */
[360] rectangle(4*kx,25*ky,23*kx,28*ky);
[361] setcolor(YELLOW);
[362] outtextxy(22*kx,26*ky,"1");
[363] setcolor(LIGHTGRAY);
[364] outtextxy(14*kx,27*ky,"1");
[365] /* Or 2 */
[366] rectangle(25*kx,25*ky,38*kx,28*ky);
[367] setcolor(YELLOW);
[368] outtextxy(37*kx,26*ky,"1");
[369] setcolor(LIGHTGRAY);
[370] outtextxy(32*kx,27*ky,"2");
[371] /*----------------------------- Entry */
[372] setcolor(LIGHTGREEN);
[373] settextstyle(Font[3],HORIZ_DIR,5);
[374]
[375] outtextxy(2*kx,4*ky,"X1");
[376] outtextxy(2*kx,5*ky,"X2");
[377] outtextxy(2*kx,6*ky,"X3");
[378]
[379] outtextxy(2*kx,12*ky,"Y3");
[380] outtextxy(2*kx,13*ky,"Y2");
[381] outtextxy(2*kx,14*ky,"Y1");
[382] /*----------------------------- Exits */
[383] setcolor(LIGHTGREEN);
[384] settextstyle(SMALL_FONT,HORIZ_DIR,6);
[385]
[386] outtextxy(14*kx,31*ky,"Z1");
[387] outtextxy(32*kx,31*ky,"Z2");
[388]
[389] setcolor(CYAN);
[390] outtextxy(25*kx,33*ky,title_10); /* Z1=... */
[391] outtextxy(25*kx,35*ky,title_11); /* Z2=... */
[392] /*----------------------------- Wire */
[393] setcolor(WHITE);
[394] /* X1 */
[395] line(5*kx,4*ky,47*kx,4*ky);
[396] circle(47*kx,4*ky,2);
[397] line(47*kx,4*ky,47*kx,7*ky);
[398] /* X2 */
[399] line(5*kx,5*ky,43*kx,5*ky);
[400] circle(43*kx,5*ky,2);
[401] line(43*kx,5*ky,43*kx,7*ky);
[402] /* X3 */
[403] line(5*kx,6*ky,39*kx,6*ky);
[404] circle(39*kx,6*ky,2);
[405] line(39*kx,6*ky,39*kx,7*ky);
[406] /* Y1 */
[407] line(5*kx,14*ky,47*kx,14*ky);
[408] circle(47*kx,14*ky,2);
[409] line(39*kx,11*ky,39*kx,12*ky);
[410] /* Y2 */
[411] line(5*kx,13*ky,43*kx,13*ky);
[412] circle(43*kx,13*ky,2);
[413] line(43*kx,11*ky,43*kx,13*ky);
[414] /* Y3 */
[415] line(5*kx,12*ky,39*kx,12*ky);
[416] circle(39*kx,12*ky,2);
[417] line(47*kx,11*ky,47*kx,14*ky);
[418] /*------------- To And 1 */
[419] line(5*kx,13*ky,5*kx,17*ky);
[420] circle(5*kx,13*ky,2);
[421]
[422] line(6*kx,14*ky,6*kx,17*ky);
[423] circle(6*kx,14*ky,2);
[424]
[425] line(7*kx,6*ky,7*kx,17*ky);
[426] circle(7*kx,6*ky,2);
[427] /*------------- To And 2 */
[428] line(10*kx,14*ky,10*kx,17*ky);
[429] circle(10*kx,14*ky,2);
[430]
[431] line(11*kx,12*ky,11*kx,17*ky);
[432] circle(11*kx,12*ky,2);
[433]
[434] line(12*kx,5*ky,12*kx,17*ky);
[435] circle(12*kx,5*ky,2);
[436] /*------------- To And 3 */
[437] line(15*kx,12*ky,15*kx,17*ky);
[438] circle(15*kx,12*ky,2);
[439]
[440] line(16*kx,13*ky,16*kx,17*ky);
[441] circle(16*kx,13*ky,2);
[442]
[443] line(17*kx,4*ky,17*kx,17*ky);
[444] circle(17*kx,4*ky,2);
[445] /*------------- To And 4 */
[446] line(20*kx,4*ky,20*kx,17*ky);
[447] circle(20*kx,4*ky,2);
[448]
[449] line(21*kx,5*ky,21*kx,17*ky);
[450] circle(21*kx,5*ky,2);
[451]
[452] line(22*kx,6*ky,22*kx,17*ky);
[453] circle(22*kx,6*ky,2);
[454] /*------------- To And 5 */
[455] line(26*kx,6*ky,26*kx,17*ky);
[456] circle(26*kx,6*ky,2);
[457]
[458] line(27*kx,5*ky,27*kx,17*ky);
[459] circle(27*kx,5*ky,2);
[460] /*------------- To And 6 */
[461] line(31*kx,6*ky,31*kx,17*ky);
[462] circle(31*kx,6*ky,2);
[463]
[464] line(32*kx,4*ky,32*kx,17*ky);
[465] circle(32*kx,4*ky,2);
[466] /*------------- To And 7 */
[467] line(36*kx,5*ky,36*kx,17*ky);
[468] circle(36*kx,5*ky,2);
[469]
[470] line(37*kx,4*ky,37*kx,17*ky);
[471] circle(37*kx,4*ky,2);
[472] /*------------- To Or 1 */
[473] line( 6*kx,21*ky, 6*kx,25*ky);
[474] line(11*kx,21*ky,11*kx,25*ky);
[475] line(16*kx,21*ky,16*kx,25*ky);
[476] line(21*kx,21*ky,21*kx,25*ky);
[477] /*------------- To Or 2 */
[478] line(27*kx,21*ky,27*kx,25*ky);
[479] line(32*kx,21*ky,32*kx,25*ky);
[480] line(37*kx,21*ky,37*kx,25*ky);
[481] /*------------- To EXIT */
[482] line(14*kx,28*ky,14*kx,30*ky);
[483] line(32*kx,28*ky,32*kx,30*ky);
[484] /*----------------------------- Logic */
[485] if(mode==WORK)
[486] {
[487] /*------------- Entry */
[488] bit(4*kx,4*ky,X1); /* bit X3 */
[489] bit(4*kx,5*ky,X2); /* bit X2 */
[490] bit(4*kx,6*ky,X3); /* bit X1 */
[491] /*------------- Devices Inventor 1-3 */
[492] Y1=~X1&1;
[493] Y2=~X2&1;
[494] Y3=~X3&1;
[495] bit(4*kx,12*ky,Y3); /* bit Y3 */
[496] bit(4*kx,13*ky,Y2); /* bit Y2 */
[497] bit(4*kx,14*ky,Y1); /* bit Y1 */
[498] /*------------- Device And 1-7 */
[499] And1=Y2 & Y1 & X3;
[500] And2=Y1 & Y3 & X2;
[501] And3=Y3 & Y2 & X1;
[502] And4=X1 & X2 & X3;
[503] And5=X3 & X2;
[504] And6=X3 & X1;
[505] And7=X2 & X1;
[506] bit( 7*kx,23*ky,And1); /* And 1 */
[507] bit(12*kx,23*ky,And2); /* And 2 */
[508] bit(17*kx,23*ky,And3); /* And 3 */
[509] bit(22*kx,23*ky,And4); /* And 4 */
[510]
[511] bit(28*kx,23*ky,And5); /* And 5 */
[512] bit(33*kx,23*ky,And6); /* And 6 */
[513] bit(38*kx,23*ky,And7); /* And 7 */
[514] /*------------- Device OR 1-7 */
[515] Or1=And1|And2|And3|And4;
[516] Or2=And5|And6|And7;
[517]
[518] bit(15*kx,29*ky,Or1); /* Or 1 */
[519] bit(33*kx,29*ky,Or2); /* Or 2 */
[520] }
[521] STOP_DRAFT;
[522] /*----------------------------- Return to text mode */
[523] text_regime();
[524] /* */
[525] return 0;
[526] }
[527] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[528] int entry_x() /* <=### CHANGE ### */
[529] {
[530] /*------------------------------ Variables */
[531] char ch[2];
[532] /* */
[533] /*------------- Order of the commands */
[534] clrscr();
[535] /* */
[536] for(;;)
[537] {
[538] BELL;
[539] gotoxy(29,12);
[540] cputs(" Command X1 (0 or 1) --> ");
[541] cscanf("%1s",&ch);
[542] if(ch[0]=='1') {X1=1; break;}
[543] if(ch[0]=='0') {X1=0; break;}
[544] gotoxy(29,12);
[545] delline();
[546] }
[547] for(;;)
[548] {
[549] BELL;
[550] gotoxy(29,13);
[551] cputs(" Command X2 (0 or 1) --> ");
[552] cscanf("%1s",&ch);
[553] if(ch[0]=='1') {X2=1; break;}
[554] if(ch[0]=='0') {X2=0; break;}
[555] gotoxy(29,13);
[556] delline();
[557] }
[558] for(;;)
[559] {
[560] BELL;
[561] gotoxy(29,14);
[562] cputs(" Command X3 (0 or 1) --> ");
[563] cscanf("%1s",&ch);
[564] if(ch[0]=='1') {X3=1; break;}
[565] if(ch[0]=='0') {X3=0; break;}
[566] gotoxy(29,14);
[567] delline();
[568] }
[569] STOP;
[570] /* */
[571] return 0;
[572] }
[573] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[574] int bit(int x,int y,int bit)
[575] {
[576] settextstyle(Font[3],HORIZ_DIR,5);
[577] settextjustify(CENTER_TEXT,CENTER_TEXT);
[578] setbkcolor(BLACK);
[579]
[580] if(bit==0)
[581] {
[582] setcolor(LIGHTBLUE);
[583] outtextxy(x,y,"0");
[584] }
[585] else
[586] {
[587] setcolor(LIGHTRED);
[588] outtextxy(x,y,"1");
[589] }
[590] return;
[591] }
[592] /*######################################################*/
Приложение 1. Электронная схема (образец).
NOT | |||||||||||||||||||||||||||||||||||||||||||||||
1 | Z1=Y2Y1X3+Y1Y3X2+Y3Y2X1+X1X2X3 | ||||||||||||||||||||||||||||||||||||||||||||||
NOT | Z2=X3X2+X3X1+X2X1 | ||||||||||||||||||||||||||||||||||||||||||||||
2 | |||||||||||||||||||||||||||||||||||||||||||||||
NOT | |||||||||||||||||||||||||||||||||||||||||||||||
3 | |||||||||||||||||||||||||||||||||||||||||||||||
AND | |||||||||||||||||||||||||||||||||||||||||||||||
7 | |||||||||||||||||||||||||||||||||||||||||||||||
AND | OR | Z2 | |||||||||||||||||||||||||||||||||||||||||||||
6 | |||||||||||||||||||||||||||||||||||||||||||||||
2 | |||||||||||||||||||||||||||||||||||||||||||||||
AND | |||||||||||||||||||||||||||||||||||||||||||||||
5 | |||||||||||||||||||||||||||||||||||||||||||||||
AND | |||||||||||||||||||||||||||||||||||||||||||||||
4 | |||||||||||||||||||||||||||||||||||||||||||||||
AND | |||||||||||||||||||||||||||||||||||||||||||||||
3 | |||||||||||||||||||||||||||||||||||||||||||||||
OR | Z1 | ||||||||||||||||||||||||||||||||||||||||||||||
1 | |||||||||||||||||||||||||||||||||||||||||||||||
AND | |||||||||||||||||||||||||||||||||||||||||||||||
2 | |||||||||||||||||||||||||||||||||||||||||||||||
AND | |||||||||||||||||||||||||||||||||||||||||||||||
X | X | X | Y | Y | Y | 1 | |||||||||||||||||||||||||||||||||||||||||
1 | 2 | 3 | 3 | 2 | 1 |
Приложение 2. Электронная схема (вариант).
NOT | |||||||||||||||||||||||||||||||||||||||||||||||||
1 | Z1=(X2+X3)*(Y1*Y2) | ||||||||||||||||||||||||||||||||||||||||||||||||
NOT | Z2=(X2+X3)+(Y3+X1) | ||||||||||||||||||||||||||||||||||||||||||||||||
2 | |||||||||||||||||||||||||||||||||||||||||||||||||
Z3=(Y1*Y2)+(Y3+X1) | |||||||||||||||||||||||||||||||||||||||||||||||||
NOT | |||||||||||||||||||||||||||||||||||||||||||||||||
3 | Z | ||||||||||||||||||||||||||||||||||||||||||||||||
OR | OR | 3 | |||||||||||||||||||||||||||||||||||||||||||||||
2 | 4 | ||||||||||||||||||||||||||||||||||||||||||||||||
Z | |||||||||||||||||||||||||||||||||||||||||||||||||
AND | OR | 2 | |||||||||||||||||||||||||||||||||||||||||||||||
1 | 3 | ||||||||||||||||||||||||||||||||||||||||||||||||
Z | |||||||||||||||||||||||||||||||||||||||||||||||||
OR | AND | 1 | |||||||||||||||||||||||||||||||||||||||||||||||
1 | 2 | ||||||||||||||||||||||||||||||||||||||||||||||||
X1 | X2 | X3 | Y3 | Y2 | Y1 |
Приложение 3. Последовательность создания из исходного файла f.c исполняемого файла f.exe.
Файлы | Программы | |
И (язык Си) f.c | Препроцессор | |
| ||
Р (язык Си) | Компилятор | |
| ||
О (язык двоичных кодов) f.obj | Линкер (редактор связей) | |
| ||
Исполняемый файл (язык двоичных кодов) f.exe |
Приложение 4. Последовательность операций при выполнении курсовых работ.
-
Установить систему программирования TC на персональный компьютер (создание папки TURBOC.3_0).
-
Создать в папке TURBOC.3_0 дополнительную рабочую папку WORK.
-
В папку WORK скопировать файл исходного текста программы на языке Си imMG.c и переименовать его присвоив ему имя, соответствующее инициалам студента.
Например.
Студентка: L.V. Doronina
Программа: LVD.c -
Настроить систему программирования ТС (Меню Option - Directories).
C:\TURBOC.3_0\INCLUDE
C:\TURBOC.3_0\LIB
C:\TURBOC.3_0\WORK
C:\TURBOC.3_0\WORK -
Спасти настройку (SAVE).
-
Настроить исходную программу на работу с соответствующими INCLUDE файлами:
C:\TURBOC.3_0\INCLUDE\stdio.h
C:\TURBOC.3_0\INCLUDE\conio.h
C:\TURBOC.3_0\INCLUDE\stdlib.h
C:\TURBOC.3_0\INCLUDE\graphics.h -
Переделать программу LVD.c для имитации работы заданной электронной схемы.
-
Компилировать (операция COMPILE) исходный текст программы LVD.c. При этом получается объектный файл LVD.obj
-
Линкеровать объектный файл (модуль) LVD.obj. При этом получается исполняемый файл (модуль) LVD.exe.
-
Запустить файл LVD.exe на исполнение.
Литература.
-
Подбельский В.В., Фомин С.С. Программирование на языке Си - М: Финансы и статистика, 2000.
-
Керниган Б., Ритчи Д. Язык программирования Си / Пер. с англ. - М.: Финансы и статистика, 1992.
-
Болски М.И. Язык программирования Си / Пер. с англ. Справочник. - М.: Радио и связь, 1988.
-
Уэйт М., Прата С., Мартин Д. Язык Си / Пер. с англ. - М.:Мир, 1988.
-
Белецкий Я. Энциклопедия языка Си / Пер. с англ. - М.:Мир, 1992.
-
Джехани Н. Программирование на языке Си. / Пер. с англ. Справочник. - М.: Радио и связь, 1988.
-
Уинер Р. Язык Турбо Си / Пер. с англ. - М.:Мир, 1991.
-
Левкин Г.Н., Левкина В.Е. ДЕМО ТУРБО СИ - М: ПРОК, 1992.
-
Бошкин А.В., Дубнер П.Н. Работа в Турбо СИ – М: ЮКИС, 1991.
-
Б.П. Прокофьев, Н.Н. Сухарев, Ю.Е. Храмов Графические средства Турбо С и Турбо С++ - М: Финансы и статистика, 1992.
-
Шилдт Г. Полный справочник по С, 4-е издание/ Пер. с англ. – М, С-Пб, Киев: Издательский дом Вильямс, 2002.
-
Трой Д. Программирование на языке Си для персонального компьютера IBM PC/ Пер. с англ. – М: Радио и связь, 1991.
-
Касаткин А.И., Вальвачев А.Н. От Turbo C к Borland C++ Справочное пособие – Минск: Вышэйшая школа, 1992
-
Касаткин А.И. Управление ресурсами Справочное пособие – Минск: Вышэйшая школа, 1992.
-
Касаткин А.И. Системное программирование Справочное пособие – Минск: Вышэйшая школа, 1993.
-
Евтеев В.В., Махонько А.М., Юзбашьянц Основы информатики и вычислительной техники, Методические рекомендации – М: Государственная Академия Управления им. С. Орджоникидзе, Учебный центр довузовской подготовки АЗЪ, 1987.
-
Чернов Е.А. Проектирование станочной электроавтоматики – М: Машиностроение, 1989.
-
Березин Б.И., Березин С.Б. Начальный курс С и С++ - М: ДИАЛОГ-МИФИ, 2003.
Содержание.