Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Тема 4.6. Лабораторная работа



Тема 4.6. Лабораторная работа

«Программирование алгоритмов итеративных
циклических структур»

 

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

 

Вопросы, подлежащие изучению

1. Алгоритмы организации итеративных циклических структур: цикл с предусловием; цикл с постусловием.

2. Базовые алгоритмы, использующие итеративные циклические структуры: алгоритм вычисления суммы (или произведения) членов бесконечной последовательности; алгоритмы вычислений по итеративным формулам.

3. Оператор, реализующий выполнение итеративного цикла, Do/Loop и его основные конструкции: Do While…Loop; Do Until…Loop; Do...Loop While…; Do…Loop Until…; Do... Exit Do…Loop.

 

4.6.2. Задание

1. Выбрать вариант задания из таблицы 4.6-1 по усмотрению преподавателя.

2. Провести формализацию поставленной задачи.

3. Составить схему алгоритма решения поставленной задачи.

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

5. Написать программный код процедур пользователя в соответствии со схемами алгоритмов. Обмен данными между процедурами должен осуществляться через параметры, без использования глобальных переменных.

6. Написать программный код проекта. Событийная процедура должна содержать только операторы вызова пользовательских (общих) процедур.

7. Выполнить созданный проект.

8. Получить решение.

9. Обосновать правильность полученных результатов на заранее разработанных тестах.

 

4.6.3. Варианты задания

Таблица 4.6-1

1) Вычислить с точностью ε = 0.00001 константу Эйлера (основание натурального логарифма), воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью встроенной функции.
2) Вычислить и вывести те члены последовательности, значения которых больше ε = 0.001при x = 0.2.
3) Вычислитьarctg(x) с точностью ε = 0.0001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции при x=1.5.
4) Вычислить с точностью ε = 0.00001 значение функции при x = 2, воспользовавшись рекуррентной формулой: . Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
5) Вычислить константу  с точностью до ε = 0.00001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
6) Вычислить с точностью ε = 0.00001 значение функции при x = 2, воспользовавшись формулой: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции
7) Вычислить sin 0.5с точностью ε = 0.0001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
8) Вычислитьс точностью ε = 0.00001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
9) Вычислить cos 0.6 с точностью ε = 0.00001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
10) Вычислить с точностью ε = 0.0001 корень уравнения , воспользовавшись формулой: . Проверить правильность решения подстановкой найденного корня в уравнение.
11) Вычислить и вывести те члены последовательности, значения которых по модулю больше ε = 0.001 при x = 0.5.
12) Вычислить при |x|< 1 с точностью до ε = 0.0001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
13) Вычислить корень уравнения с точностью ε =0.0001, воспользовавшись итерационной формулой Проверить правильность решения подстановкой найденного корня в уравнение.
14) Вычислить значение с точностью ε = 0.00001, воспользовавшись представлением в виде в виде цепной дроби: Значение дроби равно пределу числовой последовательности, члены которой вычисляются по рекуррентной формуле до достижения заданной точности . Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
15) Вычислить и вывести те члены последовательности, значения которых по модулю больше ε = 0.001 при x = 0.3.
16) Вычислитьln(x) с точностью ε = 0.0001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции при x=1.5.
Вычислить sh 0.3 с точностью до ε = 0.00005, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью встроенной функции для вычисления ex, используя соотношение:
18) Вычислить корень уравнения x-0.5(sinx2-1)=0 с точностью ε = 0.001, воспользовавшись итерационной формулой: Проверить правильность решения подстановкой найденного корня в уравнение.
Вычислить ln(2) с точностью ε = 0.001, воспользовавшись представлением в виде ряда: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
20) Вычислить с точностью ε = 0.00001 корень уравнения воспользовавшись итерационной формулой Проверить правильность решения подстановкой.
21) Вычислить ch 0.7 с точностью до ε = 0.00005, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью встроенной функции , используя соотношение:
22) Вычислить приближенное значение бесконечной суммы с точностью ε =0, 0001 (справа от суммы дается выражение для проверки полученного результата): (для |x|< 1 сумма равна )
23) Вычислить при |x|> 1 с точностью до ε = 0.0001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
24) Вычислитьln(x+1) с точностью ε = 0.0001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции при x=0.5.
25) Вычислить и вывести те члены последовательности, , значения, которых больше ε = 0.01, при x = 0.6.
26) Найти наименьшее целое положительное n, при котором:
 
 

 

 

