Одномерные массивы
В математике одномерному массиву соответствует мерный вектор, например:
, где
компонента (координата) вектора;
номер компоненты;
число компонент.
Описание одномерного массива
В Турбо Паскале описание одномерного массива задается следующим образом:
<имя массива>: ARRAY [m1 m2] OF < тип элементов>;
Индекс одномерного массива определяет порядковый номер элемента в массиве.
m1 m2 – диапазон значений индекса.
Тип элементов в массиве может быть любым: простым (REAL, INTEGER, CHAR), структурным (ARRAY), строковым (STRING).
По описанию массива в памяти компьютера выделяется область последовательных ячеек, в которую при выполнении программы заносятся значения элементов массива. Например, по описанию
Var
X: array [15] of real;
будет выделяться область из пяти последовательных ячеек для записи значений элементов вещественного типа.
Индексные переменные
Выбор отдельного элемента из массива осуществляется с помощью индексной переменной, которая задается следующим образом:
индексная переменная (элемент массива);
имя массива;
индекс (номер элемента массива).
В качестве индекса используются:
-
целые константы, например, ;
-
целые переменные, например, ;
-
индексные выражения, например, .
Замечание. Индексными выражениями являются арифметические выражения целого типа.
Индексная переменная, как и простая, может стаять в левой части оператора присваивания, например:
;
Ввод-вывод одномерных массивов
Ввод-вывод массивов осуществляются поэлементно с помощью оператора цикла FOR, в котором в качестве параметра используется индекс.
Пример 1. Организовать ввод с клавиатуры массива:
.
В разделе описания переменных необходимо задать описание массива и индекса.
Var
A: array [14] of real;
i: integer;
В операторной части программы рекомендуется ввод массива организовать в виде диалога, сопроводив ввод соответствующим сообщением на экране.
Begin {начало программы}
WRITELN (‘Введите массив А’);
for i := 1 to 4 read(a[i]);
……………
На клавиатуре набирается:
1.2 5 6.8 14 Enter .
Пример 2. Организовать вывод массива А на экран таким образом, чтобы все элементы располагались на одной строке экрана.
В программе надо записать следующие операторы:
for i := 1 to 4 do write(a[i]:5:1);
writeln;
Вид выводимого массива на экране:
1.2 5.0 -6.8 14.0
Оператор WRITELN без списка служит для перевода курсора к началу следующей строки.
Обработка одномерных массивов
При решении задач обработки массивов используют базовые алгоритмы реализации циклических вычислительных процессов: организация счетчика, накопление сумм и произведений, поиск минимального и максимального элементов массива.
Задача 1. Организация счетчика.
Определить количество элементов заданного целочисленного массива , которые делятся на 3 без остатка.
Program OM_1;
Var
B: array [1… 20] of integer;
i, L: integer;
Begin
writeln(‘Введите массив В’);
for i :=1 to 20 do read(b[i]);
L := 0;
for i :=1 to 20 do
if (b[i] MOD 3) = 0 then L := L+1;
writeln(‘L =’, L);
End.
Задача 2. Накопление суммы и произведения.
Дано целое число и массив вещественных чисел . Вычислить среднее арифметическое и среднее геометрическое чисел массива, используя формулы:
; .
Program ОМ_2;
Var
Х: array [1… 100] of real;
n, i: integer;
S, P: real;
Begin
writeln(‘Введите размер массива n’);
read(n);
writeln(‘Введите массив Х’);
for i := 1 to n do read(x[i]);
S := 0;
P := 1;
for i := 1 to n do
begin
S := S + x[i];
P := P x[i];
end;
S := S/n;
P := exp(1/n * ln(P));
writeln(‘S =’, S:6:2);
writeln(‘P =’, P:10:2);
End.
Задача 3. Поиск минимального и максимального элементов массива.
Дан вещественный массив .
Поменять местами минимальный и максимальный элементы массива и вывести массив после обмена.
В этой задаче дополнительно надо знать местоположение минимального и максимального элементов, поэтому одновременно с поиском надо запоминать индексы.
Введем обозначения:
min – минимальный элемент;
imin – индекс минимального элемента;
max – максимальный элемент;
imax – индекс максимального элемента.
Program ОМ_3;
Var
T: array [1… 10] of real;
i, imin, imax: integer;
min, max: real;
Begin
writeln(‘Введите массив T’);
for i := 1 to 10 do read(t[i]);
min := +1E6;
max := -1E6;
for i := 1 to 10 do
begin
if t[i]<min then
begin
min := t[i];
imin := i;
end;
if t[i]>max then
begin
max := t[i];
imax := i;
end;
end;
t[imin]:= max;
t[imax]:= min;
for i := 1 to 10 do write(t[i]:6:2);
writeln;
End.
- Информатика – предмет и задачи курса
- Появление и развитие информатики
- Информатизация общества
- Информационная культура
- Информация
- Информация
- Свойства информации
- Адекватность информации
- Измерение информации
- Классификация способов измерения информации
- Синтаксическая мера информации
- Семантическая мера информации
- Прагматическая мера информации
- Системы счисления
- Перевод целых чисел в двоичную систему счисления
- Перевод целых чисел из двоичной в восьмеричную и шестнадцатеричную системы счисления
- Сложение и вычитание чисел в различных системах счисления
- Представление данных в памяти компьютера
- Кодирование текстов
- Кодирование изображений
- Кодирование звука
- Управление компьютером
- Программное управление компьютером
- Архитектура компьютера и принципы фон Неймана
- Основные блоки ibm-совместимого компьютера
- История развития вычислительной техники
- Тенденции развития современных компьютеров
- Программы для компьютеров.
- Операционная система.
- Развитие операционных систем.
- Операционные оболочки
- Операционная система windows.
- Концепция ос windows.
- Многопоточность
- Дескриптор
- Прерывания
- Объектно-ориентированная платформа windows
- Объект – файл.
- Объект папка.
- Иерархическая структура подчиненности папок
- Объекты пользовательского уровня – приложение и документ
- Обмен данными.
- Способы обмена данными.
- Пользовательский интерфейс Windows
- Обработка текстовой информации.
- Некоторые возможности текстового процессора Word
- Запуск и завершение работы с Word
- Пользовательский интерфейс Word
- Справочная система Word
- Структура документа
- Страница
- Принципы обработки текстов
- Принцип форматирования
- Стили форматирования
- Использование шаблонов
- Режим структуры документа.
- Сервисные функции Word
- Поиск и замена текста
- Оформление таблиц
- Обрамление
- Вставка объектов
- Технология внедрения и связывания объектов ole
- Внедрение объекта:
- Связывание объекта.
- Вставка графики
- Добавление объектов при помощи панели инструментов “Рисование”
- Автофигуры
- Вставка объектов WordArt
- Вставка специальных символов
- Вставка математических формул
- Построение формулы.
- Изменение формулы.
- Стиль и размер символов в формуле.
- Компьютерные сети
- Передача данных по сети
- Аппаратные средства передачи данных
- Архитектура компьютерных сетей. Понятие “открытая система”
- Модель osi
- Глобальная компьютерная сеть Интернет
- История появления сети Интернет
- Адресация компьютеров в Интернет
- Доменная система имен
- Служба World Wide Web (www)
- Электронная почта
- Табличный процессор Microsoft Excel
- История развития табличных процессоров
- Возможности табличного процессора Excel
- Структура документа Excel
- Типы данных в Excel
- Запуск программы Excel
- Интерфейс пользователя
- Ввод и редактирование данных
- Выделение ячеек
- Копирование и перемещение ячеек
- Форматирование ячеек
- Вычисления в таблице Excel
- Построение диаграмм
- Обобщенная технология работы в табличном процессоре
- Примеры использования функции “если” в Excel
- Основные понятия информационных систем
- Понятие «информационная система»
- Банки данных
- Базы данных
- История развития баз данных
- Структурные элементы базы данных
- Виды моделей данных
- Реляционный подход к построению инфологической модели
- Понятие «информационный объект»
- Нормализация отношений
- Понятие «нормализация отношений»
- Первая нормальная форма
- Вторая нормальная форма
- Третья нормальная форма
- Построение инфологической модели
- Архитектура субд
- Проектирование баз данных
- Система управления базами данных
- Субд Microsoft Access
- Особенности пользовательского интерфейса ms access
- Основные объекты ms access
- Обслуживание магнитных дисков
- Накопители на гибких магнитных дисках
- Структура магнитного диска (на примере дискеты)
- Форматирование дискет
- Правила обращения с дискетой
- Программы для обслуживания магнитных дисков
- Проверка диска
- Дефрагментация файловой системы
- Компьютерные вирусы
- Методы борьбы с компьютерными вирусами
- История развития антивирусных программ
- Современные программы для защиты от вирусов
- Основные этапы решения задач на компьютере
- Языки программирования
- Язык программирования Паскаль
- Алфавит и лексическая структура языка паскаль
- Структура паскаль - программы.
- Типы данных в языке программирования паскаль
- Перечень типовых данных в Турбо Паскале.
- Целочисленные типы данных
- Вещественные типы данных
- Операторы языка программирования паскаль
- Простые операторы
- Оператор присваивания
- Оператор безусловного перехода
- Оператор вызова процедуры
- Структурные операторы
- Составной оператор.
- Условные операторы
- Примеры программ
- Операторы цикла в языке программирования Паскаль
- Оператор цикла с параметром
- Оператор цикла с предусловием
- Оператор цикла с постусловием
- Примеры программ
- Массивы в языке программирования паскаль
- Понятие массива
- Одномерные массивы
- Двумерные массивы
- Процедуры в языке программирования паскаль
- Описание процедуры и обращение к ней
- Параметры - значения и параметры - переменные
- Процедуры функции в языке программирования паскаль
- Описание функции и обращение к ней
- Строки в языке программирования паскаль
- Литерный тип (char) в языке программирования Паскаль
- Строковый тип (string) в языке программирования Паскаль
- Строковые процедуры и функции в Турбо-Паскале
- Примеры программ
- Рекомендуемая литература