Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Действия над элементами одномерного массива






 

Пример 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

PRINT

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

PRINT

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

Когда матрица определена, переменными из этой области памяти можно пользоваться наравне с любыми другими.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.