Программы для обработки одномерных массивов

      Комментарии к записи Программы для обработки одномерных массивов отключены

Цель работы:приобрести практические навыки в составлении про-грамм для обработки одномерных массивов.

Задание

1. Изучать оператор описания массивов языка Бейсик, правописание индексированных переменных одномерных массивов и особенности их при-менения.

2. Для заданного варианта составить схему алгоритма и реализую-щую его программу для обработки одномерного массива.

3. Произвести на ЭВМ расчеты по разработанной программе для исходных данных приведенных в табл. 5.1.

4. Получить распечатку программы и результатов расчета.

5. Оформить отчет по лабораторной работе.

Указания по выполнению работы

Массивом называется упорядоченная последовательность величий (элементов массива), обозначаемая одним именем. В одномерном массиве положение элемента определяется его номером или индексом массива. Для обозначения элементов одномерного массива в Бейсике служат переменные с индексом вида A(n), где A — имя переменной (массива) образуется с помощью буквы и цифры; n – индекс переменной (массива) может обозначаться числом, простой переменной или арифметическим выражением. Начинаются индексы с 0. Например, A(4) – четвертый элемент массива A; B1(k) – k-й элемент массива B1.

Язык Бейсик не всегда требует объявления массива при использовании его в программе. Если массив содержит 11 элементов, то достаточно одного упоминания имени переменной, чтобы Бейсик автоматически выделил ячейки в памяти ПЭВМ для массива с 11 элементами и присвоил им нулевые зна-чения. Первый элемент массива по умолчанию имеет ноль, а не 1, поэтому последний элемент будет иметь порядковый номер 10.

Если вы хотите работать с большими массивами, необходимо уведомить Бейсик с помощью оператора DIM. Общая форма данного оператора сле-дующая:

DIM имя1 (индекс1) [, имя2(индекс2), …]

где имя1, имя2 – имена массивов переменных; индекс1, индекс2 – размерность массива, выражаемая следующим образом:

[нижний TO] верхний [, нижний TO] верхний …,

где нижний – нижнее значение индекса массива (по умолчанию ноль); верх-ний –верхнее значение индекса массива.

Оператор DIM резервирует в памяти ЭВМ место для описываемого массива. При описании одним оператором DIM нескольких массивов их описания располагаются в строке оператора через запятую. Например, опе-ратор

DIM А(3),В(2)

резервирует в памяти ЭВМ места для четырех элементов А(0),А(1), А(2),А(3) массива А и трех элементов В(0),В(1),В(2) массива В.

Описание всех массивов рекомендуется давать в начале программы, если оно отсутствует, то по умолчанию максимальное значение индекса равно

10.

При программировании следует иметь в виду, что ввод, вывод и обра-ботка массивов выполняются поэлементно и легко реализуются в программах с помощью циклов , позволяющих организовать выбор элементов массива путем изменения их индексов. При этом индексы массивов используются, как правило, в качестве управляющих переменных. Вывод одномерных массивов целесообразно выполнять в строку, сопровождая комментариями.

В качестве примера на рис.5.1 приведены алгоритм и программа фор-мирования одномерного массива В из элементов массива А размером n, удовлетворяющих условию aic , i =1,2, …, n .

Программа составлена в общем виде и может использоваться для мас-сивов размером до 20, который задан оператором DIM в строке 20. Размер обрабатываемого массива А вводится в переменную N.

Операторы первого цикла обеспечивают поэлементный ввод массива А. При этом оператор INPUT выполняется N раз (по числу элементов массива) и при каждом его выполнении в цикле значение элемента массива вводится с клавиатуры . Оператор PRINT каждый раз выводит на дисплей запрос о вводе очередного элемента массива.

