Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003




НазваниеИнформатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003
страница3/12
Дата11.11.2012
Размер0.97 Mb.
ТипМетодические указания
1   2   3   4   5   6   7   8   9   ...   12

Пользовательский тип-массив



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

Пример:


Type

Arr = array[1..20] of integer; { Тип массива целых чисел,

содержащего 20 элементов }

Arr2D = array[1..10, 1..10] of integer; { Тип массива целых

чисел, содержащего 100 элементов

в 10 строках и 10 столбцах }

Var

A : Arr; { A – массив целых чисел, содержащий 20 элементов }

B : Arr2D; { B – массив целых чисел, содержащий 10 строк

по 10 элементов в каждой строке }


В Си-программе также можно определить тип массива, но это делается весьма редко – чаще всего массив объявляется без использования специального типа.

Пример объявления типа массива в Си:


typedef int Arr[20]; // Определили тип массива целых чисел,

// содержащего 20 элементов

typedef int Arr2D[10][10]; // Определили тип массива целых чисел,

// содержащего 100 элементов в 10 строках и 10 столбцах


Arr a; // A – массив целых чисел, содержащий 20 элементов

Arr2D b; // B – массив целых чисел, содержащий 10 строк

// по 10 элементов каждая

Основные алгоритмы




Сканирование массива



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


s := 0; { Значение суммы S обнуляем }

For i := 1 to n do { Проходим по всем N элементам массива }

s := s + a[i]; { Прибавляя к сумме S значение i-го элемента }


На Си:


s = 0; // Значение суммы S обнуляем

for (i = 0; i < n; i++) // Проходим по всем N элементам

s += a[i]; // Прибавляем к сумме S значение i-го элемента


По сложившейся традиции, переменная, используемая в качестве счетчика цикла сканирования элементов массива, называется I (Index).


Сканирование двухмерного массива



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


s := 0;

For i := 1 to n do { Проходим по всем N строкам массива }

For j := 1 to m do { Проходим по всем M столбцам массива }

s := s + a[i, j]; { Прибавляем к сумме S значение

элемента a[i,j] }

На Си:


S = 0; // Значение суммы S обнуляем

for (i = 0; i < n; i++) // Проходим по всем N строкам

for (j = 0; j < m; j++) // Проходим по всем M столбцам

S += a[i][j]; // Прибавляем к сумме S значение

// элемента a[i][j]

При сканировании двухмерного массива требуется два счетчика. Им обычно дают имена i и j. Как правило, переменная i индексирует строку, а переменная j – столбец.


Условные обозначения и имена, используемые в примерах



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

а) константы:

Паскаль:

Const

MAXN = 10; { Максимально возможное количество строк

в двухмерном массиве }

MAXM = 10; { Максимально возможное количество столбцов

в двухмерном массиве }


Си:

// Максимально возможное количество строк в двухмерном массиве

#define MAXN 10

// Максимально возможное количество столбцов в двухмерном массиве

#define MAXM 10


б) типы:

Паскаль:

Type

{ Тип двухмерного массива целых чисел }

Arr2D = array[1 .. MAXN, 1 .. MAXM] of integer;


в) переменные:

Паскаль:

Var

a : arr2D; { Обрабатываемый массив }

n : Integer; { Количество используемых строк в массиве A }

m : Integer; { Количество используемых столбцов в массиве A }

i, j : IndexEl; { Счетчики, используемые для сканирования }


Си:

int a[MAXN][MAXM]; // Обрабатываемый двухмерный массив

int n; // Количество используемых строк в массиве A

int m; // Количество используемых столбцов в массиве A

int i, j; // Счетчики, используемые для сканирования


Замечания:

  1. Знаком … будем обозначать, что некоторая часть исходного текста программы пропущена.

  2. Если в алгоритме будут нужны еще какие-то переменные, то они будут указаны дополнительно.



1   2   3   4   5   6   7   8   9   ...   12

Похожие:

Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconРабочая программа Дисциплины “Узлы и устройства эвм”
Для подготовки дипломированных специалистов по направлению 654600 – «Информатика и вычислительная техника» по специальности 220100...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconМикропроцессорные системы для подготовки
Для подготовки дипломированных специалистов по направлению 654600 – “Информатика и вычислительная техника” по специальности 220100...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconКомпьютерная графика для подготовки
Для подготовки дипломированных специалистов по направлению 654600 “Информатика и вычислительная техника” по специальности 220100...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 icon«Утверждаю»: Министерство образования и науки Российской Федерации Ректор
Направление подготовки: 230100 «Информатика и вычислительная техника Профиль подготовки: «Вычислительные машины, комплексы, системы...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconРабочая программа составлена на основании Государственного стандарта по специальности 220100 «Вычислительные машины, комплексы, системы и сети»
Рабочая программа составлена на основании Государственного стандарта по специальности 220100 «Вычислительные машины, комплексы, системы...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconУчебно-методический комплекс по дисциплине Операционные системы
«Вычислительные машины, комплексы, системы и сети» на кафедре «Вычислительная техника» факультета информационных систем и технологий...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconПрограмма государственного экзамена по специальности 220100 “Вычислительные машины, комплексы, системы и сети”

Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconМетодические указания для студентов направления подготовки 654600 Омск 2002
В методических указаниях по дипломному проектированию предназначены для студентов специальности 22 01 00 «Вычислительные машины,...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconРабочая программа учебной дисциплины «микропроцессорные системы» для специальности: 230101 «Вычислительные машины, комплексы, системы и сети» Заочная форма обучения
«Вычислительные машины, комплексы, системы и сети», изложенных в Государственном образовательном стандарте высшего профессионального...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconМетодические указания и контрольные задания Для студентов специальности 230101 «Вычислительные машины, комплексы, системы и сети»
«Вычислительные машины, комплексы, системы и сети» заоч формы обучения / Федер агентство по образованию, Воронеж государственный...
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница