Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное-пособие-№1 Информатика.doc
Скачиваний:
22
Добавлен:
09.04.2015
Размер:
787.97 Кб
Скачать

6.6.Изменения данных в файле

Для изменения какой-либо записи, удаления старых или добав­ления новых данных в последовательном файле необходимо от­крыть два файла: подлежащий изменению и новый, в котором создается обновленная версия исходного файла. Старый файл в дальнейшем можно удалить. Приведенная ниже программа в файле avto.dat изменяет "МОСКВИЧ" на "МЕРСЕДЕС". В пер­вых строках открываются исходный файл avto.dat и новый файл avto2.dat, сначала пустой. Очередная запись считывается из фай­ла avto.dat и, при условии, что это не "МОСКВИЧ", переписы­вается без изменения в новый файл. Если же встречается значе­ние "МОСКВИЧ", то оно заменяется на "МЕРСЕДЕС" путем присваивания нового значения переменной м$. В следующей .строке данное значение попадает в выходной файл. После того как весь входной файл просмотрен, оба файла закрываются.

OPEN "avto.dat"

FOR INPUT AS #1

OPEN "avto2.dat"

FOR OUTPUT AS #2

FOR 1-1 TO 5

INPUT #1, M$, N$, C$, G$, S$

IF UCASE$(M$)-"МОСКВИЧ" THEN М$-"МЕРСЕДЕС"

PRINT 12, M$, N$, C$, G$, S$

NEXT I

CLOSE 1, 2

KILL "avto.dat"

NAME "avto2.dat" AS "avto.dat"

END

Заключительный этап — удаление исходного и переименование нового файла, которому придается прежнее имя, что обеспечи­вает и в дальнейшем наличие на дискете файла avto.dat.

6.7.Добавление данных в файл

Указание for append в операторе open подготавливает файл для вывода данных и смещает указатель на конец файла. Последую­щие операторы приписывают новую информацию к уже имею­щейся. В предложенной далее программе в файл данных об ав­томобилях добавляются сведения о двух новых поступлениях.

' Программа создания файла данных об автомобилях

CLS

INPUT " Введите имя файла"; F$

' Открытие файла

OPEN F$ FOR APPEND AS II

INPUT "Марка автомобиля? (Для окончания работы введите QWE.); М$

IF UCASE$(M$)="QWE" OR UCASE$(М$)="ЙЦУ" THEN 1

INPUT "Номер автомобиля?"; N$

INPUT "Цвет автомобиля?"; С$

INPUT "Год производства автомобиля?"; G$

INPUT "Продажная цена автомобиля?"; S$

WRITE #1, М$, N$, C$, G$, S$ LOOP

' Закрытие файла 1 : CLOSE #1 PRINT "Файл дополнен"'

8.Оператор графики

Включение графического режима производиться командой SCREEN 9. Графических режимов несколько, девятый режим обладает наибольшей разрешающей способностью. Графический режим включается только один раз.

В режиме SCREEN 9 экран представляет собой координатную сетку с началом в левом верхнем углу, вправо от которого увеличивается координата Х, а вниз координата Y. Максимальное значение Х на экране 640, а Y – 350.

Рис. Размеры и координаты экрана в

режиме SCREEN 9

Для изображения точки используется оператор PSET со следующим синтаксисом:

PSET (X, Y), C

где Х и Y- координаты точки на экране, а С – ее цвет. Если цвет не указан, то точка будет изображена последним установленным цветом (это касается и всех прочих графических примитивов).

Рассмотрим пример.

SCREEN 9

PSET (320, 175), 4

На черном экране в этом случае появиться красная точка в центре.

Для изображения отрезка прямой линии используйте оператор

LINE (X1, Y1) – (X2, Y2), C

где Х1, Y1 – координаты начала отрезка; Х2, Y2 – координаты конца отрезка; С – цвет.

Например, мы хотим изобразить отрезок синего цвета на желтом экране с координатами: 100, 300 – 600, 50. Программа будет выглядеть так:

SCREEN 9

COLOR 1, 14

LINE (100, 300) – (600, 50), 1

Для изображения окружности используется оператор CIRCLIE. Он имеет вид:

CIRCLE (X, Y), R, C

где X, Y – координаты центра, R – радиус (в экранных точках), С – цвет.

Например, оператор

CIRCLE (320, 175), 50, 2

изобразит зеленую окружность радиусом 50 в центре экрана.

Для изображения эллипса служит оператор

CIRCLE (X, Y), R, C,,, K

где X, Y – координаты центра эллипса, R – радиус той окружности, из которой этот эллипс получился, С – цвет, К – значение коэффициента сжатия.

Коэффициент сжатия К= R1/R2. Для эллипсов, вытянутых по горизонтали коэффициент сжатия находится в пределах от 0 до 1. Для эллипсов, вытянутых по вертикали коэффициент сжатия будет больше 1.

Оператор закраски имеет следующий синтаксис:

PAINT (X, Y), C1, C2

где Х, Y – координаты любой точки внутри закрашиваемого контура, С1 – цвет, которым закрашивается контур,С2 – цвет самого контура. Если эти цвета совпадают, то достаточно указать С1.

Правила закраски:

Контур должен быть замкнут.

Контур должен быть одноцветен. Если составляющие даже замкнутого контура разных цветов, то для компьютера эта ситуация аналогична разрыву. Будет закрашен весь экран.

Координаты точки закраски должны лежать внутри контура.

Рекомендуется закрашивать контур непосредственно после того, как

он нарисован.

Для расширения возможностей машинной графики Бейсика был дополнительно разработан специальный макроязык GML (Graphics Macro Language). Он позволяет строить довольно сложные изображения и быстро выводить их на экран. Каждая команда языка представляет собой латинскую букву, после которой следует один или два числовых параметра (как правило, целых числа). Команды

этого языка перечислены в таблице.

ТАБЛИЦА КОМАНДЫ ЯЗЫКА GML