Одномерные массивы - Прикладные программы

В математике наряду со множеством, часто рассматривают упорядоченные наборы чисел (например координаты точки в двумерном, трехмерном пространстве). Упорядоченные двойки, тройки и т. д. чисел в языке Паскаль удобно задавать с помощью массивов длины 2, 3 и т. д. Массив - это упорядоченный набор однотипных элементов определенной длины. Каждый элемент массива имеет свой номер (индекс). К каждому элементу массива имеется прямой доступ. Это означает, что для того, чтобы обратиться к какому-либо элементу массива, нет нужды перебирать все его предыдущие элементы, нам достаточно указать номер этого элемента.

Первый способ.

В разделе описания переменных мы можем описать массив следующим образом:

Var A:Array[n1..n2] Of базовый тип;

Здесь А - название массива;

Array - служебное слово (англ. массив).

N1,n2- соответственно номер первого и последнего элемента массива.

Базовый тип - любой из уже изученных типов.

Количество элементов массива будет равно n2-n1+1.

Например, запись

Var Massiv:Array[1..20] Of Real;

Означает, что полученный массив будет состоять из 20 вещественных чисел, первое из которых будет иметь номер 1, последнее - 20. Наш массив будет иметь название Massiv.

Второй способ. Описание массива заключается в создании нового оригинального типа. Для того чтобы программист мог создавать свои новые типы данных в Паскале существует раздел описания типов Type. Этот раздел находится между разделом описания констант и разделом описания переменных.

Type

<Имя типа>=Array[n1..n2]Of Базовый тип;

После этого в разделе описания переменных мы можем описать массив, который имеет созданный нами тип, например,

Type

Mas=Array[10..19] Of Integer;

Var B:Mas;

В данном случае мы сначала описали новый тип Mas - массив из десяти целых чисел с номерами от 10 до 19, затем описали переменную B типа Mas. Переменная В - переменная типа Mas.

Чтобы обратиться к какому либо элементу массива, необходимо указать имя массива и в квадратных скобках номер элемента. В[5], A[i] и т. д. Номером элемента может быть любое целочисленное выражение.

Обработка массивов

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

Для ввода массива с клавиатуры может быть использован цикл следующего вида: пусть у нас имеется массив с именем А, состоящий из n элементов, тогда:

For i:=1 To n Do Read(A[i]);

В этом случае, пользователь вводит через пробел n элементов массива.

Ввод данных в массив происходит следующим образом: сначала значение счетчика цикла равно 1; выполняется операция read (A[1]); после чего счетчик цикла становится равным 2; выполняется операция Read(A[2])... и т. д. до значения i=n включительно.

Для вывода массива на экран используется следующий цикл:

For i:=1 To n Do Write(A[i]);

Writeln;

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

Как уже было сказано для обработки массивов используются циклы.

Пример.

Пусть имеется массив М, состоящий из n элементов с номерами от 1 до n. Найти Сумму элементов массива, вывести ее на экран.

Sum:=0;

For i:=1 To n Do Sum:=Sum+M[i];

Writeln('Сумма элементов массива = ',Sum);

Матрицы - двумерные массивы

В математике очень распространено такое понятие, как матрица. Матрица - это таблица из коэффициентов A=(aIj). Элементы матрицы образуют столбцы и строки. Первый индекс ( i ) указывает номер строки, второй ( j ) - номер столбца, на пересечении которых находится элемент aIj.

Определим некоторые действия над матрицами.

    1. 1. Две матрицы равны, если равны все элементы, стоящие в одинаковых местах. 2. 2. Суммой двух матриц A=(aIj) и B=(bIj) называется матрица С=(сIj), где сIj= aIj+bIj; 3. 3. Произведением матрицы A=(aIj) на число L называют матрицу, у которой каждый элемент равен произведению соответствующего элемента матрицы А на число L.

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

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

Array[n1..n2,m1..m2] Of Базовый Тип;

N1, n2 - начальное и конечное значения первого индекса;

M1, m2 - начальное и конечное значения второго индекса.

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

Для ввода и для вывода двумерных массивов используются два вложенных цикла:

Ввод массива:

For i:=1 To n Do

