Студопедия
Главная страница | Контакты | Случайная страница

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

Линейные массивы

Читайте также:
  1. RAID массивы. История создания RAID массивов. Основные преимущества и недостатки RAID массивов всех уровней. Принципы работы.
  2. Криволинейные координаты
  3. Лекции 15–16. Линейные дифференциальные уравнения n –ого порядка с переменными коэффициентами.
  4. Лекции 17-18. Линейные дифференциальные уравнения с постоянными коэффициентами.
  5. Линейные дифференциальные уравнения 1-го порядка.
  6. Линейные дома Ле Корбюзье
  7. Массивы
  8. Массивы
  9. Массивы - первоклассные объекты

 

 

Линейным массивом можно обозначить, например, оценки учеников класса. Каждая оценка является значением элемента массива оценок "A" и имеет порядковый номер (индекс). В Турбо-Паскале значение индекса указывается в квадратных скобках после имени массива. Можно создать массив фамилий "S" учеников класса. Значением элемента массива будет фамилия ученика, а индексом - порядковый номер по списку. Пусть дан список фамилий учеников и их оценки:

 

N Фамилии оценки Описание массивов: Var A: array[ 1.. 30 ] of byte;

1. Иванов 5 S: array[ 1.. 30 ] of string;

2. Петров 4 {или} SO: array[ 1.. 30 ] of string[12];

3. Сидоров 5

4. Титов 5 Присвоение значений элементам массива:

............. "A" - A[1]:= 5; A[2]:= 4; и т. д.

30. Якупов 4 "S " - S[1]:= 'Иванов'; S[2]:= 'Петров'; и т. д.

 

Приведем таблицу обозначений и соответствия элементам массива, их значений и индексов:

 


Номер элемента (индекс) 1 2 3 4 i 30

 


Элементы массива "S “ S[ 1 ] S[ 2 ] S[ 3 ] S[ 4 ] S[ i ] S[ 30 ]

Значения элементов Иванов Петров Сидоров Титов... Якупов

 


Элементы массива "A “ A[ 1 ] A[ 2 ] A[ 3 ] A[ 4 ] A[ i ] A[ 30 ]

Значения элементов 5 4 5 5... 4

 

Если известна зависимость, по которой изменяются значения элементов массива, то присвоение значений удобно проводить в операторах цикла c параметром или с условием. Например, присвоим значения элементам массива "y" по зависимости: y=sin(x), где x= Pi * i/180, 0<= i <=180.

For i:= 0 to 180 Do y[i]:= sin(Pi * i/180);

 

Присвоим случайные значения в диапазоне от -30 до +40 ста элементам массива "R":

Randomize; for i:= 1 to 100 Do R[i]:= - 30 + Random(71);

 

Присвоим значения семи элементам массива "A" оператором Readln:

 

For i:= 1 to 7 Do begin Write(' Введите A[ ', i, ' ] = '); Readln(A [ i ]) end;

 

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

 

For j:=1 to 66 do Write('-'); Writeln;

For j:=1 to 3 do Write('|_ _ Фамилия _ _| _ оценка _|'); Writeln;

For j:=1 to 66 do Write('-'); Writeln;

 

- шапка для вывода в три пары колонок значений переменных "S" и "A". Шапка занимает 66 позиций (по ширине экрана в текстовом режиме размещается 79 символов и пробел). Оператор Writeln; переводит курсор на новую строчку.

 

Вывод значений ста элементов массивов "S" и "A" в три пары колонок, произведем операторами:

 

For i:= 1 to 100 do begin Write('|', s[i]:11,'|', a[i]:8, '|');

if (i mod 3) = 0 Then Writeln;

if (i mod 60) = 0 then readln end;

 

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

 

В цикле удобно определять сумму элементов массива, наибольший (наименьший) элемент и создавать новые массивы, удовлетворяющие некоторому условию, например:

s:= 0; for i:= 1 to 100 do s:= s + a[i]; { s - сумма элементов массива }

 

a_max:= a[1]; for i:= 1 to 100 do { поиск наибольшего элемента a[j] }

if a[i] > a_max then begin a_max:= a[i]; j:= i end;

j:= 0; k:= 0;

for i:=1 to 100 do {создание новых массивов с элементами: b[j] >=0, c[k] <0}

if a[i] >= 0 then begin j:= j+1; b[j]:= a[i] end

else begin k:= k+1; c[k]:= a[i] end;

j:= 0; k:= 8;

for i:= 1 to 100 do {создание массива номеров "M" для элементов: a[i] > a[k]}

if a[i] > a[k] then begin j:= j+1; M[j]:= i end;

 

 




Дата добавления: 2015-09-10; просмотров: 75 | Поможем написать вашу работу | Нарушение авторских прав

Структура языка Турбо-Паскаль | Типы переменных | Строковый тип | Практическое задание N 1. 1 | Writeln(a); Writeln(b); Writeln(c); | Практическое задание N 1. 2 | Практическое задание N 1. 7 | Практическое задание N 1. 11 | Практическое задание N 1. 14 | Оператор перехода к метке |


lektsii.net - Лекции.Нет - 2014-2025 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав