Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






A [10] - одномерный массив.




Лабораторная работа № 8.

Обработка одномерных числовых массивов.

При выполнении работы необходимо знать:

  • Знать и уметь строить алгоритмы циклической структуры для обработки одномерных массивов, знать операторы цикла (смотри лаб. работу № 5).
  • Знать принципы и приемы обработки одномерных числовых массивов с использованием операторов цикла.
  • Уметь составить схему программы (алгоритм) циклической структуры для обработки одномерного числового массива и записать программу по готовому алгоритму.

 

Теоретический минимум:

Переменные-массивы являются переменными сложного (структурированного) типа и представляют собой организованную группу элементов одного типа (линейную или прямоугольную таблицу).

Массив - это упорядоченная совокупность однотипных данных, имеющая одно общее имя.

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

 

-5       -90   -45   -4   -24
                     

Порядковые номера элементов массива (индексы)

A [10] - одномерный массив.

Так как массив имеет одно общее имя, его элементы различаются только номерами (индексами).

При объявлении массива в программе после имени массива в квадратных скобках указывается его размерность, то есть количество элементов. Элементы такого массива идут по порядку с 0 по 10 (всего 11 элементов). Нулевой элемент можно не использовать.

Z [5, 6] - двумерный массив, содержит 5 строк и 6 столбцов (или 6 строк и 7 столбцов вместе с нулевыми). Чтобы обратиться к текущему (очередному) элементу массива, надо указать номер строки и столбца: Z[i, j].

 

j номера столбцов

iномера строк

               
      -9        
  -7 -11 -43        
  -45            
      -15        
  -37            
  -59 -13     -7 -1  

 


Таким образом, массив имеет следующие свойства:

 

Ø Массив имеет имя, которое задает программист

Ø Массив имеет сквозную нумерацию элементов

Ø Массив имеет размерность, то есть определенное количество элементов

Ø Массив имеет тип, определяющий тип всех входящих в него элементов

Ø Массив имеет значения элементов, которые могут быть заданы в процессе выполнения программы и могут изменяться в пределах диапазона объявленного типа в ходе выполнения программы

 

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

 

Объявление одномерного массива в программе:

Type Mas = array [1..10] of integer; { объявляем тип массив из 10 целых элементов }

Var A, B: Mas; { переменные A, B типа массив }

 

Массивы можно объявить и так:

Var A, B: array [1..10] of integer; { переменные A, B типа массив из 10 целых элементов }

 

Первый способ объявления предпочтительнее, так как при этом программа получается более наглядной. Кроме того, при использовании подпрограмм массивы следует объявлять с явным указанием типа, чтобы массивы в главной программе и массивы в подпрограммах принадлежали к одному и тому же типу. В противном случае при передаче данных в подпрограммы и обратно возникнет ошибка.

 

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

Приведем пример организации ввода одномерного массива целых чисел А [10]. Нулевой элемент использовать не будем.

 

Ввод элементов одномерного массива с клавиатуры:

For i:=1 to 10 do begin

Writeln(‘Введите значение A[’, i, ‘]: ’);

Readln(A[i]);

End;

При запуске на выполнение необходимо поочередно ввести 10 элементов массива (долго, не всегда удобно).

 

Ввод элементов одномерного массива случайным образом:

Randomize;

For i:=1 to 10 do begin

A[i]:=random(200)-100;

End;

 

При запуске программы на выполнение элементы массива получат случайные значения при помощи генератора случайных чисел Random в интервале [-100; 100[.

 

Вывод значений элементов массива на экран. Осуществляется при помощи цикла. Перед выводом лучше очистить экран командой ClrScr. Вывод одномерного числового массива на экран можно осуществлять в строчку или столбик.

Вывод значений элементов одномерного массива на экран:

ClrScr; { очищение экрана }

For i:=1 to 10 do begin

Write(A[i]:5); { вывод элементов массива в строчку, на каждый элемент отводится 5 позиций}

End;

 

ClrScr; { очищение экрана }

For i:=1 to 10 do begin

Writeln(A[i]);

{ вывод элементов массива в столбик }

End;

 

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

 

Задача 8.1.

Задать одномерный числовой массив А [10] из целых чисел. Определить сумму и количество отрицательных элементов массива.

 

Математическая формулировка задачи:

Чтобы определить сумму и количество отрицательных элементов массива, нужно сначала заполнить массив некоторыми числами, а затем просмотреть массив сначала, от первого элемента до последнего (в цикле). Каждый элемент нужно проверить – если он окажется отрицательным (соответствующим нашему критерию), то его нужно добавлять в сумму, а если не отрицательным – то не нужно добавлять в сумму.

Количество элементов, соответствующих какому-либо критерию, в данном случае отрицательных по значению, подсчитывается при помощи специальной переменной. До подсчета она равна нулю, и увеличивается на 1 каждый раз, когда найден нужный (отрицательный) элемент.

Текст программы к задаче 8.1:

Program Ex_8_1;

Uses Crt;

Type Mas = array [1..10] of integer;

{ объявляем тип массив из 10 целых чисел }

Var A: Mas;

{ переменная A типа массив }

S: real;

{ сумма отрицательных элементов массива }

i: integer; { индексы массива }

k: integer;{ количество отрицательных эл-ов массива }

Begin

ClrScr; { очищение экрана }

Textcolor(1); { установим цвет текста синий }

Randomize;

For i:=1 to 10 do begin

A[i]:=random(200)-100;

Writeln(A[i]);

{ вывод элементов массива в столбик }

End;

S:=0; k:=0;

For i:=1 to 10 do begin






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных