Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Запись в файл и вывод из файла



 

Иногда необходимо чтобы программа записала результаты вычислений в какой-то файл на диске, пусть это будет файл proba.txt.

Для начала этот файл надо открыть, и указать зачем, к примеру, открыть файл proba.txt для ввода. Сделать это можно так:

OPEN " proba.txt" FOR OUTPUT AS# 1

AS #1 - логический номер файла, это номер произволен, т.е. Вы сами можете его выбрать.

Ввод в файл осуществляется так: PRINT #N, A, B

Где N - логический номер файла (в нашем случае это 1), А и В- имена переменных записываемых в файл.

INPUT #N, A, B - вывод из файла с логическим номером N, значений переменных А и В.

CLOSE #N - закрытие файла с логическим номером N.

После того как Вы закончите работать с файлом его следует закрыть.


Комбинированные типы.

Под переменной в языках программирования понимают программный объект (число, слово, часть слова, несколько слов, символы), имеющий имя и значение, которое может быть получено и изменено программой. При объявлении переменных можно указать тип данных. Это делается с помощью оператора DIM. В бейсике имеется несколько встроенных типов: числовые (integer, long, single, double) и стоковые (string, string *).

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

При написании программы, возникает необходимость описать характеристики (свойства) некоторого объекта, представляемого и обрабатываемого в программе. Таким объектом может быть человек, некоторый вычислительный комплекс, письмо, посылаемое по почте и т.д. Во всех подобных случаях свойства объекта представляются значениями различных типов и поэтому для их описания не могут быть использованы массивы.

Для описания объекта «ученик» могут понадобиться, например, следующие характеристики:

· фамилия, имя и отчество (строки);

· возраст (integer);

· пол (строка);

· класс (integer);

· буква класса (символ); и т.д.

Для представления такой разнородной, но логически связанной информации удобно использовать комбинированный тип. Необходимо отметить, что в данном случае определенные компоненты комбинированного типа, ввиду их различной природы, не могут идентифицироваться порядковыми номерами (индексами), как в массивах, поэтому для обозначения компонентов используются идентификаторы (имена). Таким образом, описание комбинированного типа представляет собой список описаний его элементов; каждое описание похоже на описание простой переменной. Для примера, приведенного выше, описание комбинированного типа PUPIL (ученик) может выглядеть следующим образом:

TYPE Pupil

fio AS STRING * 20

age AS INTEGER

sex AS STRING * 6

class AS INTEGER

classname AS STRING * 1

END TYPE

Определив собственный тип данных, вы можете использовать его для объявления переменных этого типа.

DIM Schoolchildrens AS Pupil

DIM Group(1 TO 25) AS Pupil

Доступ к компонентам (свойствам) переменной пользовательского типа осуществляется путем указания точки после имени переменной.

Schoolchildrens.fio = " Иванов Иван"

Schoolchildrens.age = 15

Schoolchildrens.sex = " male"

Schoolchildrens.class = 10

Schoolchildrens.classname = " А"

PRINT Schoolchildrens.fio, Schoolchildrens.age, Schoolchildrens.sex, Schoolchildrens.class, Schoolchildrens.classname

Пример простой программы:

REM использование комбинированных типов

REM описание типа ученик

TYPE Pupil

fio AS STRING * 20

age AS INTEGER

sex AS STRING * 6

class AS INTEGER

classname AS STRING * 1

END TYPE

 

REM объявление массива из 3 элементов типа ученик

DIM Group(1 TO 3) AS Pupil

Group(1).fio = " Иванов Иван"

Group(1).age = 15

Group(1).sex = " male"

Group(1).class = 10

Group(1).classname = " А"

Group(2).fio = " Петрова Маша"

Group(2).age = 14

Group(2).sex = " female"

Group(2).class = 10

Group(2).classname = " Б"

Group(3).fio = " Сидоров Вася"

Group(3).age = 16

Group(3).sex = " male"

Group(3).class = 11

Group(3).classname = " В"

REM выводим на экран учеников 10 класса

FOR i=1 TO 3

IF Group(i).class = 10 THEN PRINT Group(i).fio

NEXT i

END

 


Операторы графики

