1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Ошибка с переменными(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;
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 в файле прикреплены то из чего я слепил это чудо.