Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Документ'
По мнению многих авторитетных зарубежных специалистов, культура имеет значение и оказывает влияние на социально-экономическое развитие. Ценности, доми...полностью>>
'Документ'
Приглашаем Вас принять участие в международной научно-технической конференции молодых ученых «Современные проблемы и перспективы рационального лесопол...полностью>>
'Рабочая программа'
Рабочая программа по технологии, составлена на основе федерального государственного образовательного стандарта, учебного плана, примерной программы ос...полностью>>
'Документ'
В мире существует огромное количество профессий, они охватывают различные сферы человеческой деятельности и постоянно изменяются с развитием общества....полностью>>

Главная > Контрольные вопросы

Сохрани ссылку в одной из сетей:
Информация о документе
Дата добавления:
Размер:
Доступные форматы для скачивания:

Практическая работа

Тема: Организация циклов в VBA

Цель: Освоить технологию реализации циклических алгоритмов в VBA

Задачи

  1. Изучение теоретического материала

  2. Привитие навыков самостоятельной работы с электронными материалами

Задания

  1. Изучить предложенный материал

  2. Ответить в конспекте на контрольные вопросы

  3. Выполнить индивидуальные задания

Контрольные вопросы

  1. Что такое цикл?

  2. Синтаксис оператора WHILE? В каких случаях удобно использовать этот оператор?

  3. Синтаксис оператора Do Loop. Отличие операторов Do While – Loop и Do Until – Loop. Отличие операторов Do – Loop While и Do – Loop Until

  4. Синтаксис оператора цикла с параметром. В каких случаях удобно использовать оператор FOR?

Организация циклов

Циклический процесс – это процесс, в котором один оператор или группа операторов выполняются многократно при различных значениях аргумента.

Оператор цикла While – Wend (цикл-пока)

Оператор цикла While – Wend используется для организации цикла с неизвестным заранее числом шагов.

While Условие

Блок операторов

Wend

Цикл While – Wend обеспечивает многократное выполнение блока операторов, пока условие принимает значение True (истина).

Пример 1

Вычислить значение функции Y при X изменяющемся от –10 до 10 с шагом 2.

Программный код

Option Explicit

Sub PR9()

Dim X As Integer

Dim Y As Double

X = –10

While X <= 10

If X <> 2 Then

Y = 1 / (X – 2) + X

MsgBox ("Y=" & Y)

End If

X = X + 2

Wend

End Sub

Пример 2

Задан натуральный ряд чисел. Вычислить сумму четных чисел данного ряда.

Программный код

Option Explicit

Sub PR10()

Dim N As Integer, I As Integer

Dim S As Double

N = Val(InputBox("Введите N"))

I = 2 : S = 0

While I <= N

S = S + I

I = I + 2

Wend

End Sub

Пример 3

Вкладчик положил на счет 1000 рублей. Через сколько дней вклад достигнет 20000 рублей, если начисляемый процент 0,6 % в день.

Ответ: 500 дней.

Программный код

Option Explicit

Sub PR11()

Dim V As Double

Dim Pr As Double

Dim Kol As Integer

V = Val(InputBox("Введите начальный взнос"))

Kol = 0

While V <= 20000

Pr = V * 0.6 / 100

V = V + Pr

Kol = Kol + 1

Wend

MsgBox ("20000 руб. вклад достигнет за " & Kol & " дней")

End Sub

Практическая работа № 3

В 1

  1. Задано число N неизвестной разрядности. Вычислить, сколько цифр (разрядов) в этом числе.

  2. Вычислить сумму членов геометрической прогрессии до тех пор, пока она не превысит заданное число x . b1=1, q=2, bn=bn–1*q, Sn=Sn–1+bn.

В 2

  1. Вычислить и вывести на экран члены арифметической прогрессии до тех пор, пока они не превышают заданное число N. a1=2,5, d – задается с клавиатуры.

  2. Вычислить и вывести на экран значения функции

y=x3+, при 1x4, шаг h=0,5, р – любое число.

В 3

  1. Найти среди членов последовательности а, a+n, a+2*n, …, первое число, большее заданного числа х ( а, n – любые).

  2. Составить программу, которая будет запрашивать числа до тех пор, пока не будет введено первое число, кратное 7, и вычислить сумму введенных чисел.

В 4

  1. Вычислить и вывести на экран значения функции

