- •Предисловие
- •Основные навыки и умения
- •Логическая культура: знание логики, логическая интуиция.
- •Языковые знания и умения.
- •Поисковые знания и умения.
- •Алгоритмические навыки и умения.
- •Общие подходы к построению алгоритмов
- •Тестирование и сопровождение программ
- •Обязательный минимум содержания среднего (полного) общего образования
- •Технология обработки текстовой информации
- •Введение в информатику
- •Системы счисления
- •Перевод из десятичной системы счисления
- •Перевод в десятичную систему счисления
- •Перевод чисел из двоичной системы счисления в восьмеричную, шестнадцатеричную системы и обратно
- •Выполнение арифметических операций в позиционных системах счисления
- •Элементы математической логики
- •Логические законы
- •Алгоритм и его свойства
- •Исполнители. Компьютер - универсальный исполнитель
- •Работа компьютера
- •Turbo pascal - исполнитель паскаль-программ
- •Конструкции Паскаля
- •Типы данных
- •Целый тип данных
- •Вещественный тип данных
- •Символьный тип данных
- •Логический тип данных
- •Выражения
- •Операторы ввода-вывода
- •Оператор присваивания
- •Общий вид программы на Паскале
- •Условный оператор
- •If логическое_выражение then оператор1 else оператор2;
- •If логическое_выражение then оператор1;
- •Операторы цикла
- •Построение линейных алгоритмов
- •Построение ветвящихся алгоритмов
- •Построенние циклических алгоритмов
- •Нахождение суммы
- •Вложенные циклы
- •Переборный метод решения задач
- •Численные методы
- •Метод итераций
- •Метод половинного деления
- •Вычисление определенного интеграла методом трапеций
- •Случайные числа
- •Метод Монте-Карло (метод статистических испытаний)
- •Массивы Одномерные массивы
- •Перебор элементов массива
- •Перебор подмассивов
- •Классы задач по обработке массивов
- •Задачи первого класса
- •Задачи второго класса
- •Задачи третьего класса
- •Задачи четвертого класса
- •Сортировка массивов
- •Сортировка вставками
- •Сортировка пузырьком (обменом)
- •Сортировка выбором
- •Сортировка фон Неймана (слиянием)
- •Двумерные массивы
- •Обработка строк
- •Процедуры и функции
- •Рекурсия
- •Работа с графикой
- •Классы программного обеспечения
- •Компиляция и интерпретация
- •Текстовый редактор
- •Электронные таблицы
- •Системы управления базами данных (субд)
- •Пример решения экзаменационного билета
- •Контрольные работы
- •Контрольная работа №1
- •Контрольная работа № 2
- •Контрольная работа № 3
- •Контрольная работа № 4
- •Контрольная работа № 5
- •Библиографический список
Вычисление определенного интеграла методом трапеций
В научно-технических задачах часто возникает необходимость вычисления определенного интеграла вида
.
Согласно методу трапеций отрезок интегрирования [a, b] разбивается на n равных частей длины h = (b - a)/n. Обозначим точки разбиения x0 = a, x1 = x0 + h, ..., xi = x0 + ih, ... , xn = b.
Значения функции f в точках xi обозначим yi, т.е. yi = f(xi). Тогда согласно методу трапеций
.
Задача. Найдите значение определенного интеграла от функции на интервале [1; 4], количество разбиений n = 52.
Const n = 52;
a = 1;
b = 4;
Var y0, yn, x, S, h: real;
n, i: integer;
begin
h := (b-a)/n;
y0 := sqr(ln(a))/a;
yn := sqr(ln(b))/b;
S := (y0 + yn)/2;
for i:= 1 to n-1 do
begin
x := a + i*h;
S := S + sqr(ln(x))/x
end;
S := S*h;
writeln (‘интеграл равен ’, S)
end.
Случайные числа
Мы не можем заранее сказать, какая сторона монеты или игрального кубика окажется сверху, какую карту мы вытащим из колоды. Говорят, что результат такого эксперимента является случайным числом. Повторяя эксперимент много раз, можно получить последовательность случайных чисел. Интересно, что невозможно предвидеть значение нового члена ряда - он не зависит от предыдущих членов.
Случайные числа широко используются в задачах, моделирующих жизненные ситуации (игры, эпидемии заболеваний и др.). В Паскале реализован датчик или генератор псевдослучайных чисел. Числа, вырабатываемые при помощи приведенных ниже функций, называют псевдослучайными (“похожими” на случайные), поскольку это модель случайных чисел, иногда весьма приближенная.
Randomize - инициирует датчик
Random - генерирует случайные действительные числа из диапазона [0; 1)
Random (x) - генерирует случайные целые числа из диапазона [0; х).
Random (x) + random - генерирует случайное действительное число из диапазона [0; x);
Random (x) + random + y - генерирует случайное действительное число из диапазона [y; x + y);
Random (x) + random - y - генерирует случайное действительное число из диапазона [-y; x - y);
2 * x * Random - x - генерирует случайное действительное число из диапазона [-x; x).
Метод Монте-Карло (метод статистических испытаний)
Случайные числа широко используются для приближенного вычисления площади с помощью метода Монте-Карло. Суть метода очень проста. Пусть есть некоторая фигура, площадь которой необходимо вычислить. Размещаем эту фигуру внутри стандартного квадрата со сторонами, параллельными осям. Пусть про любую точку квадрата можно узнать попадает ли эта точка внутрь фигуры или нет. Тогда площадь может быть вычислена следующим образом: поделив количество точек, попавших внутрь фигуры, на количество всех точек, попавших в квадрат, можно узнать, какую часть площади квадрата занимает фигура, умножив это отношение на площадь квадрата, получим площадь фигуры. Ясно, что число точек, попавших внутрь фигуры, тем больше, чем больше фигура, а точность решения будет пропорциональна количеству точек в квадрате. Пара случайных чисел в этом методе может быть рассмотрена как координаты точки на плоскости.
Задача. Определите площадь круга с радиусом R=1.
Решение. Поместим этот круг в квадрат со стороной а = 2. Точка принадлежит квадрату, если - 1 х 1 и -1 y 1. Ecли x2 + y2 1, то точка попадает внутрь круга.
program task;
var n, m: integer; {n - общее кол-во точек, m - кол-во точек внутри круга}
x, y: real; {координаты точки}
begin
writeln (‘Задайте количество точек’);
readln (n);
Randomize;
m := 0;
for i := 1 to n do
begin
x := 2 * random - 1; y := 2 * random - 1;
if sqr (x) + sqr (y) <= 1 then m := m + 1;
end;
writeln (‘Площадь круга равна ’, 4 * m/n);
end.
Упражнения.
1. Имеется четыре коробки, в каждой из которых по 15 спичек. Номер коробки, из которой берется очередная спичка, определяется случайно. Сколько всего спичек будет сожжено, прежде чем одна коробка опустеет?
2. Напишите программу, моделирующую розыгрыш тиража “Спортлото”. Из 49 различных шаров должно выбираться случайным образом 6 шаров. Каждый номер в тираже встречается один раз, т.к. вынутый шар обратно не возвращается, т.е. программа должна генерировать 6 различных случайных чисел из диапазона от 1 до 49 и выводить их на экран.
3. Внесите изменения в программу из упражнения 2, чтобы программа моделировала розыгрыш тиража “Спортлото” 6 из 45 или 5 из 36.
4. Напишите программу моделирования гадания на ромашке.