For j:=1 To m Do

Read(A[i, j]);

Вывод массива:

For i:=1 To n Do

Begin

For j:=1 To m Do

Write(A[i, j]:3);

Writeln;

End;

Для обработки двумерных массивов также используются два вложенных цикла.

Пример.

Найти произведение массива А на число L.

For i:=1 To n Do

For j:=1 To m Do

A[i, j]:=A[i, j]*L;

Строковые переменные и строковые константы

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

Строковые константы - это последовательность символов, заключенных в апострофы, например, 'Пример', 'АВС 1А'.

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

Const Str= 'СТРОКА';

Переменные строкового типа описываются с помощью служебного слова String:

Var s1,s2:String[N];

Где String - служебное слово;

S1,s2 - переменные строкового типа;

N - максимальная длина строки (от 0 до 255).

Строковым переменным можно присваивать значения строковых переменных и строковых констант. Кроме того, мы можем обратиться к отдельному символу в строке. Для этого, после имени переменной, в квадратных скобках необходимо указать его номер, как это делалось с символьными массивами. Отдельный элемент строки - символьная константа, мы можем присвоить ему значение символьной константы, либо символьной переменной.

При считывании значений строковых переменных с клавиатуры во избежание ошибок следует использовать оператор ввода Readln.

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

Str1:=Str1 + '1'+ Str2 + 'asd';

Строки можно сравнивать. Сравнение строк происходит слева направо для первого несовпадающего символа

'Иванов'< 'Иванова'

'Кот' > 'Код'

Встроенные функции для обработки строк

Для обработки строковых данных используется ряд стандартных процедур и функций. Рассмотрим их. При этом Str, Str1, Str2 - переменные типа String, i, j - выражения типа integer;

Length(Str) - функция, вычисляющая длину переменной Str. Результат функции имеет целочисленный тип.

Copy(Str, i, j) - Функция, которая выделяет из строки Str подстроку длиной j, начиная с позиции i.

Delete(Str, i, j) - Процедура, которая удаляет из строки Str подстроку длиной j, начиная с позиции i.

Insert(Str1,Str2,i) - Процедура, которая вставляет в строку Str1 строку Str2, начиная с позиции i.

Процессы, связанные с поиском, хранением, передачей, обработкой и использованием информации, называются информационными процессами. Теперь остановимся на основных информационных процессах.

    1. Поиск. Поиск информации -- это извлечение хранимой информации. Методы поиска информации: непосредственное наблюдение; общение со специалистами по интересующему вас вопросу; чтение соответствующей литературы; просмотр видео, телепрограмм; прослушивание радиопередач, аудиокассет; работа в библиотеках и архивах; запрос к информационным системам, базам и банкам компьютерных данных; другие методы. Понять, что искать, столкнувшись с той или иной жизненной ситуацией, осуществить процесс поиска -- вот умения, которые становятся решающими на пороге третьего тысячелетия. 2. Сбор и хранение. Сбор информации не является самоцелью. Чтобы полученная информация могла использоваться, причем многократно, необходимо ее хранить. Хранение информации -- это способ распространения информации в пространстве и времени. Способ хранения информации зависит от ее носителя (книга - библиотека, картина - музей, фотография - альбом). ЭВМ предназначена для компактного хранения информации с возможностью быстрого доступа к ней. Информационная система -- это хранилище информации, снабженное процедурами ввода, поиска и размещения и выдачи информации. Наличие таких процедур - главная особенность информационных систем, отличающих их от простых скоплений информационных материалов. Например, личная библиотека, в которой может ориентироваться только ее владелец, информационной системой не является. В публичных же библиотеках порядок размещения книг всегда строго определенный. Благодаря ему поиск и выдача книг, а также размещение новых поступлений представляет собой стандартные, формализованные процедуры. 3. Передача. В процессе передачи информации обязательно участвуют источник и приемник информации: первый передает информацию, второй ее получает. Между ними действует канал передачи информации -- канал связи. Канал связи -- совокупность технических устройств, обеспечивающих передачу сигнала от источника к получателю.

Кодирующее устройство -- устройство, предназначенное для преобразования исходного сообщения источника к виду, удобному для передачи.