27) Пусть Дано действительное число e> 0. Найти первый член , для которого выполнено условие .
28) Вычислить приближенное значение бесконечной суммы с точностью ε =0, 0001 (справа от суммы дается ее точное значение, с которым можно сравнить полученный результат): p2/6-1.
29) Вычислить приближенное значение бесконечной суммы с точностью ε =0, 0001 (справа от суммы дается ее точное значение, с которым можно сравнить полученный результат): p/4
30) Вычислить приближенное значение бесконечной суммы с точностью ε =0, 0001 (справа от суммы дается ее точное значение, с которым можно сравнить полученный результат): 3/4.
31) Вычислить приближенное значение бесконечной суммы с точностью ε =0, 0001 (справа от суммы дается ее точное значение, с которым можно сравнить полученный результат): 1/4.
Вычислитьс точностью ε = 0.0001, воспользовавшись разложением в ряд: . Сравнить результат со значением, полученным с помощью соответствующей встроенной функции при x=0.5.
33) Даны действительные числа x, e (x≠ 0, e> 0). Вычислить с точностью e:
34) Даны действительные числа x, e (x0, e> 0).Вычислить с точностью e:
35) Дано действительное b< 0. Последовательность а1, а2, …образована по следующему закону: a1=b; ak=(ak-1+1)/(1-sin2k), k=2, 3, …. Найти первый неотрицательный член последовательности.

 

Содержание отчета

1. Тема и название работы.

2. Задание на разработку проекта и вариант задания.

3. Формализация задания.

4. Разработка приложения

4.1. Графический интерфейс пользователя;

4.2. Таблица свойств объектов;

4.3. Схемы алгоритмов решаемой задачи;

4.4. Программный код с использованием процедур.

5. Результаты выполнения проекта.

6. Доказательство правильности работы программы.

 

4.6.5. Пример выполнения задания-1

 

1. Тема и название работы

Программирование алгоритмов итеративных циклических структур – Вычисление с точностью ε =10-5 корня заданного уравнения.

2. Задание на разработку проекта и вариант задания

Создать проект Проект-4-6-1-Лаб для вычисления с точностью ε =10-5 корня уравнения f(x)=x3-2x2+x-3=0, воспользовавшись итерационной формулой

Проверить правильность решения подстановкой найденного корня в уравнение.

Составить схему алгоритма и написать программный код в соответствии с заданием. Если необходимо, предварительно провести формализацию.

3. Формализация и уточнения задания

Вычислим производную f’(x)=3x2-4x+1. Обозначим x – текущее приближение к корню, a – предыдущее приближение, f – значение функции f(x) для предыдущего значения, p – значение производной f'(x) для предыдущего значения, i – номер итерации, совпадающий с номером текущего приближения к корню уравнения, y – значение функции f(x) для найденного с заданной точностью корня уравнения.

Будем считать, что заданная точность ε обеспечена, если модуль разности между текущим и предыдущим значениями корня меньше точности ε, то есть для нашего случая |x-a|< ε.

Для решения поставленной задачи необходимо реализовать процедуру Sub Kop(), которая в качестве входных параметров получает начальное значение x0=2.2 и точность ε =10-5 , и возвращает найденный корень xl. Эта процедура для вычисления корня по заданной формуле должна использовать две процедуры Function: одна – Funy(), вычисляющая значение f(x), а другая – Fproiz()– значение производной этой функции f’(x). Заметим, что процедуруSub Kop()можно было оформить как Function, так как она возвращает только одно значение – вычисленный корень уравнения.

Разработка приложения

Установка свойств объектов

