русс | укр

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

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

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

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


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

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


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


 

Программирование с использованием массивов и строк

 

Теоретическая часть

Массивы

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

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

Имя: array [нижний_индекс..верхний_индекс]ofтип;

где

· Имя — имя переменной-массива;

· array — ключевое слово, обозначающее, что переменная является массивом;

· нижний_индекс и верхний_индекс — целые числа, определяющие диапазон изменения индексов (номеров) элементов массива и, неявно, количество элементов (размер) массива;

· тип — тип элементов массива.

Примеры объявления массивов:

temp: array[1..31] ofreal;

koef: array[0..2] ofinteger;

name: array[1..30] of string[25];

Здесь string — строковая переменная, которая будет рассматриваться в п. 1.2.

При объявлении массива удобно использовать именованные константы, которые объявляются в разделе описания констант. Например, информацию о размерности массива можно объявить так:

Const

NT=18; SN=25;

Var

team: array[1..NT] of string[SN];

Чтобы в программе использовать элемент массива, надо указать имя массива и номер элемента (индекс), заключив его в квадратные скобки. Индекс может быть константой или выражением целого типа. Например: temp[i], koef[2], name[n+l] и т. д.

Если элементы массива являются исходными данными, то перед обработкой они должны быть введены в программу. Ввод удобно реализовать при помощи оператора цикла for,параметр которого может быть использован как индекс элемента массива. Чтобы пользователь программы знал, какой элемент массива вводится в данный момент, следует организовать вывод подсказок перед вводом очередного элемента массива. В подсказке обычно указывают индекс элемента массива. Например:



Var

massiv: array[1..10] of integer;

Begin

for i:=1 to 10 do

Begin

write(‘Введите элемент ‘,i);

readln(massiv[i]);

end;

Для вывода значений элементов массива, также может использоваться оператор for.

Помимо одномерных массивов в программах могут использоваться двумерные массивы.

В общем виде описание двумерного массива выглядит так:

Имя: array[НижняяГраницаИндекса1..ВерхняяГраницаИндекса1,

НижняяГраницаИндекса2..ВерхняяГраницаИндекса2]of Тип;

где НижняяГраницаИндекса1, ВерхняяГраницаИндекса1, НижняяГраницаИндекса2, ВерхняяГраницаИндекса2 — целые константы, определяющие диапазоны изменения индексов и, следовательно, число элементов массива. Остальные элементы описания имеют тот же смысл, что и для одномерных массивов.

Двумерные массивы удобно интерпретировать в виде прямоугольных матриц размерностью N x M, где N – число строк матрицы, а M – число столбцов. Например, описание двумерного массива натуральных чисел размера N х М может быть задано следующей строкой:

Var massiv: array[1..N, 1..M] of integer;

Положение каждого элемента массива massiv[i,j] определяется значением строки i и столбца j соответствующей матрицы.

П р и м е р 1. Дана матрица N x M, состоящая из натуральных чисел. Найти в ней наименьший элемент и определить его местоположение в матрице. Если таких элементов несколько, то определить их количество.

Блок-схема алгоритма решения представлена на рис. 1.

 

Рис. 1

Текст программы:

Program matrica;

constt=20; s=20;

varA: array [1..t, 1..s] of integer; {двумерный массив для матрицы}

n, m : integer; {число строк и столбцов матрицы}

min : integer; {значение минимального элемента}

im, jm : integer; {индексы минимального элемента}

i, j : integer; {индексы текущего элемента}

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

Begin

write(‘Число строк n=’); readln(n);

write(‘Число столбцов m=’); readln(m);

for i:=1 to n do

Begin

write(‘Введите через пробел ‘,m,’чисел’);

for j:=1 to m do

read(A[i,j])

end;

min:=A[1,1]; im:=1; jm:=1; k:=0;

for i:=1 to n do

for j:=1 to m do

if min>A[i,j] then

Begin

k:=1; im:=i; jm:=j;

min:=A[i,j]

End

Else

if min=A[i,j] then k:=k+1;

if k=1 then writeln(‘В матрице 1 мин. элемент ‘,min, ‘в строке’,im,’и

столбце’,jm)

elsewriteln(‘В матрице ‘,k,’минимальных элементов ‘,min)

end.

 



<== предыдущая лекция | следующая лекция ==>
Задания к лабораторной работе. | Глава I


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


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

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

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


 


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

 
 

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

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