, шаг h=0,4, p – любое число.

  1. Составить программу, вычисляющую произведение натуральных чисел, начиная с 1, до тех пор, пока оно не превысит некоторое заданное число.

В 5

  1. Составить программу, запрашивающую числа с клавиатуры до тех пор, пока не будет введено первое отрицательное число, и вычислить количество введенных чисел.

  2. Вычислить сумму бесконечного ряда:

1/sin1+1/(sin1+sin2)+…+1/(sin 1+…+sin n)+…

c точностью до члена ряда, меньшего заданного числа.

В 6

  1. Составить программу, позволяющую вводить целые числа до тех пор, пока не будет введено число –7.

  2. Вычислить произведение всех натуральных четных чисел, не превосходящих заданного числа х.

В 7

  1. Составить программу, вычисляющую сумму членов арифметической прогрессии до тех пор, пока она не окажется числом, кратным 5.

а1=2, d – задается с клавиатуры.

  1. Вычислить и вывести на экран значения функции

y=p*(1-e-x+p) , при , шаг h=0,4, p – любое число.

В 8

  1. Составить программу, позволяющую вводить целые числа до тех пор, пока не встретится первое отрицательное число, кратное 3.

  2. Вычислить сумму всех натуральных нечетных чисел, меньших заданного числа n.

В 9

  1. Вычислить сумму натуральных чисел, начиная с 1, до тех пор, пока она не превысит значение некоторого заданного числа.

  2. Вычислить и вывести на экран значения функции

y=sinx на отрезке [0;1], шаг h=0,1.

В 10

  1. Найти среди чисел последовательности 1, 1+1/2, 1+1/2+1/3, …, самое первое число, превосходящее заданное число а.

  2. Составить программу, позволяющую вводить с клавиатуры целые числа до тех пор, пока не будет введено число –38, и вычисляющую произведение введенных чисел.

В 11

  1. Дано натуральное число. Найти количество цифр данного числа, больших некоторого А.

  2. Дано натуральное число n. Получить наименьшее число вида 2к, превосходящее n.

В 12

  1. Определить, есть ли в заданном натуральном числе цифра N.

  2. Не используя стандартных функций, отделить целую часть введённого с клавиатуры вещественного десятичного числа от дробной.

Оператор цикла Do – Loop (универсальный цикл)

В VBA для организации циклов с неизвестным заранее числом шагов используются и другие операторы циклов:

Do While Условие

Блок операторов

Loop

Do Until Условие

Блок операторов

Loop

Do

Блок операторов

Loop While Условие

4.

Do

Блок операторов

Loop Until Условие

Оператор Do WhileLoop обеспечивает многократное выполнение блока операторов до тех пор, пока условие истинно, а оператор Do UntilLoop – пока условие ложно.

Операторы DoLoop While и DoLoop Until отличаются от первых двух операторов тем, что сначала выполняется блок операторов, а затем проверяется условие. Таким образом, в этих циклах блок операторов, составляющих тело цикла, выполнится по крайней мере один раз.

Приведем пример использования цикла DoLoop While при нахождении корня уравнения f(x) = 0 методом Ньютона.

Для нахождения приближенного значения корня уравнения методом Ньютона необходимо задать начальное приближение х0, а затем определить последующие приближения к корню методом итерации по формуле

f(xn-1)

x
n = xn -1 – , где n = 1, 2,…

f’(xn-1)

Процесс останавливается при выполнении неравенства |xn-xn-1|  e, где e – точность определения корня.

Уравнение x2 = 2, начальное приближение к корню – число 3, точность вычисления 0,00001. Ответ: х = 1,414207.

Программный код

Option Explicit

Sub PR12()

Const eps = 0.00001

Dim x0 As Double, x As Double

x = 3

Do

x0 = x

x = x - (x ^ 2 - 2) / (2 * x)

Loop While Abs(x - x0) > eps

MsgBox ("корень уравнения=" & x)

End Sub

Примером использования цикла DoLoop Until может служить программа нахождения корня уравнения f(x) = 0 методом деления отрезка пополам.

Вычислим корень уравнения x2 = 2 с точностью до e = 0,00001. За отрезок начальной локализации корня берется отрезок [0; 2].

Ответ: х = 1,414207.

Программный код

Option Explicit

Sub PR13()

Dim c As Double, f As Double

Dim fa As Double, fb As Double, fc As Double

Dim a As Double, b As Double, eps As Double, bh As Double

