русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Как выбрать, какой из циклов использовать в программе?


Дата добавления: 2015-06-12; просмотров: 579; Нарушение авторских прав


Ниже приведены основные правила, помогающие выбрать наиболее подходящий из этих операторов:

1. если вам заранее известно число повторений тела цикла, лучше всего использовать оператор цикла For;

2. если вам заранее не известно число повторений тела цикла и если окончание цикла зависит от выполнения некоторого условия, лучше использовать конструкции While…Wend, Do While…Loop или Do Until…Loop

3. если необходимо, чтобы цикл всегда выполнялся хотя бы один раз, то используйте конструкции Do …Loop While или Do …Loop Until.

Примечания

· Оператор breakиспользуется в теле цикла для преждевременного завершения его выполнения, например, по некоторому условию.

· Оператор continueиспользуется, для того чтобы прервать выполнение данного шага цикла и продолжить со следующего.

· Операторы Exit Do и Exit For служат соответственно для преждевременного выхода из циклов Do и For.

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

ДЕМОНСТРАЦИОННЫЕ ПРИМЕРЫ

Пример 1

'Имя файла: From 1 to 20.vbs

'Вывод на экран чисел от 1 до 20 с шагом 2

 

For x=1 To 20 Step 2

s=s&vbCrLf&x

MsgBox "Последовательность от 1 до 20 с шагом 2: " & s

Next

Пример 2

'Имя файла: For_Next.vbs

'Вычислить сумму s=1+1/2+1/3+1/4+...+1/60

'C использованием конструкции Do ... Loop Until

 

option explicit

dim a, s

MsgBox "Вычисление суммы s=1+1/2+1/3+1/4+...+1/60"

s=0

For a=1 to 60

s=s+1/a

Next

MsgBox "s=1+1/2+1/3+1/4+...+1/60= "&s,,"Результат:"


Пример 3

'Имя файла: For_Step.vbs

'Вычисление значений функции y=x*x+3 при х изменяющемся от -12 до 12 с 'шагом 2



MsgBox "Вычисление значений функции y=x*x+3"&vbCrLf&_

"при х изменяющемся от -12 до 12 с шагом 2",,_

"Вычисление значений функции"

For i=-12 to 12 Step 2

s1=i*i+3

s="при x="&i&" y="&s1&vbCrLf&s

Next

MsgBox s,,"Значения функции y=x*x+3"

Пример 4

'Имя файла: While_Wend.vbs

'Вычислить сумму s=1+1/2+1/3+1/4+...+1/60

'C использованием конструкции While...Wend

option explicit

dim a, s

MsgBox "Вычисление суммы s=1+1/2+1/3+1/4+...+1/60"

a=1

s=0

While a<=60

s=s+1/a

a=a+1

Wend

MsgBox "s=1+1/2+1/3+1/4+...+1/60= "&s,,"Результат:"

Пример 5

'Имя файла: Do While__Loop.vbs

'Вычислить сумму s=1+1/2+1/3+1/4+...+1/60

'C использованием конструкции Do While...Loop

option explicit

dim a, s

MsgBox "Вычисление суммы s=1+1/2+1/3+1/4+...+1/60"

a=1

s=0

Do While a<=60

s=s+1/a

a=a+1

Loop

MsgBox "s=1+1/2+1/3+1/4+...+1/60= "&s,,"Результат:"


Пример 6

'Имя файла: Do__Loop While.vbs

'Вычислить сумму s=1+1/2+1/3+1/4+...+1/60

'C использованием конструкции Do Loop...While

option explicit

dim a, s

MsgBox "Вычисление суммы s=1+1/2+1/3+1/4+...+1/60"

a=1

s=0

Do

s=s+1/a

a=a+1

Loop While a<=60

MsgBox "s=1+1/2+1/3+1/4+...+1/60= "&s,,"Результат:"

Пример 7

'Имя файла: Do Until__Loop.vbs

'Вычислить сумму s=1+1/2+1/3+1/4+...+1/60

'C использованием конструкции Do Until...Loop

option explicit

dim a, s

MsgBox "Вычисление суммы s=1+1/2+1/3+1/4+...+1/60"

a=1

s=0

Do Until a>60

s=s+1/a

a=a+1

Loop

MsgBox "s=1+1/2+1/3+1/4+...+1/60= "&s,,"Результат:"

Пример 8

'Имя файла: Do __Loop Until.vbs

'Вычислить сумму s=1+1/2+1/3+1/4+...+1/60

'C использованием конструкции Do ... Loop Until

option explicit

dim a, s

MsgBox "Вычисление суммы s=1+1/2+1/3+1/4+...+1/60"

a=1

s=0

Do

s=s+1/a

a=a+1

Loop Until a>60

MsgBox "s=1+1/2+1/3+1/4+...+1/60= "&s,,"Результат:"

