Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Широко распространенным видом деятельности компьютера является справочно-информационное обслуживание, которое включает в себя накапливание информации и выдачу ее по запросам.
С этой целью в памяти компьютера организуются таблицы данных, которые могут заполняться, просматриваться, корректироваться. Таблицы организуются таким образом, что любой элемент таблицы всегда доступен для немедленной обработки. С простейшей одномерной таблицей мы уже познакомились. в сложных вычислительных системах имеют место двумерные, трехмерные и т.д. массивы. В большинстве персональных компьютеров максимальная размерность массива — 2, так как многомерные информационные системы занимают много памяти.
В математике двумерные массивы носят название матрицы.
Элементы двумерного массива(матрицы) имеют два номера — номер строки и номер столбца.
Например, запись А(m, n) означает массив из m строк и n столбцов:
А11 A12... A1n
A21 A22 ... A2n
....................
Am1 Am2 ... 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”
Дата публикования: 2014-12-28; Прочитано: 385 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!