Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Решение. Этап 1. Математическая часть





Этап 1. Математическая часть

Дано: Eps – точность. Условие остановки выражение: 2n/n!< e.

Найти: n – число шагов, u – результат возведения в степень.

Мы можем запрограммировать возведение в степень и вычисление факториала,

 

u = 1 'первый множитель

n = 0 'количество шагов

Range("C1:E20").Clear

Do Until (u < Eps) Or (n >= Limit)

n = n + 1

q = 1

For i = 1 To n

q = q * i

Next i

u = 2 ^ n / q 'очередной множитель

Cells(n, 4).Value = n

Cells(n, 5).Value = u

Loop

 

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

Обратим внимание, что

u1=2\1/1!,

u2=2\2/2!=2*2/(1*2)= u1*21/2,

u3=2\3/3!=22*2/(1*2*3)= и2*2/3 и т.д,

т.е. у нас возникает множитель 2/n, умноженный на значение предыдущего шага.

Нам необходимо учесть, что число шагов может быть невообразимо много, поэтому мы введет константу для ограничения шагов Limit = 100.

(!) Самостоятельно разработать алгоритм на естественном языке и составить блок-схему.

Этап 2. Ввод данных в таблицу Excel

В ячейку А1 вводится “Eps =”, В ячейку B1 – значение числа Eps.

Этап 3. Определение переменных

Константа Limit = 100 (тип Integer)

Вводятся: Eps (тип Single).

Промежуточные переменные: (счетчик цикла) u1 (тип Single) – значение на предыдущем шаге.

Выводятся (результат): u (тип Single) – результат возведения в степень, n (тип Integ) – количество шагов.

Этап 4. Написание процедуры

На рабочем листе Лист1 при помощи Элементов управления создать элемент Кнопка (СommandBatton1).

Навести курсор мыши на Кнопку в режиме конструктора (на панели Элементы управления нажата первая кнопка (линейка с треугольником)). Вызвать контекстное меню ПКМ Выбрать пункт Свойства ® закладку Alpabetic, в списке свойств выбрать Caption, справа в поле ввода удалить старое название и ввести новое название кнопки 2n/n < Eps.

Навести курсор на Кнопку в режиме конструктора. Вызвать контекстное меню ПКМ. Выбрать пункт Исходный текст. Автоматически попадаем в режим редактора VBA и появляется заголовок Процедуры-События:

 

Private Sub CommandButton1_Click()

Степень_двух

End Sub

 

Для создания новой процедуры (функции) необходимо набрать выполнить команду меню редактора VBA: Insert(Вставка)\Procedure(Процедура) ® в

открывшемся диалоговом окне рис.3 Add Procedure (Вставка процедуры) ® установить переключатель Sub(Подпрограмма) ® В окне Name(Имя) ® ”Степень_двух” ® OK. После выполнения этих действий в окне модуля появится заготовка подпрограммы (функции) (заголовок и окончание), между которыми нужно поместить код тела подпрограммы (функции).

 

Набирать процедуру на месте курсора:

Public Sub Степень_двух()

'Описание констант

Const Limit As Integer = 100

'Описание переменных

Dim Eps As Single

Dim u As Single

Dim u1 As Single

Dim n As Integer

'Ввод переменных

Eps = Range("b1").Value

'Задание начальных значений

u = 1 'первый множитель

n = 0 'количество шагов

Range("C1:E20").Clear

'Вычисление значений

Do Until (u < Eps) Or (n >= Limit)

Cells(n, 4).Value = n

u1 = u

u = u1 * 2 / n 'очередной множитель

n = n + 1

Cells(n - 1, 5).Value = u

Loop

 

'Вывод результатов

Range("A6:A7").Clear

If n >= Limit Then

Range("A7").Value = n & " шагов не хватило для достижния точночти."

End If

End Sub

 

Этап 5. Выполнение

Перейти на рабочий лист (View®Microsoft Excel или Alt+F11). Выйти из режима Конструктора, левой клавишей мыши (ЛКМ) нажать Кнопку. В ячейках D1:E6 появится результат.

Этап 6. Переименование листа

Навести курсор на закладку Лист1, правой клавишей мыши (ПКМ) вызвать контекстное меню, выбрать пункт Переименовать, удалить старое название листа и с клавиатуры набрать новое Eps2, нажать Enter.

 

Задачи для самостоятельной работы

Задача 12. Текущее среднее. Числа x1, x2, … последовательно поступают с устройства ввода. Все числа хранить в памяти нет необходимости; после ввода каждого числа нужно вычислить и напечатать среднее значение всех введенных чисел: .

 

Задача 13. Для заданных a и p вычислить по рекуррентному соотношению Ньютона:
; .
Сколько итераций надо выполнить для достижения заданной погрешности e, используя условие: ?

 

Задача 14. Проверить численно справедливость следующего разложения: и оценить скорость сходимости, найдя число слагаемых, необходимое для достижения заданной погрешности e. Примечение. Нам необходимо учесть, что число, возведенное в степень 0, равно 1, т.е. 20=1, и факториал 0!=1.

 

Задача 15. Для заданных значений n и x вычислить выражение: .

Лабораторная работа № ПР6 «Работа со строковыми переменными»

Цель работы: научиться работать со строковыми переменными типа String.

Теоретические сведения

Строковые переменные

Тип Хранимая информация Занимаемая память Интервалы значений
String (строка фиксированной длины) Текстовая информация (строка) 1 байт на каждый символ От 1 до 65400
String (строка переменной длины) Текстовая информация (строка) 10 байт + 1 байт па каждый символ От 0 до двух миллиардов символов

 

Функции преобразования типов

Примеры функций Значение
Val(Строка) Преобразует строку цифровых символов в число
CStr(Число) Преобразует числовое выражение или строку в строку
CInt(Выражение) Преобразует числовое выражение или строку в число типа Integer
Cvar(Выражение) Преобразует числовое выражение или строку в число типа Variant и др.

Функции обработки строк

Примеры функций Значение
Len(Строка$) Возвращает длину Строки$
Asc(Строковое выражение) Возвращает ASCII код первого символа в строковом выражении
Chr(asciiКодСимвола) Возвращает символ, соответствующий указанному коду ASCII
Mid(Строка$, Позиция& [, Длина&]) В Строке$ выделяется подстрока начиная с заданной Позиции& длины Длина$ (Длина$ - необязательный аргумент)
Left(Строка$, Длина&) В Строке$ выделяется левая подстрока Длиной&;
Right(Строка$, Длина&) В Строке$ выделяется правая подстрока Длиной&; и др.

Пример. Функция

Mid(«Иван Николаевич», 6, 3)

Возвращает «Ник».

Пример. Функции Chr(13) и Chr(10). 13 и 10 – это коды ASCII особых, невидимых символов, которые используются при выдаче или печати текста, – символа перехода на новую строку и символа возврата на левую сторону страницы (иначе, символ переноса и символ возврата каретки).

 

Задача 16 (работа со строковыми переменными). Написать программу, которая считает количество точек в строке. Строка вводится из ячейки MS Excel, код ASCII вводится с клавиатуры.







Дата добавления: 2015-08-12; просмотров: 479. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Studopedia.info - Студопедия - 2014-2025 год . (0.013 сек.) русская версия | украинская версия