Современные компьютеры обладают превосходными графическими возможностями - у современных мультимедийных ЭВМ возможен даже просмотр и редактирование видеофильмов. Графика ориентирована на построение простейших геометрических фигур и реализацию простейших возможностей динамической графики.

Для того чтобы работать с графической информацией необходимо установить графический режим работы специальным оператором и использовать соответствующие операторы:

1. SCREEN N - оператор включения графического режима, где N - номер режима работы (0 - текстовый режим работы, от 1 до 13 - графические режимы работы)

2. COLOR - оператор, задающий цвет текста и фона

COLOR C1, C2, где C1 задаёт цвет текста, а C2 - цвет фона. C1, C2=0-15.

Число Цвет
Черный
Синий
Зеленый
Голубой
Красный
Фиолетовый
Коричневый
Серый
Темно-серый
Светло-синий
Светло-зеленый
Светло-голубой
Светло-красный
Светло-фиолетовый
Желтый
Белый

Некоторые сочетания цветов в операторе COLOR QBasic:

1) 14, 8 - желтый на темно-сером фоне;

2) 1, 7 - синий на светло-сером фоне;

3) 5, 14 - фиолетовый на желтом фоне;

4) 4, 11 - красный на голубом фоне;

5) 5, 10 - фиолетовый на светло-зеленом фоне;

6) 15, 5 - белый на фиолетовом фоне;

7) 14, 1 - желтый на синем фоне;

8) 15, 1 - белый на синем фоне;

9) 8, 11 - темно-серый на голубом фоне;

10) 1, 15 - синий на белом фоне.

Как создать движение по экрану окружности?

Очень просто. Надо использовать цикл.

CLS

FOR I=640 TO 1

SCREEN 12

CIRCLE (I, 200), 50, 14

NEXT I

END

В этой программе координата X окружности равна I, а I меняется от 640 до 1.

3. PSET (X, Y) - оператор рисования точки с координатами Х, У (0< = X< =XК 0< =Y< = YК, где ХК и УК - размер экрана в текущем режиме работы)

4. LINE (X1, Y1) - (X2, Y2) - оператор рисования отрезка,

где (X1, Y1), (X2, Y2)- координаты концов отрезка, лежащих в диагональных вершинах

LINE (X1, Y1) - (X2, Y2), N, B - оператор рисования

прямоугольника со сторонами параллельными осям X2, Y2 координат, если вместо параметра B

используется BF, то прямоугольник будет закрашенный X1, Y1

N –

4. CIRCLE (X, Y), R - оператор рисования окружности

CIRCLE (X, Y), R, N, A, B, K - оператор рисования дуги от угла A до B против часовой стрелки, углы измеряются в радианной мере ( см. диаграмму).

N - цвет

K – коэффициент сжатия эллипса

 

               
   
     
K=
     
 
 
 
 

 

 


5. PAINT (X, Y) - оператор окрашивает

замкнутую область, начиная от указанной точки

 

В основном работаем в SCREEN 12, который имеет следующие характеристики:

черно- белый экран,

размер по горизонтали 0< =X< =640,

по вертикали 0< =Y< =480.

 

Пример 1.Постройте три точки, которые являются вершинами равнобедренного треугольника.

CLS

SCREEN 2

PSET (100, 100)

PSET (200, 100)

PSET (150, 200)

END

Пример 2. Постройте главную и побочную диагонали экрана.

CLS

SCREEN 12

FOR X=0 TO 639

Y=-425/600*X+460

PSET (X, Y)

NEXT X

END

 

Пример 3. Постройте n концентрических окружностей

INPUT N

SCREEN 2

CLS

FOR X=1 TO N

R=1+3.14*(X -1)

CIRCLE (315, 100), R,

NEXT X

END

 

Пример 4. Постройте 10 окружностей, расположенных случайным образом, пользуясь функцией RND.

CLS

SCREEN 2

FOR I=1 TO 10

CIRCLE (RND(1) * 639, RND(1)*190), RND(1)*100, 0, 0.14

NEXT I

END

 

Пример 5. Составить программу, изображающую окружность в закрашенном прямоугольнике

SCREEN 2

CLS

LINE (60, 30) - (180, 150),, B

CIRCLE (120, 90), 60

PAINT (61, 31)

PAINT (179, 149)

END

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-09; Просмотров: 603; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.05 с.)
Главная | Случайная страница | Обратная связь