Студопедия Главная Случайная страница Обратная связь

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

Массивы. Массив – это совокупность элементов, имеющих одинаковое имя и отличающихся номером (индексом) их расположения в последовательности





 

Массив – это совокупность элементов, имеющих одинаковое имя и отличающихся номером (индексом) их расположения в последовательности.

Типы данных, которые мы до сих пор рассматривали, называют скалярными. Их использование не всегда эффективно. Так, если в задаче данные являются родственными, например оценки группы студентов, то скалярные типы применять неудобно. Для определения количества студентов (KolStud), имеющих балл (BallStud) выше среднего (Sr), пришлось бы записать 25 операторов вида

KolStud: = 0;

If BallStud1 > Sr Then

KolStud: = KolStud + 1;

If BallStud2 > Sr Then

KolStud: = KolStud + 1;

и т. д.

 

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

Примеры массивов:

1) последовательность чисел (оценок)

х1, x2, x3,..., xn – 1 индекс

2) матрица чисел

 
 

 


Примером представления данных в виде матрицы может служить запись коэффициентов системы линейных уравнений.

Для описания массива используется служебное слово Array (Массив). Кроме того, необходимо задать:

1) имя массива;

2) диапазон изменения каждого индекса..

Количество индексов называется размерностью массива. По количеству индексов различают:

– одномерные массивы (последовательность чисел, символов);

– двумерные массивы (матрицы);

– трехмерные и т.д. массивы.

Как и скалярные переменные, массивы описываются в разделе описания переменных (т.е. после служебного слова Var), например:

Var

Имя_Массива: Array [Диапазоны_индексов] Of Тип_Элементов_Массива;

где Диапазоны_индексов – список границ изменения каждого индекса.

 

Пример.

Const

N=100;

M=5;

Var

X: Array[1..N] Of Real; {массив вещественных чисел}

A: Array[1..M, 1..M] Of Integer; {мaтрица целых чисел}

Следует различать описание массива и значение его элемента при обработке (внутри программы, после первого Begin). Элемент массива в программе записывают в виде

Имя_Массива [индекс] или

Имя_Массива [список индексов]

 

Пример.

X[2] => x2

A[i, j] => Aij

Ваll [k, i+2] => Ballk, i+2

 

Индекс – это число, переменная или выражение перечисляемого целого или символьного типа.

 

Рассмотрим пример программы обработки массива.

 

Задача. Ввести в ЭВМ оценки студентов одной группы по одному предмету. Подсчитать средний балл и количество оценок выше средней.

 

Алгоритм

1. Ввести оценки.

2.1. Положить сумму баллов = 0.

2.2. Для номера оценки (i) от 1 до Количества_студентов_в_группе выполнить

Подсчитать сумму баллов.

3. Вычислить средний балл.

4. Положить количество оценок выше средней, равной 0.

5. Для номера (i) от 1 до Количества_студентов_в_группе выполнить

Подсчитать количество оценок выше средней.

6. Закончить.

 

Уточняем алгоритм.

1.1. Ввести количество оценок n.

1.2. Для номера оценки (i) от 1 до n выполнить.

1.2.1. Ввести баллi

2.1. Положить сумму баллов = 0.

2.2. Для номера оценки (i) от 1 до n выполнить

2.2.1. Сумма_баллов = сумма_баллов + баллi

3. Вычислить средний балл = сумма_баллов / n.

4. Положить количество оценок выше средней = 0.

5. Для номера от 1 до n выполнить

5.1. Если баллi > среднего, то

количество = количество +1.

 

Программа для этого алгоритма будет иметь вид

Program Ball;

Const

M=25;

Var

B: Array[1..M] OF Integer;

S: Real; {сумма и средний балл}

N, I, K: Integer; {K - счетчик}

Begin

Writeln('Введите количество оценок'); { п.1.1 }

Read (N);

Writeln('Введите оценки'); { п.1.2 }

For I: = 1 To N Do

Read(B[I]);

S: =0; { п.п. 2.1 - 2.2 }

For I: = 1 To N Do

S: = S+B[I];

S: = S/N; { п.3 - средний балл }

Writeln('Средний балл - ', S);

K: = 0; { п.4 }

For I: = 1 To N Do { п.5 }

If B[I]> S Then

K: =K+1;

Writeln('Количество оценок выше средней = ', K);

End.

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

 







Дата добавления: 2014-12-06; просмотров: 647. Нарушение авторских прав; Мы поможем в написании вашей работы!




Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

Факторы, влияющие на степень электролитической диссоциации Степень диссоциации зависит от природы электролита и растворителя, концентрации раствора, температуры, присутствия одноименного иона и других факторов...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

Объект, субъект, предмет, цели и задачи управления персоналом Социальная система организации делится на две основные подсистемы: управляющую и управляемую...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия