Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практикум

.pdf
Скачиваний:
49
Добавлен:
19.04.2015
Размер:
850.06 Кб
Скачать

Задание 6.5.

Разработать модули для перевода числа из десятичной системы счисления в систему счисления с основанием p (2 p 16) и наоборот.

Число в десятичной системе счисления должно хранится в виде числа, в системе счисления с основанием p – в виде строки.

При переводе числа из системы счисления с основанием p проверять корректность исходных данных.

Пример такого перевода приведен ниже.

 

A

B

 

 

 

 

 

 

1

Число

145

 

 

2

Основание СС

2

 

Перевести

3

Число в СС р

10010001

 

 

4

 

 

 

 

5

Число в СС р

10010001

 

 

6

Основание СС

2

 

Перевести

7

Число

145

 

 

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

PDF created with pdfFactory Pro trial version www.pdffactory.com

Задание 6.6.

Табулирование функции и построение ее графика.

Разработать модули, которые на основании информации, находящейся на рабочем листе, вычисляют таблицу значений функции и строят ее график. График функции должен размещаться на отдельном листе диаграмм.

Перед обращением к функции в ячейках рабочего листа находится следующая информация:

B1 значение параметра a;

B2 значение параметра b;

B3 значение параметра n (n<=100);

B4 формула (текст), записанная по правилам Excel, в которой вместо независимой переменной x находится символ &.

Функция должна быть вычислена на отрезке [a,b] в узлах сетки:

xi=a+i*h,

i= 0, 1, … , n,

где h=(b-a)/n.

На рабочем листе разместить кнопки «Вычислить» и «График», которые вызывают соответствующие модули.

Перед началом своей работы модули должны удалять «старые» расчетные данные и диаграмму (если она уже была построена ранее).

PDF created with pdfFactory Pro trial version www.pdffactory.com

Задание 6.7. Решение уравнений

Разработать модули для приближенного решения уравнения f(x)=0 итерационными методами дихотомии и Ньютона.

Метод дихотомии. Пусть задана функция, отрезок [a;b], на концах которого функция принимает значения разного знака и ε точность, с которой необходимо найти корень.

Описание метода приведено в задании 2.20.

Итерационная процедура продолжается, пока ∆ не станет меньше, чем заданная величина ε. В качестве корня выбирается значение с. Подсчитать и вывести n – количество выполненных итераций.

Перед началом итерационной процедуры выполнить проверку на выполнение условия f(a)*f(b) < 0. В случае невыполнения этого условия вывести соответствующее сообщение в окне диалога.

Метод Ньютона. Пусть задано уравнение f(x)=0, начальное приближение корня x0 и ε точность, с которой необходимо найти корень. На каждом итерационном шаге вычисляется новое приближение xi+1 по формуле, которая приведена в задании 2.20.

Итерационная процедура продолжается, пока не будет выполнено условие: |xi+1- xi| ≤∆ . Подсчитать и вывести n – количество выполненных итераций.

Вариант 1. Функция задается функцией VBA. Недостаток такого метода: для изменения функции требуется редактировать программный модуль.

Вариант 2. Функция задается строкой, в которой записана формула по правилам Excel с знаком & вместо независимой переменной x.

PDF created with pdfFactory Pro trial version www.pdffactory.com

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

 

A

B

1

f(&)=

&^2+sin(&)-0,5

2

a=

0

3

b=

2

4

ε=

0,00001

5

x=

?

6

n=

?

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

Сравнить работу этих двух методов по количеству итераций и значениям функции в найденных точках.

Задание 6.8. Численное интегрирование

Разработать модули для численного интегрирования методом трапеций и методом Симпсона.

Постановка задачи. Пусть требуется вычислить определенный интеграл:

b

S = ò f (x) dx , где функция f (x) непрерывна на отрезке [a;b].

a

Методы трапеций и Симпсона приближенного вычисления определенного интеграла (численного интегрирования) основываются на разбиении интервала [a;b] на n достаточно малых отрезков и замене на каждом из них интеграла на его приближенное значение.

Обозначим через xi точки, полученные на отрезке [a;b] после его разбиения на n равных частей:

xi=a+i*h,

fi = f(xi),

i=0,1,…,n,

h=(b-a)/n.

Метод

трапеций. Заменим функцию на отрезке [xi;xi+1]

многочленом

первой степени.

Окончательная

формула численного

интегрирования имеет вид:

SТ = h*(f0/2 + f1 + f2 +…+ fn-1 + fn/2).

PDF created with pdfFactory Pro trial version www.pdffactory.com

Метод Симпсона. В методе Симпсона n выбирают четным. Функция на отрезке [xi-1;xi+1] (i = 1,2,…n-1) заменяется трапецией. Формула численного интегрирования методом Симпсона имеет вид:

SС = h*(f0 + 4*f1 + 2*f2 + 4*f3 +…+ 2*fn-2 + 4*fn-1 + fn)/3.

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

Вариант 1. Функция задается функцией VBA. Недостаток такого метода: для изменения функции требуется редактировать программный модуль.

Вариант 2. Функция задается строкой, в которой записана формула по правилам Excel с знаком & вместо независимой переменной x.

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

 

A

B

 

1

f(&)=

&^2+sin(&)-0,5

 

2

a=

0

 

3

b=

2

 

4

n=

10

20

5

ST=

?

?

6

SC=

?

?

7

=

?

?

Уравнение и границы отрезка получить у преподавателя.

Сравнить работу этих двух методов по отклонению ∆ от точного значения интеграла.

PDF created with pdfFactory Pro trial version www.pdffactory.com

Задание 6.9.

Разработать приложение, позволяющее средствами диалогового окна (формы) заполнять в MS Excel «базу данных» регистрации клиентов гостиницы.

Дата

 

Фамилия

Пол

Номер

Завтрак

Дней

Сумма

2.05.04

 

Иванов

М

одноместный

нет

10

 

11.05.04

 

Петрова

Ж

двухместный

да

14

 

В форме заполняется:

 

 

 

 

Дата

 

по умолчанию текущая дата

 

 

Фамилия

вводится в поле ввода

 

 

 

Пол

 

переключатель

 

 

 

Номер

поле со списком (люкс, одноместный двухместный);

Завтрак

флажок

 

 

 

 

Дней

 

счетчик

 

 

 

 

Показатель «Сумма» должен рассчитываться исходя из:

количества дней;

категории номера:

люкс

– 60$ за день,

одноместный

– 40$ за день,

двухместный

– 20$ за день;

предоставление завтраков – 2$ в день.

Форма должна содержать кнопки

"ОК" (эквивалентная клавиша Enter), "Отмена" (эквивалентная клавиша Esc).

PDF created with pdfFactory Pro trial version www.pdffactory.com

Задание 6.10.

Модифицировать Задание 6.9 следующим образом.

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

Форма должна предоставлять возможность просмотра (кнопки "Вперед", "Назад") и изменения уже имеющихся записей в базе данных (в том числе, удаление записей).

Задание 6.11.

Модифицировать Задание 6.10, добавив функцию поиска клиента по первым введенным символам его фамилии. Добавить функцию фильтрации записей (отображения в форме) по типу номера (люкс, одноместный двухместный). На форме должны находиться кнопки «Установить фильтр» и «Снять фильтр».

PDF created with pdfFactory Pro trial version www.pdffactory.com