- •Глава 1 . “общие сведения о языке программирования basic”
- •§1. Происхождение языка.
- •§2. Алфавит языка.
- •§3. Величины.
- •§4. Выражения.
- •Глава 2. “Операторы языка. Линейные программы.”
- •§ 5 Оформление программ.
- •§ 6 Оператор присваивания let.
- •§ 7 Оператор print.
- •§ 7.1 Форматированный вывод чисел на печать print using.
- •§ 7.2 Управление выводом на печать locate.
- •§ 8 Ввод данных с клавиатуры input.
- •Input список ввода
- •§ 8.1 Операторы data и read .
- •§ 9. Функции символьного переменного.
- •1Дополнительная информация:
- •1Дополнительная информация:
- •§ 10. Операторы графики. Графический режим.
- •§10.1 Работа команды сolor.
- •§ 9.3 Операторы рисования точек.
- •§ 10.2 Абсолютные и относительные координаты.
- •§ 10.3 Рисование линий и прямоугольников.
- •§ 10.4 Рисование окружностей, элипсов и дуг.
- •§ 10.5 Решение задач.
- •Глава 3. Циклические структуры.
- •§ 11. Понятие цикла.
- •§ 11.1 Счетный цикл for...Next.
- •§ 11.2 Вложенные циклы.
- •§ 11.3 Решение задач.
- •§11.4 Программирование динамического элемента.
- •§ 10.4 Цикл “ пока ” — while ... Wend.
- •§ 10.5 Генератор случайных чисел.
- •1Дополнительная информация:
- •Глава 4. Управляющие структуры.
- •§ 11 Ветвление.
- •§ 11.1 Оператор условного перехода.
- •§ 11.2 Простые и составные условия.
- •§ 11.3 Решение задач.
- •§ 11.4 Безусловный переход.
- •§ 12 Подпрограммы.
- •Глава 5. Массивы.
- •Массив — это набор упорядоченных по номерам переменных одного типа, с общем именем.
- •§ 13 Линейные массивы.
- •§ 13 Заполнение массива.
- •§ 13.3 Вывод массива на печать.
- •§ 13.4 Решение задач.
- •§ 13.5 Символьные массивы.
- •§ 14 Двумерные массивы (матрицы).
§ 14 Двумерные массивы (матрицы).
Широко распространенным видом деятельности компьютера является справочно-информационное обслуживание, которое включает в себя накапливание информации и выдачу ее по запросам.
С этой целью в памяти компьютера организуются таблицы данных, которые могут заполняться, просматриваться, корректироваться. Таблицы организуются таким образом, что любой элемент таблицы всегда доступен для немедленной обработки. С простейшей одномерной таблицей мы уже познакомились. в сложных вычислительных системах имеют место двумерные, трехмерные и т.д. массивы. В большинстве персональных компьютеров максимальная размерность массива — 2, так как многомерные информационные системы занимают много памяти.
В математике двумерные массивы носят название матрицы.
Элементы двумерного массива(матрицы) имеют два номера — номер строки и номер столбца.
Например, запись А(m, n) означает массив из m строк и n столбцов:
А11A12... A1n
A21A22 ... A2n
....................
Am1Am2 ... Amn
Если m=n, то говорят, что матрица — квадратная. Элементы А11, А22...Аmn — элементы главной диагонали или просто главная диагональ.
Чтобы описать массив и зарезервировать под него место в памяти, используют оператор DIM.
Например, DIM A(3,7), B$(3,3).
Вводить массивы можно по строкам и по столбцам.
а) По строкам:
DIM A(3,4) I=1 J=1 A(1,1)
|®FOR I=1 TO 3 J=2 A(1,2)первая
| ®FOR J=1 TO 4 J=3 A(1,3) СТРОКА
| | A(I,J)=............ J=4 A(1,4)
| ®NEXT J I=2 J=1 A(2,1)
|®NEXT I J=2 A(2,2) ВТОРАЯ
J=3 A(2,3) СТРОКА
J=4 A(2,4)
и так далее.
б) По столбцам:
DIM A(3,4) J=1 I=1 A(1,1)
|®FOR J=1 TO 4 I=2 A(1,2)первЫЙ
| ®FOR I=1 TO 3 I=3 A(1,3) СТОЛБЕЦ
| | A(I,J)=............ I=4 A(1,4)
| ®NEXT I J=2 I=1 A(2,1)
|®NEXT J I=2 A(2,2) ВТОРОЙ
I=3 A(2,3) СТОЛБЕЦ
I=4 A(2,4)
и так далее.
Для вывода двумерного массива необходимо так же два цикла — по строкам и по столбцам:
FOR I=1 TO 3
FOR J=1 TO 4
PRINT A(I,J);
NEXT J
NEXT I
Задача 1.
Сформировать случайным образом матрицу произвольного размера и вывести ее на печать.
Решение.
CLS
REM Проверка ввода
Vvod: INPUT “Количество строк= “;N
INPUT “Количество столбцов= “;M
IF (M<=2) or (N<=2) THEN GOTO Vvod
DIM A(N,M)
REM Заполнение массива двузначными числами
FOR I=1 TO 3
FOR J=1 TO 4
A(I,J)=INT(RND*100)
NEXT J
NEXT I
REM Печать массива
FOR I=1 TO 3
FOR J=1 TO 4
PRINT USING”####”; A(I,J);
NEXT J
NEXT I
END
Примечание.
Рассмотрим формулу INT(RND*100). Как нам уже известно, RND выдает случайные числа в интервале от 0 до 1, то есть десятичную дробь. Если мы умножим десятичную дробь на 100 и выделим целую часть, то получим двузначное число. Например, 0.6543 *100=65.43 INT(65.43)=65
Задача 2.
Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов.
Примечание.Для решения необходимо завести один одномерный массив, в который будем складывать диагональные элементы исходного массива, то есть все элементы, у которых совпадают номера строки и столбца.
Решение.
CLS
INPUT ‘“Размер матрицы “; N
DIM A(N, N), D(N)
REM Заполнение и печать исходного массива числами
FOR I=1 TO N
FOR J=1 TO N
A(I,J)=INT(RND*10) ®случайные числа от 0 до 9
PRINT USING”####”; A(I, J);
NEXT J
NEXT I
REM формирование и печать массива из диагональных элементов
FOR I=1 TO N STEP 1
D( I )= A(I, I)
PRINT USING”####”; D( I );
REM D(1)=A(1,1), D(2)=A(2,2), ... D(N)=A(N,N)
NEXT I
END
Задача 3.
В случайно заданном двумерном массиве все элементы, меньшие 50, заменить нулями. Распечатать оба массива.
Решение.
CLS
INPUT “Число строк= “; N
INPUT “Число столбцов= “; M
REM Заполнение и печать исходного массива числами
FOR I=1 TO N
FOR J=1 TO M
A(I,J)=INT(RND*100) ®случайные числа от 0 до 9
NEXT J
NEXT I
GOSUB PR
REM Заполнение и печать нового массива числами
FOR I=1 TO N
FOR J=1 TO M
IF A(I, J) < 50 THEN A(I, J)=0
NEXT J
NEXT I
GOSUB PR
END
PR: REM подпрограмма печати
FOR I=1 TO N
FOR J=1 TO M
PRINT USING”####”; A(I, J);
NEXT J
NEXT I
RETURN
Литература.
1. Абрамов С.А., Зима Е.В. “Начала информатики”
2. Перепелкин В. “Персональный компьютер в школе”
3. Быля Т.Н., Быля О.И. “Изучаем информатику”
4. Кушниренко Ф.Г. и др. “Основы информатики и вычислительной техники”
5. Шафрин Ю. “Практикум по компьютерной технологии”
6. С.Бобровский “Программирование на языке Qbasic”