Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
01.05.2014
Размер:
3 Кб
Скачать
uses crt;
{procedure count; external; }
{*$l lr601.obj*}
{*$l lr602.obj*}
var
    nchsl:word;
    nint:word;
    min,max,dlint:word;
    lgr,rez1,rez2,rand_array:array[1..100]of byte;
    i:byte;
    f:text;
begin
clrscr;
writeln('Vvedite dlinu massiva sluch chisel');readln(nchsl);
writeln('Vvedite kol-vo intervalov');readln(nint);
writeln('Vvedite diapazon sl. chisel(min,max)'); readln(min,max);
writeln('Vvedite massiv levih granic');
  for i:=1 to nint do begin
           read(lgr[i]);
           rez1[i]:=0;
           rez2[i]:=0;
           end;

  randomize;
  for i:=1 to nchsl do
    rand_array[i]:=random(max-min+1)+min;

  writeln('sluch massiv');
  for i:=1 to nchsl do
    write(rand_array[i],' ');
   readln;
   readln;
  dlint:=max-min;

 asm
    @init:
      xor di,di
      mov dx,dlint
      mov cx,nchsl                     {;V cx dlina sluchaynogo massiva}
    @chislo:                           {;Dla chisla opredelaem interval}
      xor si,si
      xor ax,ax
      mov al,00
      mov ah, byte ptr rand_array[di]  {;AH ukazatel na tek element}
    @interval:                         {;Isem interval}
      cmp si,dx                        {;posledniy li interval}
      jg @out
      cmp ah,al                        {;Sravnenie chisla i granici}
      inc al
      inc si
      ja @interval                     {;esli chislo bolshe-na sled interval}
    @out:
      inc byte ptr rez1[si-2]
    inc di
    loop @chislo
 end;
 {result1}
 clrscr;
 for i:=1 to dlint do begin
 write(i,' ');
 write(rez1[i],' ');
 writeln;
 end;
 readln;



 asm
    @init:
      xor di,di
      mov dx,nint                      {;V dx kol-vo inter valov}
      mov cx,nchsl                     {;V cx dlina sluchaynogo massiva}
    @chislo:                           {;Dla chisla opredelaem interval}
      xor si,si
      xor ax,ax
      mov ah, byte ptr rand_array[di]  {;AH ukazatel na tek element}
    @interval:                         {;Isem interval}
      cmp si,dx                        {;posledniy li interval}
      jg @out
      mov al,byte ptr lgr[si]          {;Znachenie granici}
      cmp ah,al                        {;Sravnenie chisla i granici}
      inc si
      ja @interval                     {;esli chislo bolshe-na sled interval}
    @out:
      inc byte ptr rez2[si-2]
    inc di
    loop @chislo
 end;

 {result2}
 clrscr;
 for i:=1 to nint do begin
 write(i,' ');
 write(lgr[i],' ');
 write(rez2[i],' ');
 writeln;
 end;
 readln;
 {result3}
 assign(f,'rand.txt');
 rewrite(f);
 for i:=1 to nint do begin
 write(f,i,' ');
 write(f,lgr[i],' ');
 write(f,rez2[i],' ');
 writeln(f);
 end;
 end.
Соседние файлы в папке Лабораторная работа №62