|
0 / 0 / 0
Регистрация: 14.06.2009
Сообщений: 3
|
|
Не знаю как заполнить блок схему.15.06.2009, 17:34. Показов 2855. Ответов 2
Метки нет (Все метки)
Есть программа.
/*-----------"Проверка состава оборудования"--------------*/ /* Подключение стандартных заголовков */ #include <dos.h> #include <conio.h> #include <stdio.h> /*--------------------------------------------------------*/ void main() { unsigned char type_PC, /* Тип компьютера */ a,b; /* Переменные для определения */ /* характеристик памяти ПЭВМ */ unsigned int konf_b; /* Байт конфигурации из BIOS */ char *type[]={"AT","PCjr","XT","IBM PC","unknown"}; unsigned char typ1A[]={0,1,2,4,5,6,7,8,10,11,12,0xff}; char *types1A[]={"нема дисплею","MDA, моно","CGA, цв.", "EGA, цв.","EGA, моно","PGA, цв.", "VGA, моно, анал.","VGA, кол., анал.", "MCGA, кол., цифр.","MCGA, моно, анал." "MCGA, кол., анал.","неизвестный тип", "непредусмотренный код"}; unsigned int j; /* Вспомогательная переменная */ unsigned int seg; /* Сегмент ПЗУ */ unsigned int mark=0xAA55; /* Маркер ПЗУ */ unsigned char bufVGA[64]; /* Буфер данных VGA */ union REGS rr; struct SREGS sr; textbackground(0); clrscr(); textattr(0x0a); cprintf("Лабораторная работа N5"); cprintf("\nПроверка состава оборудования"); /* Определения типа компьютера */ type_PC=peekb(0xF000,0xFFFE); if( (type_PC-=0xFC)>4) type_PC=4; textattr(0x0b); cprintf("\nТип компьютера: "); textattr(0x0f); cprintf("%s\n\r",type[type_PC]); /* Конфигурация*/ konf_b=peek(0x40,0x10); /* Чтение байта оборудования */ /* из памяти BIOS */ textattr(0x0b); cprintf("Конфигурация:\n\r"); /* Количество дисководов */ textattr(0x0e); cprintf(" Дисководов ГМД: "); textattr(0x0f); if(konf_b&0x0001) cprintf("%d\n\r",((konf_b&0x00C0)>>6)+1) ; else cprintf("нет\n\r"); textattr(0x0e); cprintf(" Математич. сопроцессор: "); textattr(0x0f); if(konf_b&0x0002) cprintf("есть\n\r"); else cprintf("нет\n\r"); textattr(0x0e); cprintf(" Тип дисплейного адаптера: "); textattr(0x0f); /* Определение активного адаптера */ /* Предположим наличие VGA */ rr.h.ah=0x1a; rr.h.al=0; int86(0x10,&rr,&rr); if(rr.h.al==0x1a) /* Поддерживается функция 1Ah */ { /* прерывания 10h */ for(j=0;j<12;j++) if(rr.h.bl==typ1A[j]) break; cprintf("%s",types1A[j]); if(j>0 && j<12) { rr.h.ah=0x1b; rr.x.bx=0; sr.es=FP_SEG(bufVGA); rr.x.di=FP_OFF(bufVGA); int86x(0x10,&rr,&rr,&sr); cprintf(", %d Кбайт\n\r",((int)bufVGA[49]+1)*64); } else cprintf("\n\r"); } else { /* Предположим наличие EGA */ rr.h.ah=0x12; rr.h.bl=0x10; int86(0x10,&rr,&rr); if(rr.h.bl!=0x10) /* Поддерживается функция 12h */ { /* прерывания 10h */ cprintf("EGA"); if(rr.h.bh) cprintf(" моно"); else cprintf(" кол."); cprintf(", %d Кбайт\n\r",((int)rr.h.bl+1)*64); } else { /* CGA или MDA */ switch(konf_b&0x0030) { case 0: cprintf("EGA/VGA\n\r");break; case 0x10: cprintf("CGA,40\n\r");break; case 0x20: cprintf("CGA,80\n\r");break; case 0x30: cprintf("MDA");break; } } } /* Блоки ОЗУ на системной плате */ textattr(0x0e); cprintf("\n\r Первичный блок памяти: "); textattr(0x0f); switch (konf_b&0x000C) { case 0:cprintf("16 Кбайт\n\r");break; case 4:cprintf("32 Кбайт\n\r");break; case 8:cprintf("48 Кбайт\n\r");break; case 12:cprintf("64 Кбайт или больше\n\r");break; } /* Количество последовательных портов RS-232 */ textattr(0x0e); cprintf(" Портов RS232: "); textattr(0x0f); cprintf("%d\n\r",(konf_b&0x0E00)>>9); /* Наличие джойстика */ textattr(0x0e); cprintf(" Джойстик: "); textattr(0x0f); if(konf_b&0x1000 ) cprintf("есть\n\r"); else cprintf("нет\n\r"); /* Количество параллельних принтеров */ textattr(0x0e); cprintf(" Принтеров: "); textattr(0x0f); cprintf("%d\n\n\r",(konf_b&0xC000)>>14); /* Объем оперативной памяти */ textattr(0x0e); cprintf("Объем оперативной памяти: "); textattr(0x0f); cprintf("%d Кбайт\n\r",peek(0x40,0x13)); textattr(0x0e); /* Наличие и объем extended-памяти */ outportb(0x70,0x17); a=inport(0x71); outportb(0x70,0x18); b=inport(0x71); cprintf("Объем extended-памяти: "); textattr(0x0f); cprintf("%d Кбайт\n\n\r",(b<<8)|a); /* Наличие дополнительных ПЗУ */ for( seg=0xC000;seg<0xFFB0;seg+=0x40) /* Просмотр памяти от C000:0 с шагом 2 К */ if(peek(seg,0)==mark) /* Маркер найден */ { textattr(0x0a); cprintf("Адрес ПЗУ ="); textattr(0x0f); cprintf(" %04x",seg); textattr(0x0a); cprintf(". Длина модуля = "); textattr(0x0f); cprintf("%d",512*peekb(seg,2)); textattr(0x0a); cprintf(" байт\n\r",peekb(seg,2)); } /* Определение версии операцийной системы */ rr.h.ah=0x30; intdos(&rr,&rr); textattr(0x0c); cprintf("\n\rВерсия MS-DOS "); textattr(0x0f); cprintf("%d.%d\n\r",rr.h.al,rr.h.ah); textattr(0x0a); gotoxy(30,24); cprintf("Нажмите любую клавишу"); textattr(0x07); getch(); clrscr(); } Программа состоит только из основной функции main(). Выделения фрагментов программы в отдельные процедуры не требуется, потому что нет таких операций, которые во время работы программы выполняются многократно. Как понял в ней нету пользовательских функций к которым нужно рисовать блок схемы.Выходит нужна только одна блок схема.А вот что в ней писать я не знаю. Например делать просто из прямоугольников и в них писать что написано в комментариях или как то по другому.Подскажите пожалуйста.
0
|
|
| 15.06.2009, 17:34 | |
|
Ответы с готовыми решениями:
2
Не знаю как сделать блок-схему [MVC] Не знаю как лучше сделать динамический блок на всех страницах Как составить блок-схему? |
|
3 / 3 / 1
Регистрация: 27.11.2010
Сообщений: 17
|
|
| 27.11.2010, 15:12 | |
|
SaLLIoK, не знаю,розрешено ли это правилами форума,но вот ваша блок-схема
fileshare.in.ua/3936985 привет от ФКС 207
0
|
|
| 27.11.2010, 15:12 | |
|
Помогаю со студенческими работами здесь
3
Как создать блок схему ? как составить блок схему как сделать блок-схему? Как оформить блок-схему Как сделать блок схему? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|