11.07.2015 Views

TURBO BASIC

TURBO BASIC

TURBO BASIC

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!