Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
01.05.2014
Размер:
2.73 Кб
Скачать
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
  • #
    01.05.20142.73 Кб9LAB61.PAS
  • #
    01.05.20141.53 Кб13lr61.asm
  • #
    01.05.2014197 б9LR61.OBJ
  • #
    01.05.20141.51 Кб11lr61.txt
  • #
    01.05.20141.51 Кб13lr62.asm
  • #
    01.05.2014202 б9LR62.OBJ