Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2012, 18:07   #1
Fdrum
 
Регистрация: 18.01.2011
Сообщений: 6
По умолчанию Ошибка с переменными(Error 26:Type mismatch)

запутался в переменных
Код:
Program Kyrs;
uses
  crt, dos;
var
  sC, sH, sS : byte;
  eC, eH, eS : byte;
  c, h, s    : byte;
  mC, mH, mS : byte;
  bH, bC, bS : byte;
  flag : integer;
  v, bad, cnt, i : longint;
  last_s : byte;
  check, error : integer;
 
  hr, m, sec, s100 : word;
  stime, etime, dur, total, avg : extended;
  r : registers;
  buf_save, buf_const, buf_read : array[1..512] of byte ;
Begin
  for i := 1 to 512 do
      buf_const[i] := $AA;
 
  ClrScr;
  Writeln('TCS Lab 11 Testing FDD (drive A:)');
  r.AH := $08;
  r.DX := 0;
  intr($13, r);
  mC := r.CH;
  mH := r.DH;
  mS := r.CL;
 
  if r.AX <> 0 then
    begin
      Writeln('ERROR: Can not to define geomethry');
      Halt;
    end
  else
    begin
      Writeln('08 INT 13h OK');
      Writeln('MAX cylinder number is: ', mC);
      WriteLn('MAX head is:            ', mH);
      WriteLn('MAX sector is:          ', mS);
      v := (mC + 1)* (mH + 1)*mS;
      v := v * 512;
      Writeln('Volume = ', v, ' in bytes');
    end;
  (*/////////////////////////////////////////*)
  repeat
    Write('Enter start position for cylinder: C[0-', mC, '] : ');
    Readln(sC);
    TextColor(Yellow);
  until (sC >= 0) and (sC <= mC);
  TextColor(LightGray);
  repeat
    Write('Enter end position for cylinder:  C[', sC, '-', mC, '] : ');
    Readln(eC);
    TextColor(Yellow);
  until (eC >= sC) and (eC <= mC);
  TextColor(LightGray);
  WriteLn;
  repeat
    Write('Enter start position for head:  H[0-', mH, ']  : ');
    Readln(sH);
    TextColor(Yellow);
  until (sH >= 0) and (sH <= mH);
  TextColor(LightGray);
  repeat
    Write('Enter end position for head:  H[', sH, '-', mH, ']  : ');
    Readln(eH);
    TextColor(Yellow);
  until (eH >= sH) and (eH <= mH);
  TextColor(LightGray);
  WriteLn;
  repeat
    Write('Enter start position for sector:   S[1-', mS, '] : ');
    Readln(sS);
    TextColor(Yellow);
  until (sS >= 1) and (sS <= mS);
  TextColor(LightGray);
  repeat
    Write('Enter end position for sector:    S[', sS, '-', mS, '] : ');
    Readln(eS);
    TextColor(Yellow);
  until (eS >= sS) and (eS <= mS);
  TextColor(LightGray);
  (*/////////////////////////////////////////*)
  Writeln('=================================================');
  Writeln('Testing range');
  Writeln('Start: CHS(', sC, ', ', sH, ', ', sS, ')');
  Writeln('End  : CHS(', eC, ', ', eH, ', ', eS, ')');
  Writeln('=================================================');
 
  GetTime(hr, m, sec, s100);
  Writeln(hr, ':', m, ':', sec, '.', s100, ' Starting test...');
 
  bad := 0;
  cnt := 0;
  For h:= bH to h < eH do
  For c:= bC to C < eC do
     For s:= bS to s < eS do
Begin 
        rS:= random(eS – bS+1);
            Begin
                gettime(h1,m1,S1,S101);
                r.ah:=4;
                t.al:=1;
                r.cl:=bS+rS;
                r.ch:=C;
                r.dl:=0;
                r.dh:=h;
                intr ($13,r);
                gettime(h2,m2,S2,S102);
                t:=(S101- S102)*10;
                if t<0
                    then t:=t+1000;
                if r.ah=0
                    then
                       wtiteln(‘Sektor (’,h,c,bstrS): Ok’);
                    else
                       writeln(‘Sektor (‘,h,c,bstrs,’): error’);
                writeln(' transition time from head to head:’,t,’ms’);
            end;
    end;
  Writeln('-------------------------------------------------');
  Writeln('Checked : ', cnt);
  Writeln('Bad     : ', bad);
  Writeln('Total time : ', total :0:2, ' sec');
  Writeln('Avg time : ', total / cnt :0:2, ' sec');
  Writeln('Press any key to exit...');
  ReadKey;
End.
задача поставлена что бы под DOS программа была написана вот и использую DOSBox
в файле прикреплены то из чего я слепил это чудо.
Вложения
Тип файла: rar prog.rar (2.1 Кб, 11 просмотров)
Fdrum вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TYPE MISMATCH desnet Паскаль, Turbo Pascal, PascalABC.NET 4 17.12.2011 10:25
Ошибка 26 Type mismatch. Mambakremen Помощь студентам 4 04.12.2010 18:30
Ошибка run-time error 13 Type mismatch в VBA Kracozebr Microsoft Office Word 9 19.07.2010 16:10
ошибка error loading type library DEsh Общие вопросы Delphi 4 08.04.2010 18:13
Эта надоедливая ошибка: Type mismatch expresion :( artemavd БД в Delphi 8 25.06.2009 17:21