Практикам по среде и языку QBasic 155
мента). Для каждого из номеров ячеек с 1 по 14 производится розыгрыш "лотереи" на перестановку, в которой участвуют номера от текущего до 15 включительно. Для 15 номера такой розыгрыш очевидно не нужен. Если произошло совпадение заменяющего и заменяемого номеров, то перестановка не производится
DIM sqrs(l TO 16) AS INTEGER 'массив для случайной перестановки DEFINT I 'определение целых по начальной букве FOR 1 = 1 ТО 15 'начало цикл заполнения массива
sqrs(i) == i 'значение элемента массива равно индексу NEXT 1 'конец цикла заполнения sqrs<16) = 0 'последний элемент нулевой RANDOMIZE TIMER 'номер начальной выборки задан таймером FOR г = 1 ТО 14 'начало цикла перестановок ir = INT((16 - l) * RND) + д.
'выбор второго элемента для перестановки IP ir О l THEN 'проверка на несовпадение номеров
itemp = sqrs(i) 'сохранение заменяемого значения элемента sqrsd.) = sqrs(ir) 'присвоение заменяющего значения элемента sqrs(ir) = itemp 'присвоение заменяемого значения элемента END IF 'конец условного оператора NEXT l 'конец цикла перестановок FOR l = 1 ТО 16 'начало цикла вывода PRINT USING "####"; sqrs(l);
'вывод элемента массива в одну строку NEXT l 'конец цикла вывода PRINT 'переход на следующую строку
По-видимому не стоит повторять запуски программы до совпадения какой-либо пары строк в пределах экрана Если в программе нет грубых ошибок, то такое совпадение вряд ли возможно и при гораздо большем количестве Вам должно быть известно, что количество перестановок равно произведению всех целых чисел от 1 до 15 Но игра 15 может быть успешно завершена только для половины из них.
В седьмом занятии вам пришлось познакомиться с некоторыми функциями и процедурами а также с приемами, которые могут оказаться полезными или просто необходимыми при программировании игр Вернемся от такого рода развлечений к более серьезным вопросам.
4.8 РАБОТА С ДИСКОВОДАМИ
Вся информация, которую вы можете записывать в ОЗУ в процессе работы своей программы реальна в том смысле, что вы ее можете например вывести на экран. Но она эфемерна в том смысле, что исчезает сразу же после выключения компьютера Поэтому при необходимости долговременного хранения нужно переписывать информацию из ОЗУ на магнитные диски Среда QBasic предоставляет программисту возможность использования файловой системы MS DOS. Вы уже научились записывать информацию в файл вручную, с клавиатуры. Но возможности такого ввода ограничены в части набора символов и зачастую требуют больших затрат времени и труда (притом являются дополнительным источником ошибок) по