a = 0: b = 2: eps = 0.00001

fa = a ^ 2 - 2

fb = b ^ 2 - 2

If fa * fb >= 0 Then

MsgBox ("Функция не меняет знак на концах отрезка")

Exit Sub ‘ выход из процедуры

End If

Do

c = (a + b) / 2

fc = c ^ 2 - 2

fa = a ^ 2 - 2

f = fc * fa

If f < 0 Then b = c Else a = c

Loop Until b - a < eps

bh = c

MsgBox ("значение корня=" & bh)

End Sub

Практическая работа № 4

В 1

  1. Дано натуральное число А. Найти сумму цифр этого числа.

  2. Дано натуральное число N и последовательность чисел

Вычислить сумму членов последовательности, больших заданного числа N.

В 2

  1. Дано натуральное число А. Найти произведение цифр этого числа.

  2. Дано натуральное число N и последовательность чисел

Вычислить произведение членов последовательности, больших заданного числа N.

В 3

  1. Дано натуральное число А. Найти количество цифр этого числа.

  2. Дано натуральное число N и последовательность чисел

Вычислить количество членов последовательности, не превосходящих заданного числа N.

В 4

  1. Дано натуральное число А. Найти количество нечетных цифр этого числа.

  2. Дано натуральное число N и последовательность чисел

–2, 2, 6, 10, …

Вычислить сумму членов последовательности, меньших заданного числа N.

В 5

  1. Дано натуральное число А. Определить, сколько раз в нем встречается цифра 5.

  2. Дано натуральное число N и последовательность чисел

-1, 2, 5, 8, 11, …

Вычислить произведение членов последовательности, меньших заданного числа N.

В 6

  1. Дано натуральное число А. Найти количество цифр данного числа, больших В.

  2. Дано натуральное число N и последовательность чисел

1, 4, 7, 10, …

Вычислить количество членов последовательности, меньших заданного числа N.

В 7

  1. Дано натуральное число А. Найти сумму цифр, кратных 5.

  2. Дано натуральное число N и последовательность чисел

-5, -2, 1, 4, …

Вычислить сумму членов последовательности, меньших заданного числа N.

В 8

  1. Дано натуральное число А. Найти произведение четных цифр этого числа.

  2. Дано натуральное число N и последовательность чисел

-1, 1, 3, 5, …

Вычислить произведение членов последовательности, меньших заданного числа N.

В 9

  1. Дано натуральное число А. Найти сумму цифр данного числа, принадлежащих интервалу (3; 7).

  2. Дано натуральное число N и последовательность чисел

-2, -1, 0, 1, 2, …

Вычислить количество членов последовательности, меньших заданного числа N.

В 10

  1. Дано натуральное число А. Найти произведение цифр этого числа, меньших К.

  2. Дано натуральное число N и последовательность чисел

-3, 1, 5, 9, …

Вычислить сумму членов последовательности, меньших заданного числа N.

В 11

  1. Одноклеточная амёба каждые 3 часа делится на 2 клетки. Определить сколько амёб будет через 3, 6, 9, …24 часа.

  2. Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней?

В 12

  1. Определить, равны ли первая и последняя цифры натурального числа.

  2. Найти сумму ряда с точностью ε=10-3, общий член которого

Оператор цикла с параметром For – Next

For Счетчик = Начальное значение To Конечное значение Step Шаг

Блок операторов

Next Счетчик

Цикл ForNext обеспечивает многократное выполнение блока операторов при последовательном изменении счетчика от начального до конечного значения с указанным шагом изменения.

Если Step Шаг в конструкции отсутствует, то по умолчанию считается, что шаг равен 1.

Пример 1

Задано натуральное число n. Вычислить n! (факториал n).

Напомним, что n! = 1234…n.

Например, 5! = 12345 = 120.

Программный код

Option Explicit

Sub PR7()

Dim n As Integer

Dim F As Double

Dim i As Integer

n = Val(InputBox("Введите n"))

F = 1

For i = 1 To n

F = F * i

Next i

MsgBox ("Факториал числа " & n & "=" & F)

End Sub

Пример 2

Вычислить y=Sin0.1+Sin0.2+Sin0.3+…+Sin10

Программный код

Option Explicit

Sub PR8()

Dim x As Double, y As Double

y = 0

For x = 0.1 To 10 Step 0.1

y = y + Sin(x)

