You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
ный метод пузырьковой сортировки. В этом методе самый легкий илисамый тяжелый (в зависимости от выбранного знака неравенства)элемент постепенно перемещается (всплывает) к концу массива. Сортировканеобходима после добавления очередной записи2 0 1 ------————------ д о б а в и т ь —— -------------ifind=0:gosub phone:gosub cleanif ifind=l then gosub 30:return1 неверный номерlocate 19,20:input "фамилия клиента: ",aname$:gosub cleanlocate 19,20:input "адрес абонента : ”,addrs$:gosub clean' — помещаем все три поля в одну строковую переменную—записьincr n :record?(n)=space$(79) 1 заполнили запись пробеламиmid$(record$(n),1 ) =phone$mid$(record?(n),20)=aname$mid$(recordS(n),40)=addrs$25 '---—— сортируем Записи в порядке неубывания номера телефонаfor i=l to n :index(i)=i:next ' запоминаем, где стоял элементfor i=l to n —1for j=l to n - 1' если текущий номер больше следующего, меняем записи местамиif val(left$(record?(j),9))>val(left$(record$(j+1 ) ,9)) thenswap record$ (j) ,record? (j+1 ) :swap index (j) ,index (34-1)end ifnextnextfor i=l to nnextreturnif index(i) =71 then m=i1 проверяем, куда он переместилсяПодпрограмма просмотра данных (вывода в окно из 10 строк)30 1 ------------п р о с м о т р ------- —locate 6:color 15for i=l to 10:print space?(79):next1 очистили окноlocate 6if n-nKlO then nn=n else nn=m+9 1 число строк не более 10for i=m to nn1 новый номер всегда первый и выделенif i=m then color , 1 else color ,0print record?(i)nextcolor 7,0returnДля удаления m-ой записи просто перемещают все последующиезаписи, начиная с т + 1 , на позицию вперед40 1 -— — — удаление записи ------for i=m to n - 1 :record?(i)=record$(±+1 ):nextdeer n * переместили записи вперед и сократили списокr e t u r n34