русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Массивы


Дата добавления: 2014-11-28; просмотров: 639; Нарушение авторских прав


По определению, принятому в языке Pascal, массив – это сложный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип. С точки зрения программиста, массив – это группа однотипных переменных с одним именем, каждый элемент массива имеет свой номер (индекс). Массив описывается одним из следующих способов:

1) Var

identificator : array [ index-type ] of element-type;

2) Type

TypeName= array [ index-type ] of element-type;

Var

identificator : TypeName;

Тип элементов может быть любым, но индекс должен быть перечислимого типа. Примеры описаний типа массив:

IntList:array[1..100] of Integer;

CharData:array['A'..'Z'] of Byte;

Matrix:array[0..9, 0..9] of Real;

Если в описании массива задан один индекс, массив называется одномерным, если два индекса – двухмерным, если n индексов – n-мерным. Одномерные массивы обычно используются для представления векторов, а двумерные – для представления матриц.

После объявления массива к каждому его элементу можно обратиться, указав идентификатор (имя) массива и индекс (номер) элемента в квадратных скобках. Например, запись IntList[2] позволяет обратиться ко второму элементу массива IntList, а запись Matrix[4,5] делает доступным для использования значение элемента, находящегося в четвёртом столбце пятой строки массива Matrix.

Перед использованием массива рекомендуется его очистить путём присваивания каждому элементу массива значения нуль:

for i:=1 to n do a[i]:=0;

Заполнение массива, то есть присваивание элементам массива значений, может производиться путём ввода данных с клавиатуры, генерации случайных чисел или присваивания результатов вычисления выражений.

Пример 1. Ввод с клавиатуры 10элементов массива.

for i:=1 to 10 do

begin

Write(i,'-й элемент массива = ');

Readln(a[i]);

end;



Пример 2. Генерация массива действительных случайных чисел в диапазоне от X до Y:

for i:=1 to n do a[i]:=x+(y-x)*random;

(перед использованием функции random следует выполнить ее инициализацию функцией randomize).

Пример 3. Вывод массива из 10 элементов действительного типа:

Writeln('Вывод элементов массива в строку:');

for i:=1 to 10 do

Write(a[i]:7:2);

Writeln('Вывод элементов массива в столбец:');

for i:=1 to 10 do

Writeln(i,'-й элемент массива = ',a[i]:7:2);

Пример 4. Вычисление суммы 10 элементов массива:

s:=0;

for i:=1 to 10 do

s:=s+a[i];

Writeln('Сумма равна ', s:8:2);

Пример 5. Нахождение минимального и максимального элементов массива:

mina:=a[1]; maxa:=a[1];

for i:=2 to 10 do

begin

if a[i]<mina then mina:=a[i];

if a[i]>maxa then maxa:=a[i];

end;



Writeln('Минимальное значение равно ', mina:8:2);

Writeln('Максимальное значение равно ', maxa:8:2);

Пример 6. Поиск в массиве элементов, удовлетворяющих определённым условиям. Например, чтобы подсчитать, сколько элементов массива имеют нулевые значения, надо записать:

k:=0;

for i:=1 to n do

if a[i]=0 then k:=k+1;

Writeln('В массиве А ', k, ' элементов равны 0');

 

Упражнение. Наберите текст следующей программы:

Uses Crt;

Var

a:array[1..10] of byte;

b,i,p:byte;

Begin

ClrScr;

Writeln('Заполнение массива из 10 элементов целыми числами');

for i:=1 to 10 do

a[i]:=random(255);

Writeln('Вывод массива в строку:');

for i:=1 to 10 do

Write(a[i]:7:2);

Writeln;

repeat {Сортировка массива}

p:=0;

for i:=1 to 9 do

if a[i]<a[i+1] then

begin

b:=a[i]; a[i]:=a[i+1];

a[i+1]:=b; p:=1;

end;



until p=0;

Writeln;

Writeln('Вывод массива после сортировки:');

for i:=1 to 10 do

Writeln(i,'-й элемент массива = ',a[i]);

Readln;

End.

В этой программе организован ввод элементов массива, вывод исходного массива, его сортировка и вывод результатов сортировки. Сортировка выполняется методом "пузырька", при котором сравниваются значения соседних элементов массива и, если необходимо, производится их перестановка. С помощью комбинаций клавиш Ctrl-F7 введите в окно просмотра переменных имя массива а. Затем таким же образом i, a[i], p (окно просмотра открывается и закрывается клавишей F5).

Выполните пошаговое прохождение программы. Для выполнения каждой строчки программы следует нажимать клавишу F7. При этом строка, которая будет выполняться следующим шагом, выделяется другим цветом. При прохождении внимательно следите за значениями переменных в окне Watch. При вводе переменных числа, имеющие размер более 255, будут восприняты неправильно, так как они выходят из диапазона чисел типа Byte (0..255).



<== предыдущая лекция | следующая лекция ==>
Лабораторная работа №7 | Задание


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.061 сек.