Next x

MsgBox ("Сумма=" & y)

End Sub

Практическая работа № 5

В 1

  1. Дано целое число А. Найти сумму целых чисел из промежутка от 1 до А.

  2. Среди всех двузначных чисел выбрать и вывести те, которые делятся на 3

В 2

  1. Найти произведение целых чисел, больших 10 и меньших 20.

  2. Среди всех трехзначных чисел выбрать и вывести те, которые заканчиваются на цифру К.

В 3

  1. Дано целое число В. Найти сумму целых чисел, больших 10 и меньших В.

  2. Среди всех двузначных чисел выбрать и вывести только кратные 8.

В 4

  1. Даны целые числа А и В. Найти произведение целых чисел из промежутка от А до В.

  2. Среди всех трехзначных чисел выбрать и вывести те, которые заканчиваются на цифру 7.

В 5

  1. Дано целое число М. Найти сумму целых чисел из промежутка от М до 30.

  2. Среди всех натуральных чисел, меньших 100, выбрать и вывести только кратные 4.

В 6

  1. Дано целое число К. Найти произведение целых чисел, больших 3 и меньших К.

  2. Среди всех трехзначных чисел выбрать и вывести те, которые делятся на 6.

В 7

  1. Даны целые числа M и N. Найти сумму целых чисел из промежутка от M до N.

  2. Среди всех целых чисел от 100 до 300 выбрать и вывести те, которые заканчиваются на цифру 3.

В 8

  1. Найти сумму целых чисел из промежутка от 4 до 30.

  2. Среди всех натуральных чисел, меньших 200, выбрать и вывести те, которые заканчиваются на цифру А.

В 9

  1. Дано целое число К. Найти произведение целых чисел, больших К и меньших 25.

  2. Среди всех двузначных чисел выбрать и вывести те, которые делятся на 7.

В 10

  1. Дано целое число В. Найти произведение целых чисел из промежутка от 5 до В.

  2. Среди всех целых трехзначных чисел выбрать и вывести те, которые кратны 9.

В 11

  1. Вывести все двухзначные числа, сумма цифр которых равна их произведению.

  2. Найти сумму целых чисел, кратных 4 и меньших 1000.

В 12

  1. Напечатать те из двузначных чисел, которые делятся на 4, но не делятся на 6.

  2. Из чисел диапазона от 20 до 50. Напечатать те из них, которые делятся на 3, но не делятся на 5.

В 13

  1. Дано натуральное число n. Найти все делители этого числа, которые делятся на 3.

  2. Для всех целых чисел от 0 до 99 выбрать и вывести на экран такие, сумма цифр которых равна заданному с клавиатуры числу

Практическая работа № 6

В 1

  1. Вычислить сумму n первых членов геометрической прогрессии: b1=1, q=2, bn=bn–1*q, Sn=Sn–1+bn.

  2. Вычислить кубы целых чисел от1 до 20.

В 2

  1. Вычислить сумму n первых натуральных чисел.

  2. Вывести на экран n первых членов арифметической прогрессии и вычислить их сумму: а1=2, d= –2, an=an–1+d, Sn=Sn–1+an.

В 3

  1. Составить программу, которая запрашивает последовательно 10 целых чисел и вычисляет их сумму.

  2. Вычислить произведение n первых натуральных чисел.

В 4

  1. Вычислить среднее арифметическое первых десяти натуральных чисел.

  2. Вывести на экран n первых членов геометрической прогрессии и вычислить их сумму: b1=2, q=3, bn=bn–1*q, Sn=Sn–1+bn

В 5

  1. Составить программу, которая запрашивает последовательно 10 целых чисел, и вычисляет их произведение.

  2. Вычислить сумму первых 10 целых чисел, начиная с n.

В 6

  1. Составить программу, которая запрашивает n целых чисел и вычисляет их среднее арифметическое.

  2. Вычислить сумму ряда (n – задается с клавиатуры)

В 7

  1. Вычислить сумму квадратов n первых натуральных чисел (n вводится с клавиатуры).

  2. Вычислить сумму n первых членов арифметической прогрессии: а1=1, d=2, an=an–1+d, Sn=Sn–1+an.

В 8

  1. Вычислить сумму 10 первых членов арифметической прогрессии: а1=1, d=4, an=an–1+d, Sn=Sn-1+an.

  2. Вычислить произведение первых 5 целых чисел, начиная с n.

