Курсовая работа: Разработка средства функционального диагностирования вычислительных устройств
Заполнением данными столбцы 9,11,13,15,17; 10,12,14,16.
Установим указатели tail и head, на опорный элемент, тот элемент откуда берутся данные, и тот, который заполняется.
В блоках 72 – 76 заполним данными 10,12,14,16 элементы. Инициализируем tail, head, затем вызываем подпрограмму, увеличиваем tail, head. В цикле определяются входы сумматоров по модулю три, определяющих вычисляемые контрольные коды. Определим КВ22, КВ24, КВ26, КВ28, КВ30.
В блоках 77 – 85 заполним 11,13,15,17 данными элементы. В цикле вызываем подпрограмму, увеличиваем tail, head. Определим КВ4, КВ8, КВ12, КВ16.
В блоке 86–88, задаются номера входов разрядов контрольного кода КВ32 {1,2}, а также номер выхода первого в таблице сумматора по модулю три, который подается на вход следующего сумматора.
Блок 89–91 вычитаем из свернутого операнда А его ККА, получаем признак корректности результата
В блоке 92 производится вывод данных.
7. Листинг программы, реализующей алгоритмы
1) Текст программы, реализующей описание схемы блока контроля БКА .БКв
void __fastcall TForm1: Button1Click (TObject *Sender)
{
int d3b, d3a;
n = StrToInt (Edit1->Text);
k = StrToInt (Edit2->Text);
d3a = n/2 + 3;
d3b = (n – n % 2)/2;
StringGrid1->ColCount = d3a;
StringGrid2->ColCount = d3b;
for (int i=1; i<StringGrid1->ColCount; i++)
StringGrid1->Cells[i] [0]=i;
for (int i=1; i<StringGrid2->ColCount; i++)
StringGrid2->Cells[i] [0]=i;
String stroca1 [7]={«», «Âõ1», «Âõ2», «Âõ3», «Âõ4», «Âûõ1», «Âûõ2»};
for (int i=0; i<=7; i++)
{
StringGrid1->Cells[0] [i]=stroca1 [i].c_str();
StringGrid2->Cells[0] [i]=stroca1 [i].c_str();
}
StrGr1 ();