Декодирующее устройство -- устройство для преобразования кодированного сообщения в исходное. Деятельность людей всегда связана с передачей информации. В процессе передачи информация может теряться и искажаться: искажение звука в телефоне, атмосферные помехи в радио, искажение или затемнение изображения в телевидении, ошибки при передачи в телеграфе. Эти помехи, или, как их называют специалисты, шумы, искажают информацию. К счастью, существует наука, разрабатывающая способы защиты информации -- криптология.

Каналы передачи сообщений характеризуются пропускной способностью и помехозащищенностью. Каналы передачи данных делятся на симплексные (с передачей информации только в одну сторону (телевидение)) и дуплексные (по которым возможно передавать информацию в оба направления (телефон, телеграф)). По каналу могут одновременно передаваться несколько сообщений. Каждое из этих сообщений выделяется (отделяется от других) с помощью специальных фильтров. Например, возможна фильтрация по частоте передаваемых сообщений, как это делается в радиоканалах. Пропускная способность канала определяется максимальным количеством символов, передаваемых ему в отсутствии помех. Эта характеристика зависит от физических свойств канала. Для повышения помехозащищенности канала используются специальные методы передачи сообщений, уменьшающие влияние шумов. Например, вводят лишние символы. Эти символы не несут действительного содержания, но используются для контроля правильности сообщения при получении. С точки зрения теории информации все то, что делает литературный язык красочным, гибким, богатым оттенками, многоплановым, многозначным,- избыточность. Например, как избыточно с таких позиций письмо Татьяны к Онегину. Сколько в нем информационных излишеств для краткого и всем понятного сообщения "Я Вас люблю!"

    4. Обработка. Обработка информации -- преобразование информации из одного вида в другой, осуществляемое по строгим формальным правилам. Примеры обработки информации Примеры Входная информация Выходная информация Правило Таблица умножения Множители Произведение Правила арифметики Определение времени полета рейса "Москва-Ялта" Время вылета из Москвы и время прилета в Ялту Время в пути Математическая формула Отгадывание слова в игре "Поле чудес" Количество букв в слове и тема Отгаданное слово Формально не определено Получение секретных сведений Шифровка от резидента Дешифрованный текст Свое в каждом конкретном случае Постановка диагноза болезни Жалобы пациента + результаты анализов Диагноз Знание + опыт врача Обработка информации по принципу "черного ящика" -- процесс, в котором пользователю важна и необходима лишь входная и выходная информация, но правила, по которым происходит преобразование, его не интересуют и не принимаются во внимание. "Черный ящик" -- это система, в которой внешнему наблюдателю доступны лишь информация на входе и на выходе этой системы, а строение и внутренние процессы неизвестны. 5. Использование. Информация используется при принятии решений. Достоверность, полнота, объективность полученной информации обеспечат вам возможность принять правильное решение. Ваша способность ясно и доступно излагать информацию пригодится в общении с окружающими. Умение общаться, то есть обмениваться информацией, становится одним главных умений человека в современном мире.

Компьютерная грамотность предполагает: знание назначения и пользовательских характеристик основных устройств компьютера; Знание основных видов программного обеспечения и типов пользовательских интерфейсов; умение производить поиск, хранение, обработку текстовой, графической, числовой информации с помощью соответствующего программного обеспечения. Информационная культура пользователя включает в себя: понимание закономерностей информационных процессов; знание основ компьютерной грамотности; технические навыки взаимодействия с компьютером; эффективное применение компьютера как инструмента; привычку своевременно обращаться к компьютеру при решении задач из любой области, основанную на владении компьютерными технологиями; применение полученной информации в практической деятельности.

6. Защита. Защитой информации называется предотвращение: доступа к информации лицам, не имеющим соответствующего разрешения (несанкционированный, нелегальный доступ); непредумышленного или недозволенного использования, изменения или разрушения информации. Более подробно о защите информации мы остановимся далее. Под защитой информации, в более широком смысле, понимают комплекс организационных, правовых и технических мер по предотвращению угроз информационной безопасности и устранению их последствий.

Похожие статьи




Одномерные массивы - Прикладные программы

Предыдущая | Следующая