В 9

  1. Вычислить сумму девяти первых членов геометрической прогрессии: b1=1, q=1/2, bn=bn–1*q, Sn=Sn–1+bn.

  2. Вычислить произведение первых 10 натуральных чисел.

В 10

  1. Дано натуральное число n. Вычислить: 1/sin 1+ 1/ sin 2+ …+1/sin n.

  2. Дано натуральное число n. Вычислить: (1+1/12)*(1+1/22)*…*(1+1/n2).

В 11

  1. Даны вещественное число а и натуральное число n. Вычислить:

an

  1. Даны вещественное число а и натуральное число n. Вычислить:

а*(а-n)*(a-2n)*…*(a-n*n).

В 12

  1. Составить программу, которая печатает таблицу умножения на 5.

  2. Вычислить sinx+sinx2+sin x3+…+sin xn.

В 13

  1. Вычислить и вывести на экран m чисел, вычисляемых по формуле: , где m = 0, 1, …, 7.

  2. Вычислить сумму слагаемых, вычисляемых по формуле:

k2/(3*k+1), где k = 0, 1, 2, …, 8.

В 14

  1. Вычислить 1/ sin1 + 1/(sin1 + sin2) +…+ 1/(sin1 +…+ sin n).

  2. Дано натуральное число n. Найти все делители этого числа.

Практическая работа № 7

В 1

Вычислить и вывести на экран таблицу значений функции

, при –1x1, dx = 0,2.

В 2

Вычислить и вывести на экран таблицу значений функции

.

В 3

Вычислить и вывести на экран таблицу значений функции

.

В 4

Вычислить и вывести на экран таблицу значений функции

.

В 5

Вычислить и вывести на экран таблицу значений функции

.

В 6

Вычислить и вывести на экран таблицу значений функции

.

В 7

Вычислить и вывести на экран таблицу значений функции

.

В 8

Вычислить и вывести на экран таблицу значений функции

.

В 9

Вычислить и вывести на экран таблицу значений функции

.

В 10

Вычислить и вывести на экран таблицу значений функции

.

В 11

Вычислить и вывести на экран таблицу значений функции

, при -2π

В 12

Вычислить и вывести на экран таблицу значений функции

, при 0



Похожие документы:

  1. Темы курсовых работ на 2009-2010 учебный год Морозов Евсей Викторович, д ф. м н., профессор

    Документ
    ... участника документооборота организации. Тип работы: практически-значимая Бурлак И.Л. Тема: Разработка ... для пакета на VBA. 3 курс БИ Тема: Метрики разработки программного ... , спрашивайте. 2, 3, 4 курсы ПМиИ Тема: Циклы на шахматной доске Задача подсчёта ...
  2. Темы для конкурсного теоретического задания(тест) Гостиничный бизнес России в прошлом и на современном этапе

    Конкурс
    ТЕМЫ ДЛЯ КОНКУРСНОГО ТЕОРЕТИЧЕСКОГО ЗАДАНИЯ( ... VIP –гостей. Способы оплаты в гостиницах. Порядок возврата денежных сумм гостю. Организация ... . Организация работы предприятия. Менеджмент :сущность и характерные черты. Процесс управления. Цикл менеджмента ...
  3. Тема Основы логического программирования >

    Документ
    ... же мы изучили в этой теме Тема 5. Повторы (циклы) и рекурсия (Repetition and Recursion ... Рассмотрим следующий пример, где для организации повторов используется бэктрекинг Программа 5.1. ... Прологу (англ.). Система Help, VIP\DOC\LANG…, 1999 г Экспертные ...
  4. Темы анализа и типы факторов 45 Этапы ситуационного анализа 47

    Программа
    ... информационным противо­борством, необходимо осуществить цикл исследований «теория — методология — ... все именно для вашего VIP-бюллетеня. Не стоит ... противоборстве и т. д. Тем самым, обеспечива­ется гибкость организации в информационной войне. Про ...
  5. Голицына О. Л., Партыка Т. Л., Попов И. И. Системы управления базами данных: Учеб пособие

    Документ
    ... в пределах соответствующих интервалов. Тем не менее неизбежны случаи ... for Windows и Visual FoxPro (VFP). 3.1. Основные возможности системы ... основные   конструкции,    используемые   для   организации циклов. В чем заключается различие операторов if ...

Другие похожие документы..