Свойства объектов управления разработанной формы должны быть приведены в таблице 4.6-2.

Таблица 4.6-2

Объект Свойство Значение свойства
Form1 Text Тема 4.6. Программирование алгоритмов итеративных циклических структур
Label1 Name Label1
Text Вычисление корня уравнения f(x)=x^3-2x^2+x-3=0
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 10 пунктов
Label2 Name Label2
Text E=
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов
Label3 Name Label3
Text X0=
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов
Label4 Name Label4
Text Итерация
ForeColor Черный
Font Microsoft Sans Serif, Обычный, 8 пунктов
Label5 Name Label5
Text Приближенный корень
ForeColor Черный
Font Microsoft Sans Serif, Обычный, 8 пунктов
Label6 Name Label6
Text Решение x= y=
ForeColor Черный
Font Arial, Жирный, 12 пунктов
TextBox1 Name TextBox1
Text
ForeColor Черный
Font Microsoft Sans Serif, Обычный, 8 пунктов
TextBox2 Name TextBox2
Text
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов
TextBox3 Name TextBox3
Text
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов
TextBox4 Name TextBox4  
Text  
ForeColor Черный  
Font Microsoft Sans Serif, Жирный, 8 пунктов  
ListBox1 Name ListBox1
Text
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов
ListBox2 Name ListBox2  
Text  
ForeColor Черный  
Font Microsoft Sans Serif, Жирный, 8 пунктов  
Button1 Name Button1
Text Выполнить
Button2 Name Button2
Text Конец

Разработка схемы алгоритма

Схема алгоритма нахождения корня уравнения представлена на рис. 4.6-2.

Рис. 4.6-2

Установка свойств объектов

Свойства объектов управления разработанной формы приведены в таблице 4.6-3.

 

Таблица 4.6-3

Объект Свойство Значение свойства
Form1 Text Тема 4.6. Пример 2.
Label1 Name Label1
Text E=
ForeColor Синий
Font Microsoft Sans Serif, Жирный, 8 пунктов
Label2 Name Label2
Text X=
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов
Label3 Name Label3
Text Задание:
ForeColor Красный
Font Microsoft Sans Serif, Жирный, 10 пунктов
Label4 Name Label4
Text Вычислить все члены, заданной последовательности, значения которых по модулю больше 0.0001
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов
TextBox1 Name TextBox1
Text
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 10 пунктов
TextBox2 Name TextBox2
Text
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов
ListBox1 Name ListBox1
Text
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов
ListBox2 Name ListBox2  
Text  
ForeColor Черный  
Font Microsoft Sans Serif, Жирный, 8 пунктов  
Button2 Name Button2
Text Вычислить значения
Button1 Name Button1
Text Стоп

Разработка схемы алгоритма

Схемы алгоритмов представлены на рис. 4.6-6.

Рис. 4.6-6

Тема 4.6. Лабораторная работа

«Программирование алгоритмов итеративных
циклических структур»

 

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

 

Вопросы, подлежащие изучению

1. Алгоритмы организации итеративных циклических структур: цикл с предусловием; цикл с постусловием.

2. Базовые алгоритмы, использующие итеративные циклические структуры: алгоритм вычисления суммы (или произведения) членов бесконечной последовательности; алгоритмы вычислений по итеративным формулам.

3. Оператор, реализующий выполнение итеративного цикла, Do/Loop и его основные конструкции: Do While…Loop; Do Until…Loop; Do...Loop While…; Do…Loop Until…; Do... Exit Do…Loop.

 

4.6.2. Задание

1. Выбрать вариант задания из таблицы 4.6-1 по усмотрению преподавателя.

2. Провести формализацию поставленной задачи.

3. Составить схему алгоритма решения поставленной задачи.

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

5. Написать программный код процедур пользователя в соответствии со схемами алгоритмов. Обмен данными между процедурами должен осуществляться через параметры, без использования глобальных переменных.

6. Написать программный код проекта. Событийная процедура должна содержать только операторы вызова пользовательских (общих) процедур.

