- •Математика и информатика
- •Содержание
- •Часть 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
- •Математика и информатика учебное пособие
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;.
9.10. Вопросы для самоконтроля по теме «Программирование»
1. Укажите правильно записанный оператор присваивания на Паскале:
a) z:= cos(x) + ln(y);
b) cos(x): = z+ ln(y);
c) z =cos(x)+log(y);
d) a+b:=c+d.
2. Укажите правильно записанный оператор присваивания на Паскале:
a) x+z:= sin(x)+ln(y);
b) z+ ln(y):=w;
c) w :=sin(x)+sqr(g);
d) v-b:=w*d.
3. Укажите правильно записанный оператор присваивания на Паскале:
a) v:=e^x+tg(z);
b) v:=exp(x )+sin(x)/cos(x) ;
c) v:=exp(x )+sin/cos(x) ;
d) m/b+s:=w*d- ln(y).
4. Укажите правильно записанный оператор ввода:
a) WRITE ('Введите Х', X);
b) WRITE (X);
c) READ (X);
d) REAL(X).
5. Вывести на экран число, хранящееся в переменной Х:
a) READ (X);
b) WRITE (X);
c) READ ('Выведите Х=', X);
d) REAL(X).
6. Дана функция r=tg x-lnay; которая записана на Паскале.
Выбрать строку без ошибок:
a) r:=tg(x) –ln(y)/a;
b) r:=tan(x) –ln(y)/ln(a);
c) r:=sin(x)/cos(x) - ln(y)/ln(a);
d) r:= cos(x)/sin(x) - ln(a)/ln(y).
7. В строке представлено:
В : ARRAY[1..5,1..5] OF INTEGER;
a) ввод массива;
b) вывод массива;
c) описание одномерного массива;
d) описание двумерного массива.
8. Дана функция f=ctg a + ln x; которая записана на Паскале.
Выбрать строку без ошибок:
a) f:=ctg(a) +ln(x);
b) f:=sin(a)/cos(a) + log(x);
c) f:=ctg(a)+lg(x);
d) f:=cos(a)/sin(a) +ln(x).
9. Выбрать строку, в которой допущена ошибка:
a) c:= z mod x +a*f;
b) c:=arctan(b) - abs(r);
c) c:=sqr(b) + exp(-a*b);
d) c:= log(x) +cos(a)/d.
10. Выбрать строку, в которой допущена ошибка:
a) q:=tan(x) - ln(c)*z;
b) q:=exp(y)+sqr(a)/z;
c) q:=arctan(f) +sqrt(h);
d) q:=int(K) +round(m).
11. Дана функция r=tg x + ln x, которая записана на Паскале. Выбрать строку без ошибок:
a) r:=tg(a) +ln(x);
b) r:=sin(a)/cos(a) + ln(x);
c) r:=tan(a)+lg(x);
d) r:=cos(a)/sin(a) +ln(x).
12. В строке программы на Паскале
IFX<0THENY:=sqr(X)ELSEY:=sqrt(X)
рассматривается оператор:
a) простой короткий условный;
b) простой полный условный;
c) составной условный;
d) присваивания.
13. В строке программы на Паскале
IFX>0THENY:=LN(X);
рассматривается оператор:
a) простой короткий условный;
b) простой полный условный;
c) составной;
d) присваивания.
14. Выбрать правильно записанный оператор условия: если x<0 , тогда y=cos(x):, иначе y=x, x>=0:
a) IF X< 0 THEN Y:=cos(X) ELSE Y:=X;
b) IF X<0 THEN Y:=cos(X) ELSE X;
c) IF Y≤X<0 THEN Y:=X;
d) IF X>0 THEN Y=X ELSE cos(X).
15. Дан оператор на Паскале: FOR k:=3 TO m DO S:=S+k;.
Для выполнения цикла значение m должно быть:
a) m<k; b) m=s; c) m>=k; d) m<=k.
16. Дан оператор на Паскале: FOR k:=1 TO m DO S:=S+k;.
Всего циклов будет выполнено:
a) k; b) s; c) m; d) 1.
17. Дан оператор на Паскале: FOR k:=1 TO m DO s:=s+k;.
Выберите условие выхода из цикла:
a) k = 1 ; b)k = m; c) k m; d) k >m.
18. Строка на Паскале: while k <=m do; относится к операторам:
a) условия; b) цикла; c) вывода; d) ввода.
19. В строке представлено:
В : ARRAY[1..7] OF INTEGER;
a) ввод массива;
b) вывод массива;
c) описание одномерного массива;
d) описание двумерного массива.