- •Интегрированная среда qbasic Запуск и завершение qbasic
- •Главное меню qbasic
- •Встроенный справочник qbasic
- •Формальные сведения о qbasic Алфавит qbasic
- •Д Данные Переменные анные в языке qbasic
- •Длинная целая –2147483647 до 2147483648 (&)
- •Переменные
- •Переменные
- •Defint X-X (целые числа, inTeger)
- •Константы
- •Выражения в языке qbasic
- •Арифметические выражения
- •Условные выражения
- •Логические выражения
- •Символьные выражения
- •Встроенные функции
- •Input "Сообщение", список переменных
- •Оператор вывода данных
- •Статический ввод данных
- •Команды управления ходом выполнения программы
- •Безусловная передача управления
- •Условная передача управления
- •Формат записи вложенных условных операторов
- •Множественный выбор (select case)
- •Работа с датой и временем
- •Цикл со счетчиком (for…next)
- •Цикл while … wend
- •Вложенные циклы
- •Массивы
- •Одномерные массивы
- •Определение массивов
- •Заполнение массива
- •Порядок работы с массивами
- •Действия над элементами одномерного массива
- •Двумерные массивы Основные понятия
- •Заполнение массива
- •Действия над элементами двумерного массива
- •Подпрограммы
- •Функции, определяемые пользователем
- •1 Вариант
- •2 Вариант
- •Работа со строковыми типами данных Оператор line input
- •Операции со строковыми данными
- •Функции для работы с текстами
- •Графическая обработка данных
- •Оператор screen
- •Оператор color
- •Операторы pset, preset
- •Прямые линии – отрезки
- •Рисование прямоугольников
- •Оператор circle
- •Оператор paint
- •Вывод текста в графическом режиме
- •Графическое “перо” draw
Порядок работы с массивами
-
объявление массива (задание максимального размера массива);
-
заполнение массива;
-
обработка элементов массива;
-
вывод результата обработки.
Действия над элементами одномерного массива
Пример 1. Подсчитать общую сумму 10 чисел, записанных статически в массив и количество отрицательных чисел в этом массиве.
DATA 3,4,5,-8,10.67,2.7,765,-6.98,9,-1
DIM A(10)
FOR I=1 TO 10
READ A(I)
S=S+A(I)
IF A(I)<0 THEN N=N+1
NEXT I
PRINT " сумма=";S,"N=";N
END
Пример 2. Задан массив К(45). Определить минимальный элемент массива и его индекс.
DIM K(45)
FOR I=1 TO 45 ' Заполнение массива
INPUT K(I)
NEXT I
MIN=A(1) ' Переменной MIN присваивается первое значение массива
FOR I=2 TO 45
IF A(I) < MIN THEN MIN=A(I):K=I
NEXT I
PRINT "Минимальный элемент=";MIN, "его индекс=";K
END
Пример 3. Задан массив A(18). В массиве поменять местами значения 1-го и 2-го элемента, 3-го и 4-го и т.д. Измененный массив вывести на экран.
DIM A(18)
FOR I=1 TO 18
A(I)=INT(RND(1)*10)
PRINT A(I);
NEXT I
FOR I=1 TO 18 STEP 2
SWAP A(I),A(I+1) ' Меняются местами значения элементов массива
NEXT I
FOR I=1 TO 18
PRINT A(I); ' Вывод измененного массива
NEXT I
END
Пример 4. Дан массив М(30). Элементы массива - произвольные числа. Выдать на экран значения каждого пятого элемента. Указанные элементы выдать в строку.
DIM M(30)
FOR I=1 TO 30
M(I)=INT(RND(1)*15)
PRINT M(I);
NEXT I
FOR I=5 TO 30 STEP 5
PRINT M(I); ' Вывод каждого пятого элемента массива
NEXT I
Пример 5. Сформировать из N элементов одномерный массив А и вывести его на печать в виде K столбцов.
INPUT " Введите количество элементов массива ";N
DIM A(N)
FOR I=1 TO N
A(I)=INT(RND(1)*10)
NEXT I
INPUT " Введите количество столбцов ";K
FOR I=1 TO N
PRINT A(I);
IF I MOD K = 0 THEN PRINT
NEXT I
END
Пример 6. Составить программу вычисления и печати значений функции
Y=(SIN X+1) COS 4X
Значения аргумента заданы статически в массиве X(10). Значения функции записать в массив Y(10) и распечатать в пять строк.
DATA 5,6.78,56,7.34,678,89,5,23.9,10,34.7
DIM X(10),Y(10)
FOR J=1 TO 10
READ X(J)
NEXT J
FOR J=1 TO 10
Y(J)=(SIN(X(J))^2+1)*SQR(COS(4*X(J))^2)
PRINT Y(J);
IF J MOD 2 = 0 THEN PRINT
NEXT J
END
Двумерные массивы Основные понятия
Бейсик позволяет работать с массивами, имеющими до 255 измерений и содержащими до 32767 элементов по каждому из них. Однако следует хорошо подумать, стоит ли использовать эти возможности в полном объеме. Если вы сделаете свои массивы слишком большими, то будете долго вспоминать, как получить доступ к той или иной информации. В то же время иногда решение задачи возможно только при наличии многомерных массивов, или матриц. Наиболее часто применяются двумерные массивы, поскольку описывать информацию по ее позиции в одномерном списке весьма неудобно. Представьте себе, как трудно было бы найти свое место на стадионе, если бы на билете указывался лишь порядковый номер сиденья - один из многих тысяч! Билеты же, на которых проставлены и номер ряда, и номер места, существенно упрощают эту задачу. Составители географических карт тоже пользуются таким приемом. Координаты Парижа, Осло, Рима, обозначаются не как 1, 2 или 300, а в терминах градусов широты и долготы. Эти два числа указывают местоположение города относительно экватора и начального (Гринвичского) меридиана.
В Бейсике предусмотрены средства, с помощью которых вы можете организовать информацию таким же образом. Составляя программу, представьте себе прямоугольную таблицу наподобие пчелиных сот, или матрицу, где будут храниться данные. Каждое значение можно "положить в ячейку" и "вынуть из нее", если указаны номер соответствующих строки и столбца.
Имя и размерность матрицы определяется оператором
DIM A(3,4)
Этот оператор зарезервирует 12 ячеек:
A(1,1), A(1,2), A(1,3), A(1,4)
A(2,1), A(2,2), A(2,3), A(2,4)
A(3,1), A(3,2), A(3,3), A(3,4)
Каждый элемент описывается двумя индексами: первый обозначает номер строки, а второй - номер столбца.
|
Столбец 1 |
столбец 2 |
столбец 3 |
столбец 4 |
строка 1 |
1,1 |
1,2 |
1,3 |
1,4 |
строка 2 |
2,1 |
2,2 |
2,3 |
2,4 |
строка 3 |
3,1 |
3,2 |
3,3 |
3,4 |
Когда матрица определена, переменными из этой области памяти можно пользоваться наравне с любыми другими.