Студопедия — Решение. Этап 1. Математическая часть
Студопедия Главная Случайная страница Обратная связь

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

Решение. Этап 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; просмотров: 454. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

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

Что происходит при встрече с близнецовым пламенем   Если встреча с родственной душой может произойти достаточно спокойно – то встреча с близнецовым пламенем всегда подобна вспышке...

РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

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