Пример 9

'Имя файла: simple.vbs

'Пусть a и b - положительные вещественные числа и a>b.

'Данная программа находит такое минимальное натуральное x, что x*b>a

option explicit

dim a, b, x

a=CDbl(InputBox("Введите положительное вещественное значение a: ","Окно ввода:"))

If a>0 Then

b=CDbl(InputBox("Введите положительное вещественное значение b,

меньшее чем "&a,"Окно ввода:"))

If ((a>b)And(b>0)) Then

x=1

While x*b<=a

x=x+1

Wend

MsgBox "a="&a&" b="&b&vbCrLf&_

"Найдено минимальное натуральное"&_

"x="&x&", при котором x*b>a",,"Результат:"

Else

MsgBox "Вы ввели неправильное значение ",vbCritical,"Ошибка:"

End If

Else

MsgBox "Вы ввели неправильное значение ",vbCritical,"Ошибка:"

End If

Пример 10

'Имя файла: summa.vbs

'Вычислить сумму s=1+1/2+1/3+1/4+... , которая состоит из n слагаемых

'C использованием конструкции Do While...Loop

option explicit

dim a, s, w, n

n=CInt(InputBox ("Введите число слагаемых: ",_

"Вычисление суммы s=1+1/2+1/3+... "))

a=2

w=1

s=1

Do While a<=n

s=s+1/a

w=w& "+1/" &a

a=a+1

Loop If n=1 Then

MsgBox "s=1",,"Результат:"

ElseIf n=0 Then

MsgBox "s=0",,"Результат:"

ElseIf n<0 Then

MsgBox "Вы ввели неправильное значение!",vbCritical,"Ошибка ввода:"

Else

MsgBox "s="&w&"="&s,,"Результат:"

End If

Пример 11

'Имя файла: Palindrom.vbs

'Программа подсчитывает, сколько палиндромических чисел лежат в 'промежутке от 100 до 1000

'(число M называется палиндромическим числом, если оно

'равно своему обращённому).

'Выведите все эти числа.

option explicit

dim x, y, z, d, n, m, s

MsgBox "Сколько палиндромических чисел лежат в промежутке от 100 до 1000",,"Задача:"

For x=1 to 9

For y=0 to 9

For z=0 to 9

n=100*x+10*y+z

m=100*z+10*y+x

If n=m Then

d=d+1

s=s&" "&n

End If

Next

Next

Next

MsgBox "В промежутке от 100 до 1000 лежит "&d&" палиндромов: "&vbCrLf&s

Пример 12

'Имя файла: Otrezok.vbs

'Нахождение всех простых чисел на заданном отрезке

option explicit

dim x1, x2, k, s, i, j

x2=CLng(InputBox("Введите верхню границу отрезка: ",_

"Окно ввода: ","10"))

x1=CLng(InputBox("Введите нижню границу трезка: ","Окно ввода: ","5"))

s="Все простые числа из отрезка ["&x1&", "&x2&"] :"&vbCrLf

For i=x1 to x2

k=0

For j=2 to Fix(Sqr(i))

If i mod j=0 Then

k=k+1

End If

Next

If k=0 Then

s=s&" "&i

End if

Next

MsgBox s,,"Результат: "

Пример 13

'Имя файла: Mnoziteli.vbs

'Программа нахождения всех простых множителей целого положительного 'числа

'Программа учитывает множество условий неправильного ввода

IF boolic THEN 'если мы ввели число, то...

x=CDbl(x)

x2=CLng(x) 'CLng округляет число до целого

If CDbl(x2)-x<>0 Then ' если число не целое изменим флаг

boolic=false

End if

If boolic and (x>1) Then 'если мы ввели мы ввели

'число целого типа, большее 1

m=2

i=0

s="Простые множители числа "&x&":"&vbCrLf

While m<=x 'ищем простые множители числа и записываем их в строку s

If x Mod m=0 Then

s=s&" "&m

x=x/m

i=i+1

Else m=m+1

End If

Wend

If i=1 Then

MsgBox "Число "&x&" нельзя разложить на простые"&_

"множители, так как оно само является простым числом.",,"Результат:"

Else

Msgbox s,,"Результат:"

End If

ElseIf boolic and (x=1) Then ' если введённое число равно 1, то...

MsgBox "Число 1 нельзя разложить на простые множители,"&_

" так как оно само является простым числом.",,"Результат:"

Else

MsgBox "Вы ввели неправильное значение x",vbCritical,"Ошибка"

End If

ELSE ' если введённое значение не числовое...

MsgBox "Вы ввели неправильное значение x",vbCritical,"Ошибка"



<== предыдущая лекция | следующая лекция ==>
Do... Loop Until | Битовые операции в языке Visual Basic


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.065 сек.