7. Выполнить созданный проект.

8. Получить решение.

9. Обосновать правильность полученных результатов на заранее разработанных тестах.

 

4.6.3. Варианты задания

Таблица 4.6-1

1) Вычислить с точностью ε = 0.00001 константу Эйлера (основание натурального логарифма), воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью встроенной функции.
2) Вычислить и вывести те члены последовательности, значения которых больше ε = 0.001при x = 0.2.
3) Вычислитьarctg(x) с точностью ε = 0.0001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции при x=1.5.
4) Вычислить с точностью ε = 0.00001 значение функции при x = 2, воспользовавшись рекуррентной формулой: . Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
5) Вычислить константу  с точностью до ε = 0.00001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
6) Вычислить с точностью ε = 0.00001 значение функции при x = 2, воспользовавшись формулой: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции
7) Вычислить sin 0.5с точностью ε = 0.0001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
8) Вычислитьс точностью ε = 0.00001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
9) Вычислить cos 0.6 с точностью ε = 0.00001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
10) Вычислить с точностью ε = 0.0001 корень уравнения , воспользовавшись формулой: . Проверить правильность решения подстановкой найденного корня в уравнение.
11) Вычислить и вывести те члены последовательности, значения которых по модулю больше ε = 0.001 при x = 0.5.
12) Вычислить при |x|< 1 с точностью до ε = 0.0001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
13) Вычислить корень уравнения с точностью ε =0.0001, воспользовавшись итерационной формулой Проверить правильность решения подстановкой найденного корня в уравнение.
14) Вычислить значение с точностью ε = 0.00001, воспользовавшись представлением в виде в виде цепной дроби: Значение дроби равно пределу числовой последовательности, члены которой вычисляются по рекуррентной формуле до достижения заданной точности . Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
15) Вычислить и вывести те члены последовательности, значения которых по модулю больше ε = 0.001 при x = 0.3.
16) Вычислитьln(x) с точностью ε = 0.0001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции при x=1.5.
Вычислить sh 0.3 с точностью до ε = 0.00005, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью встроенной функции для вычисления ex, используя соотношение:
18) Вычислить корень уравнения x-0.5(sinx2-1)=0 с точностью ε = 0.001, воспользовавшись итерационной формулой: Проверить правильность решения подстановкой найденного корня в уравнение.
Вычислить ln(2) с точностью ε = 0.001, воспользовавшись представлением в виде ряда: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
20) Вычислить с точностью ε = 0.00001 корень уравнения воспользовавшись итерационной формулой Проверить правильность решения подстановкой.
21) Вычислить ch 0.7 с точностью до ε = 0.00005, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью встроенной функции , используя соотношение:
22) Вычислить приближенное значение бесконечной суммы с точностью ε =0, 0001 (справа от суммы дается выражение для проверки полученного результата): (для |x|< 1 сумма равна )
23) Вычислить при |x|> 1 с точностью до ε = 0.0001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
24) Вычислитьln(x+1) с точностью ε = 0.0001, воспользовавшись разложением в ряд: Сравнить результат со значением, полученным с помощью соответствующей встроенной функции при x=0.5.
25) Вычислить и вывести те члены последовательности, , значения, которых больше ε = 0.01, при x = 0.6.
26) Найти наименьшее целое положительное n, при котором:
 
 

 

 