Операторы второго цикла с целью контроля ввода исходного массива А обеспечивают вывод его элементов на дисплей в плотном формате в одну строку с заголовком МАССИВ А:. Оператор PRINT без списка вывода осу-ществляет возврат каретки после вывода последнего элемента и выхода из цикла Выбор элементов массива А, удовлетворяющих заданному условию формирование из них и вывод элементов массива В совмещены в целях со-кращения программы в третьем цикле. Управляющей переменной I этого цикла является индекс массива А. Индексом формируемого массива B служит переменная К, значение которой до входа в цикл задается равным нулю и увеличивается на единицу при каждом выполнении условия А(I)С, прове-ряемого в цикле условным оператором IF. Вывод элементов массива В осу-ществляется оператором PRINT в плотном формате в одну строку с заголов-ком МАССИВ В.

Начало

Ввод n,c, массива A

Вывод массива A

k=0, i=1

Нет aic Да

k=k+1 bk=ai

Вывод bk

i=i+1

REM Программа формирования массива

DIM А(20),В(20)

REM Ввод исходных данных

PRINT “Введите значение С=”; INPUT С

PRINT “Введите размер массива A N=” INPUT N

FOR 1=1 ТО N

PRINT “Введите значение A(“;I;”)=”; INPUT A(I)

NEXT I

REM Контрольный вывод массива A PRINT “Массив A:”;

FOR I=1 TO N

PRINT А(I); NEXT I PRINT

REM Формирование и вывод массива B PRINT ”Массив В:”;

К=0

FOR I=1 ТО N IF A(I)C THEN К=К+1 B(К)=А(I) PRINT В(К); END IF

NEXT I

PRINT

END

б)

Да i

Нет

Конец

а)

Рис.5.1. Пример программирования алгоритма формирования одно-мерного массива: а — схема алгоритма; б — его программная реализация.

Таблица 5.1

Варианты заданий к лабораторной работе № 5

Составить программу обработкиодномерного массива А размером n n k
п.п
1. Вычислить произведение всех элементов
2. Вычислить сумму всех элементов
3. Удалить k-й элемент и сформировать новый массив размером n-1
4. Включить дополнительный элемент в k-ю позицию и сформировать
новый массив размером n+1
5. Переставить местами k-й и (k+1)-й элементы и образовать новый массив
6. Определить максимальный элемент
7. Определить минимальный элемент
8. Определить количество положительных элементов
9. Определить количество отрицательных элементов
10. Сформировать новый массив, состоящий из положительных элементов
11. Сформировать новый массив, состоящий из отрицательных элементов
12. Определить максимальный из отрицательных элементов
13. Определить минимальный из положительных элементов
14. Определить число элементов, превосходящих по величине первый
элемент
15. Сформировать новый массив, состоящий только из элементов, превос-
ходящих по величине первый элемент
16. Сформировать новый массив, состоящий только из элементов, не пре-
восходящих по величине первый элемент
17. Сформировать новый массив В, элементы которого bi = kai , i =1,…, n 3,14
18. Сформировать новый массив В, элементы которого 5,74
bi = kai , i =1,…, n / 2и bi =2kai , i = n / 2+i ,…, n
19. Выполнить сортировку массива так, чтобы a1a2… an
20. Выполнить сортировку массива так, чтобы a1a2… an
Из двух одномерных массивов А и В одного размера n сформировать n k
п.п массив C, элементы которого равны:
21. ci = ai +kbi , i =1,…, n 3,14
22. ci = kai ?bi , i =1,…, n 1,57
23. ci = aibi +k , i =1,…, n 6,28
24. ci = kai / bi , i =1,…, n 2,56
25. ci = k (ai + bi ) /(ai ?bi ) , i =1,…, n 8,34
26. ci = ai +bi , i =1,…, n
27. ci = ai ?bi , i =1,…, n
28. ci = ai bi , i =1,…, n 6,28
29. ci = ai / bi , i =1,…, n 2,56
30. ci = k (ai +bi ) / ai bi , i =1,…, n 8,34

Примечание. Значения элементов массивов во всех вариантах заданий выби-раются произвольно

Лабораторная работа №6

Статьи к прочтению:

Паскаль с нуля [ч7]. Одномерные массивы.


Похожие статьи: