Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Циклы с неопределенным условием

 

Довольно часто условие продолжения цикла зависит от результатов, полученных в теле цикла. Следующая конструкция используется в VB.NET для построения цикла с неопределенным условием, тело которого выполняется минимум один раз (завершающая проверка):

 

Do

' Команды VB.NET (0 и более)

Until условие_выполняется

 

Конечно, условие не ограничивается простой проверкой равенства. В вашем распоряжении операторы сравнения, перечисленные в табл.4.1

 

Таблица 4.1 Операторы сравнения 

Символ  Проверяемое условие

<>      Не равно

<       Меньше

<=      Меньше или равно

>       Больше

>=      Больше или равно

 

Строковые операнды по умолчанию сравниваются в соответствии с порядком символов Unicode. Таким образом, «А» предшествует «В», но «В» предшествует «а» (а пробел предшествует любому печатному символу). Строка «aBCD» предшествует строке «CDE» (то есть считается «меньше» ее), поскольку прописные буквы в кодировке стоят раньше строчных.

Вы можете игнорировать регистр символов во всех сравнениях модуля или формы; для этого в начало модуля или формы включается команда Option Compare Text. Команда Option Compare Binary возвращается к стандартному сравнению строк в соответствии с положением символов в кодировке ANSI. При активном режиме Option Compare Text используется порядок символов для страны, указанной при установке системы Windows.

Ключевое слово Unti1 можно заменить ключевым словом While (при этом следует заменить условие на противоположное). Например, фрагмент

 

Do

' Команды VB.NET (0 и более)

Loop Until X <> String.Empty

 

эквивалентен следующему фрагменту:

 

Do

' Команды VB.NET (0 и более)

Loop While X = String.Empty

 

Обратите внимание на использование константы String.Empty вместо пустой строки "", менее наглядной и чаще приводящей к ошибкам. Если переместить ключевое слово Whi1е или Unti1 в секцию Do, проверка будет выполняться в начале цикла (и при ложном условии цикл не будет выполнен ни одного раза). Пример:

 

Do While Text1.Text <> String.Empty

' Обработать непустой текст

Loop

 

Условия объединяются при помощи операторов Or, Not и And. Пример:

 

Do While count < 20 And savings < 1000000

 

Цикл For-Each

Содержимое массива часто перебирается в цикле от 0 до UBound(массив), однако вы также можете воспользоваться конструкцией For-Each. Синтаксис For-Each выглядит следующим образом:

 

For Each переменная In массив

[команды]

[Exit For при необходимости]

[команды] Next

 

Конструкция For-Each универсальна и может использоваться в тех случаях, когда структура данных поддерживает итеративный перебор элементов. Microsoft утверждает, что применение For-Each не будет приводить к существенному снижению быстродействия по сравнению с For-Next.

Пример цикла, обрабатывающего массив строк

 

Dim people={“Tom”,”Ivan”,”Dona”}

Dim person As String

For Each person In people

Console.WriteLine(person)

Next

Варианты заданий для выполнения работы

1. Дано натуральное n. Написать программу вычисления а^n.

 

2. Дано натуральное n. Написать программу вычисления значений

          1     1              1

                 +     +...+          , n>=2

         1*2 2*3      (n-1)*n

 

3. Дано натуральное n. Написать программу вычисления значений

                            (n-1)

          1         (-1)

     1-  +...+

          2          n

4. Дано натуральное n. Написать программу вычисления значений

 

             1                  1                     1 

    1+           * 1 +        *...* 1+

           1^2              2^2                  n^2

 

5. Дано число А. Написать программу получения в порядке убывания всех делителей данного числа.

 

6. Обозначим

              1        1                1

     f =      +           +...+        , i=0,1,...

        i i^2+1 i^2+2       i^2+i+1

 

Написать программу вычисления произведения

     f * f *...* f. n - дано.

      0 1   n

 

7. Объем V - цилиндрической подковы вычисляется по формуле

 

              h                                           u(n)

    V=     [a(3r^2 - a^2) + 3r^2*(b-r)   ].

            3b                                          180

 

Составить алгоритм для построения графика зависимости V от угла u,если a,b и r известны, а u изменяется в диапазоне от u(1) до u(2) с шагом /\ u.

 

8. Составить алгоритм для расчета функции

 

                     0,95*(sin(x))^3

               y =

                      1+0,95*x^2

 при изменении x от 0 до 12 с шагом /\х=0.2.

 

9. Самолет летит из пункта А к пункту В со средней скоростью v. Составить алгоритм для нахождения времени полета t(1), если есть встречный ветер, скорость которого v(1), и времени t(2), если ветра нет. Расстояние между пунктами А и В считать известным и равным S. Скорость ветра v(1) может изменяться от 0 до 15 м/с. Считать шаг изменения /\v(1) =0.5 м/с.

 

10. Цех вводится в строй постепенно, выдавая в первый день х(1)% продукции от нормы, во второй - х(2)%, в третий -x(3)%,..., в n-й день - х(n)%. Составить алгоритм для расчета продукции S за n дней, если в первый день цех выдал А [т] продукции.

 

11. Составить алгоритм для расчета функции y при значениях х=0; 0.1; 0.2;...;10.

 

 

                      x-1

                                     , если x<=1

      y =  2*x^2+3

 

                   1.05*(x-1)^2, если x>1.

 

12. Дана функция y=0.5+sin(5x), причем х изменяется от 0 до 2п с шагом /\х=п/6.

 

13. Составить алгоритм для вычисления функции

 


                   1

                 ===, если 0<y<1.36; /\y=0.136;

              \/1+y

            

     z =    0 , если y=0;

              

                     1

                  ====, если -1.5<y<0; /\y=0.15.

               \/1-2y

 

14. Постоянная времени Т электрической цепи равна Т=RC, где R и С - соответственно сопротивление и емкость цепи. Составить алгоритм решения задачи при условии, что R изменяется от 10^2 Ом до R(0)=10^3 Ом с шагом /\R=10^2 Ом.

 

15. Кинетическая энергия движущегося тела W(k)=m*v^2/2, где m - масса тела, v - его скорость. Составить алгоритм для получения зависимости W(k) от m при значенияхv, изменяющихся от v(1) до v(2) с шагом /\v. Масса изменяется от m(1) до m(2) с шагом /\m.

 

16. Дана функция x=a*sin(k*t+2)*cos(k*t). Составить алгоритм для расчета этой функции, если а изменяется от 5 до 7 с шагом 0.12, t изменяется от 4.2 до 6.2 с шагом 0.17 а k=1,2,3,...,12.

 

17. Составить алгоритм для нахождения итерационным методом с точностью до е корня уравнения 2*x-3*sin(x)=0.

 

18. Дана функция y=-2*x^2+3*x+1.5. Составить алгоритм для поиска максимального значения y если х изменяется в диапазоне 0.1<=х<=1 с шагом /\х=0.01.

 

19. Слесарь-сантехник начинает работу в 8 ч. и заканчивает в 17 ч., делая перерыв на обед с 12 до 13 ч. Через каждые 30 мин работы он устраняет течь в кранах водопроводной системы одной из квартир жилого дома. Составить алгоритм для вычисления количества воды Q, которое вытечет из неисправных кранов за рабочий день слесаря - сантехника, если утечка воды в одной квартире составляет Q(1) [л/мин].

 

20. Даны функции y(1)=x^3 и y(2)=sin(x).Составить алгоритм для вычисления точки пересечения этих функций при х>0. Вычисления производить с точностью до е.

 

21. Даны целые числа n и K[n]. Получить сумму S последних цифр чисел K[n].

 

22. Дано целое число K. Найти знакочередующуюся сумму цифр числа К. (Пусть запись К в десятичной системе есть a[n]...a[2] a[1] a[0];найти a[0]+a[1]+a[2]+...+a[n]).

 

23. Даны действительные числа a,h, целое n. Вичислить:

f(a) + f(a+h)+f(a+2h)+...+ f(a+nh), где f(x)=(x^2+ 1)/x.

 

24. Даны целое n, действительное x. Вычислить:

Y=sinx+sin^2x+...+sin^2x.

 

25. Дано целое n. Чему равна сумма его цифр?

 

26. Дано целое число n. Найти первую цифру числа n.

 

27. Дано целое K. Сколько цифр в числе К?

 

28. Дано вещественное x. Вычислить:

            s=(x-2)+(x-4)+(x-8)+...+(x-64);

            p=(x-1)*(x-3)*(x-7)...(x-63).

 

29. Даны действительные числа x, a, целое число i. Вычислить:

        ((...((x+a)^2 +a)^2 +...+a)^2 +a)^2 +a, (0<a<_91_0).

 

30. Дано вещественное число x. Вычислить:

        x-x^3/3!+ x^5/5!-x^7/7!+x^9/9!-x^11/11!+x^13/13!

 

 



<== предыдущая лекция | следующая лекция ==>
Цикл с определенным условием | Количественное определение содержания паров жидкости и газов в воздушной среде
Поделиться с друзьями:


Дата добавления: 2018-11-11; Мы поможем в написании ваших работ!; просмотров: 213 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Слабые люди всю жизнь стараются быть не хуже других. Сильным во что бы то ни стало нужно стать лучше всех. © Борис Акунин
==> читать все изречения...

2240 - | 2159 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.