![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Действия над элементами одномерного массиваСодержание книги
Поиск на нашем сайте
Пример 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. Дан массив М(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
Пример 4. Сформировать из 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
Пример 5. Составить программу вычисления и печати значений функции 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)
Каждый элемент описывается двумя индексами: первый обозначает номер строки, а второй - номер столбца.
Когда матрица определена, переменными из этой области памяти можно пользоваться наравне с любыми другими.
Заполнение массива
Пример статического заполнения и печати двумерного массива. DATA Настя, Ульяна, Женя DATA Щербакова, Евланова, Клочко DIM A$(2,3) FOR I=1 TO 2 ' Заполнение массива FOR J=1 TO 3 READ A$(I,J) NEXT J,I FOR I=1 TO 2 FOR J=1 TO 3 ' Печать значений массива по строкам PRINT A$(I,J); NEXT J NEXT I
Пример динамического заполнения и печати двумерного массива. DIM A(5,4) FOR I=1 TO 5 ' Заполнение массива FOR J=1 TO 4 INPUT A(I,J) NEXT J,I FOR I=1 TO 5 ' Печать значений массива по строкам FOR J=1 TO 4 PRINT A(I,J); NEXT J NEXT I
Пример заполнения массива с помощью стандартной функции RND. DIM M(2,8) FOR I=1 TO 2 FOR J=1 TO 8 M(I,J)=INT(RND(1)*10) ' Заполнение массива случайными PRINT M(I,J); ' числами и печать значений массива NEXT J ' по строкам NEXT I Действия над элементами двумерного массива
Пример 1. Задана матрица U(7,3). Отрицательные элементы матрицы заменить на 0. Измененный массив вывести на экран. DIM U(7,3) FOR I=1 TO 7 ' Заполнение массива отрицательными и FOR J=1 TO 3 ' положительными числами U(I,J)=INT(RND*20-10) PRINT U(I,J); NEXT J NEXT I: PRINT FOR I=1 TO 7
FOR J=1 TO 3 IF U(I,J)<0 THEN U(I,J)=0 PRINT U(I,J); NEXT J NEXT I END
Пример 2. Найти сумму положительных элементов четных строк матрицы C(5,3). DIM С(5,3) FOR I=1 TO 5 FOR J=1 TO 3 С(I,J)=INT(RND(1)*20) PRINT С(I,J); NEXT J NEXT I: PRINT S=0 FOR I=2 TO 5 STEP 2 FOR J=1 TO 3 S=S+C(I,J) NEXT J NEXT I END
Пример 3. Дана матрица U(7,3). Получить массив Q(7), элементами которого являются количество отрицательных элементов соответствующих строк матрицы U(7,3).
DIM U(7,3),Q(7) FOR I=1 TO 7 ' Заполнение массива отрицательными и FOR J=1 TO 3 ' положительными числами U(I,J)=INT(RND(1)*20-10) PRINT U(I,J); NEXT J NEXT I: PRINT FOR I=1 TO 7 K=0 FOR J=1 TO 3 IF U(I,J)<0 THEN K=K+1 NEXT J Q(I)=K: PRINT Q(I); NEXT I END
Подпрограммы
Подпрограммой называется участок программы, оформленный определенным образом, к которому можно обращаться из разных точек программы любое число раз. При этом подпрограмма может решать каждый раз одну и ту же задачу с разными значениями исходных данных. Использование подпрограмм позволяет существенно уменьшить объем рабочей программы. Деление программы на подпрограммы делает программу более понятной. Обращение к подпрограмме осуществляется с помощью команды
GOSUB номер строки или метка По этой команде управление передается подпрограмме - блоку команд, первая из которых помечена номером строки или меткой. Последней выполняемой командой подпрограммы является RETURN. По этой команде управление передается в основную программу на оператор, стоящий за оператором GOSUB. Если нарушено согласование операторов RETURN и GOSUB, то выводится сообщение об ошибке “RETURN without GOSUB”.
Подпрограммы располагаются в конце основной программы и отделяются от основной программы оператором END. Пример 1. Написать подпрограмму вывода подчеркивания информации. Длина черты переменная. N=5 GOSUB A ‘вызов подпрограммы для вывода знака подчеркивания 5 раз N=30 GOSUB A ‘вызов подпрограммы для вывода знака подчеркивания 30 раз END A: FOR I=1 TO N ‘подпрограмма вывода знака подчеркивания PRINT ”_“; NEXT I RETURN ‘оператор возврата в основную программу
Пример 2. Вычислить функцию: C = m!n!/(m-n)! 1 INPUT “Введите m>n”;m,n IF M<=N THEN 1 ‘проверка входных данных R=M GOSUB A ‘вызов подпрограммы для вычисления m! R1=F: R=N GOSUB A ‘вызов подпрограммы для вычисления n! R2=F: R=M-N GOSUB A ‘вызов подпрограммы для вычисления (m-n)! C=(R1+R2)/F: PRINT “C=”;C END A: F=1 ‘подпрограмма вычисления факториала FOR I=2 TO R F=F*I NEXT I RETURN ‘оператор возврата в основную программу
Для самостоятельного решения Составить программу расчета заработной платы по формуле: оклад * количество дней * 1.4-подоходный налог. Расчет заработной платы оформить в подпрограмме.
Работа со строковыми типами данных
Оператор LINE INPUT
Оператор LINE INPUT позволяет ввести с клавиатуры строку длиной до 255 символов Формат: LINE INPUT “ комментарии”,T$ T$ - строковая переменная. Выполнение команды LINE INPUT проводится аналогично команде INPUT с той лишь разницей, что: · Вводится обязательно строковое и только одно значение; · За поясняющим сообщением нет знака вопроса; · Среди вводимых символов могут быть и запятая, и кавычки. Например: LINE INPUT”введите фамилии”,T$ <набираем: Иванов, Петров, Николаев > после этого T$ будет содержать: Иванов, Петров, Николаев Операции со строковыми данными
Со строковыми данными возможна одна операция конкатенация – объединение двух строковых последовательностей в одну.
Формат: A$ + B$
Например: A$=”Графический” D$=” редактор” T$=A$+B$ PRINT T$ <На экране появится: Графический редактор>
|
|||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-09-20; просмотров: 270; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.106.195 (0.01 с.) |