9.9.3. Операции с массивами
В Паскале есть лишь одна операция, которую можно делать с массивом целиком – это операция присваивания. Но для этого массивы должны быть совершенно одинаковы, то есть описаны в одной строке VAR или TYPE.
Все остальные операции производятся только с отдельными элементами массива. С элементами массива можно делать все операции, которые разрешены для базового типа массива: если массив числовой, то математические, если символьный или строковый, то, соответственно, операции с символьными или строковыми переменными.
Пример 23.
Требуется найти максимальный и минимальный элементы одномерного массива вещественного типа. Алгоритм поиска минимума: вводим переменную MIN, в которую записываем 1-ый элемент массива. Затем в цикле сравниваем каждый последующий элемент с MIN. Если число, хранящееся в текущем элементе, меньше хранящегося в MIN, то число из текущего элемента записываем в MIN. Аналогичен алгоритм поиска максимума, только вместо «меньше» ставим «больше». Написать программу.
program PR23;
var
z: array[1..100] of real;
n,k: integer;
max, min: real;
Begin
Writeln(‘ввести количество элементов массива n’);
readln (n);
for k:=1 to n do
readln (z[k]);
max:=z[1];min:=z[1];
for k:=1 to n do
if z[k]>max then max:=z[k]
else if z[k]<min then min:=z[k];
writeln(’max=’, max:8:3, ’ min=’, min :8:3);
end.
Пример 24.
Для двумерного массива состоящего из N строк и N столбцов:
а) найти сумму элементов M-столбца;
б) найти произведение элементов K-строки.
Значения К и M вводить с клавиатуры
program PR24;
type
mas=array[ 1.. 10, 1..10] of integer;
var
a:mas;
s, p, i, j, n, k, m :integer;
begin
writeln(’ввести количество строк и столбцов n’);
readln(n);
for i := l to n do
for j := l to n do
begin
writeln(’ввести элемент массива a[’,i ,’, ’,j ,’]= ’);
read (a[i, j]); {ввод элемента массива}
writeln(a[i, j]); {вывод элемента массива}
end;
writeln (’ввести номер строки-k и столбца-m’);
read (k, m);
s:=0; p:=1;
for i:=1 to n do
s:=s+a[i, m]; {сумма элементов столбца m}
for j:=1 to N do
p:=p*a[k, j]; { произведение элементов строки k}
writeln(’s=’,s, ’p=’,p));
end.
При выполнении операций с фиксированной строкой первый индекс не меняется, при суммировании по столбцу второй индекс не меняется.
Пример 25.
Сформировать одномерный массив, каждый k-й элемент которого равен произведению элементов соответствующей k-й строки двумерного массива.
program PR25;
var
A: array[1..10,1..10] of integer;
B: array[1..10] of integer;
N, M, k, j: integer;
begin
writeln(’введите количество строк N, столбцов M’);
readln (N,M);
for k:=1 to N do
for j:=1 to M do
begin
writeln(’ввести элемент массива A[‘, k , ‘,’, j ,’ ]’);
readln (A[k,j]);
end;
for k:=l to N do
begin
В[k]:=1;
for j:=1 to M do
В[k]:=В[k]*A[k,j];
end;
for k:=l to N do
write(B[k]);
end.
Пояснение к программе:
После ввода массива в следующем цикле накапливается произведение элементов каждой строки во внутреннем цикле оператором: B[k]:=B[k]*A[k,j];. Но перед этим необходимо во внешнем цикле задать начальное значение элемента нового массива оператором B[k]:=1;.
Yandex.RTB R-A-252273-3- Математика и информатика
- Содержание
- Часть 1. Основания математики Глава 1. Понятийный аппарат аксиоматического метода
- 1.1. Понятие аксиоматического метода
- 1.2. Аксиоматическое построение математической теории
- 1.3. Вопросы для самоконтроля по теме «Аксиоматический метод»
- Глава 2. Основные понятия теории множеств. Основные структуры
- 2.1. Понятие множества
- 2.2. Способы задания множеств
- 2.3. Алгебра множеств
- 2.3.1. Отношения между множествами
- 2.3.2. Операции над множествами
- 2.3.3. Алгебраические свойства операций над множествами
- 2.3.4. Геометрическая интерпретация операций над множествами
- 2.4. Декартово произведение множеств. Бинарные отношения
- 2.5. Символический язык логической структуры математических предложений
- 2.6. Алгебраические операции над различными математическими объектами
- 2.7. Вопросы для самоконтроля по теме «Теория множеств»
- Глава 3. Структуры на множестве. Комбинаторика
- 3.1. Перестановки
- 3.2. Размещения
- 3.3. Сочетания
- 3.4. Вопросы для самоконтроля по теме «Комбинаторика»
- Часть 2. Основы теории вероятностей Глава 4. Случайные события
- 4.1. Основные понятия теории вероятностей. Виды случайных событий
- 4.2. Алгебра случайных событий
- 4.3. Определение вероятности
- 4.3.1. Классическое определение вероятности
- 4.3.2. Аксиомы теории вероятностей. Аксиоматическое определение вероятности
- 4.4. Теоремы сложения и умножения вероятностей
- 4.4.1. Сложение вероятностей несовместных событий
- 4.4.2. Умножение вероятностей независимых событий
- 4.4.3. Вероятность появления хотя бы одного события
- 4.4.4. Умножение вероятностей зависимых событий. Условная вероятность
- 4.4.5. Сложение вероятностей совместных событий
- 4.5. Формула полной вероятности
- 4.6. Формула Байеса
- 4.7. Вопросы для самоконтроля по теме «Основы теории вероятностей»
- Глава 5. Случайные величины
- 5.1. Понятие случайной величины
- 5.2. Дискретная случайная величина
- 5.2.1. Закон распределения дискретной случайной величины
- 5.2.2. Числовые характеристики дискретных случайных величин
- 5.3. Непрерывная случайная величина
- 5.3.1. Функция распределения вероятностей и плотность распределения вероятностей непрерывной случайной величины
- 5.3.2. Числовые характеристики непрерывной случайной величины
- 5.3.3. Равномерный и нормальный законы распределения непрерывных случайных величин
- 5.3.4. Вероятность попадания в заданный интервал нормальной случайной величины
- 5.3.5. Вычисление вероятности заданного отклонения нормальной случайной величины
- 5.4. Вопросы для самоконтроля по теме «Случайная величина»
- Часть 3. Элементы математической статистики Глава 6. Статистические оценки параметров распределения
- 6.1. Предмет и задачи математической статистики
- 6.2. Выборочный метод
- 6.2.1 Полигон и гистограмма
- 6.2.2. Эмпирическая функция распределения
- 6.3. Статистические оценки параметров распределения
- 6.4. Некоторые статистические распределения
- 6.4.2. Распределение Стьюдента
- 6.5. Интервальные оценки
- 6.5.1. Доверительные интервалы для оценки математического ожидания нормального распределения случайной величины
- 6.5.2. Доверительные интервалы для математического ожидания при известной дисперсии
- 6.5.3. Оценка генеральной дисперсии по исправленной выборочной
- 6.5.4. Доверительные интервалы для математического ожидания при неизвестной дисперсии
- Глава 7. Проверка статистических гипотез
- 7.1. Понятие и классификация статистических гипотез
- 7.2. Общая схема проверки гипотез
- 7.3. Статистическая проверка гипотез о параметрах распределения
- 7.4. Вопросы для самоконтроля по теме «Элементы математической статистики»
- Часть 4. Алгоритмизация и программирование Глава 8. Основы алгоритмизации
- 8.1. Понятие и свойства алгоритма
- 8.2. Таблица блоков
- 8.3. Линейные алгоритмы
- 8.4. Ветвления
- 8.5. Циклы. Повтор с заданным количеством циклов
- 8.6. Вопросы для самоконтроля по теме «Алгоритмизация»
- Глава 9. Программирование на Паскале
- 9.1. Конструкция языка Turbo-Pascal
- 9.1.1. Алфавит
- 9.1.2. Данные и типы данных
- 9.1.3. Стандартные функции
- 9.1.4. Арифметические, логические, символьные выражения
- 9.2. Структура программы на языке Паскаль
- 9.3. Основные операторы Паскаля
- 9.3.1. Оператор присваивания
- 9.3.2. Операторы ввода
- 9.3.3. Операторы вывода
- 9.3.4. Комментарий
- 9.4. Программы линейных алгоритмов
- 9.5. Операторы передачи управления
- 9.5.1. Оператор безусловного перехода
- 9.5.2. Операторы условного перехода
- 9.5.3. Оператор выбора варианта
- 9.6. Разветвляющийся алгоритм
- 9.7. Операторы цикла
- 9.8. Программы циклических алгоритмов
- 9.9. Массивы
- 9.9.1. Понятие и описание массива
- 9.9.2. Ввод и вывод элементов массивов
- 9.9.3. Операции с массивами
- 9.10. Вопросы для самоконтроля по теме «Программирование»
- Литература
- Приложениe 1
- Приложениe 2
- Приложениe 3
- Математика и информатика учебное пособие