27) Пусть Дано действительное число e> 0. Найти первый член , для которого выполнено условие .
28) Вычислить приближенное значение бесконечной суммы с точностью ε =0, 0001 (справа от суммы дается ее точное значение, с которым можно сравнить полученный результат): p2/6-1.
29) Вычислить приближенное значение бесконечной суммы с точностью ε =0, 0001 (справа от суммы дается ее точное значение, с которым можно сравнить полученный результат): p/4
30) Вычислить приближенное значение бесконечной суммы с точностью ε =0, 0001 (справа от суммы дается ее точное значение, с которым можно сравнить полученный результат): 3/4.
31) Вычислить приближенное значение бесконечной суммы с точностью ε =0, 0001 (справа от суммы дается ее точное значение, с которым можно сравнить полученный результат): 1/4.
Вычислитьс точностью ε = 0.0001, воспользовавшись разложением в ряд: . Сравнить результат со значением, полученным с помощью соответствующей встроенной функции при x=0.5.
33) Даны действительные числа x, e (x≠ 0, e> 0). Вычислить с точностью e:
34) Даны действительные числа x, e (x0, e> 0).Вычислить с точностью e:
35) Дано действительное b< 0. Последовательность а1, а2, …образована по следующему закону: a1=b; ak=(ak-1+1)/(1-sin2k), k=2, 3, …. Найти первый неотрицательный член последовательности.

 

Содержание отчета

1. Тема и название работы.

2. Задание на разработку проекта и вариант задания.

3. Формализация задания.

4. Разработка приложения

4.1. Графический интерфейс пользователя;

4.2. Таблица свойств объектов;

4.3. Схемы алгоритмов решаемой задачи;

4.4. Программный код с использованием процедур.

5. Результаты выполнения проекта.

6. Доказательство правильности работы программы.

 

4.6.5. Пример выполнения задания-1

 

1. Тема и название работы

Программирование алгоритмов итеративных циклических структур – Вычисление с точностью ε =10-5 корня заданного уравнения.

2. Задание на разработку проекта и вариант задания

Создать проект Проект-4-6-1-Лаб для вычисления с точностью ε =10-5 корня уравнения f(x)=x3-2x2+x-3=0, воспользовавшись итерационной формулой

Проверить правильность решения подстановкой найденного корня в уравнение.

Составить схему алгоритма и написать программный код в соответствии с заданием. Если необходимо, предварительно провести формализацию.

3. Формализация и уточнения задания

Вычислим производную f’(x)=3x2-4x+1. Обозначим x – текущее приближение к корню, a – предыдущее приближение, f – значение функции f(x) для предыдущего значения, p – значение производной f'(x) для предыдущего значения, i – номер итерации, совпадающий с номером текущего приближения к корню уравнения, y – значение функции f(x) для найденного с заданной точностью корня уравнения.

Будем считать, что заданная точность ε обеспечена, если модуль разности между текущим и предыдущим значениями корня меньше точности ε, то есть для нашего случая |x-a|< ε.

Для решения поставленной задачи необходимо реализовать процедуру Sub Kop(), которая в качестве входных параметров получает начальное значение x0=2.2 и точность ε =10-5 , и возвращает найденный корень xl. Эта процедура для вычисления корня по заданной формуле должна использовать две процедуры Function: одна – Funy(), вычисляющая значение f(x), а другая – Fproiz()– значение производной этой функции f’(x). Заметим, что процедуруSub Kop()можно было оформить как Function, так как она возвращает только одно значение – вычисленный корень уравнения.

Разработка приложения


Поделиться:



Популярное:

  1. III. Интегральная математическая модель расчета газообмена в здании, при пожаре
  2. IV. Математическая двухзонная модель пожара в здании
  3. LANGUAGE IN USE - Повторение грамматики: система времен английских глаголов в активном залоге
  4. Linux - это операционная система, в основе которой лежит лежит ядро, разработанное Линусом Торвальдсом (Linus Torvalds).
  5. SWIFT как система передачи данных.
  6. VI. Приемно-комплексная система
  7. Автоматическая система сепарирования Алькап. Назначение, принцип действия.
  8. Авторская технология преподавания математики «Учителя года-98» В.Л. Ильина
  9. Адамс Б. Эффективное управление персоналом: Сделайте так, чтобы ваши служащие работали с максимальной отдачей, - М: АСТ Астрель, 2008. – 367 с.
  10. Административная итоговая контрольная работа по окружающему миру за 1 класс
  11. Адресно-аналоговая система пожарной сигнализации
  12. Англо-американская правовая система


Последнее изменение этой страницы: 2016-05-03; Просмотров: 1067; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.078 с.)
Главная | Случайная страница | Обратная связь