Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

а содержащий один или несколько циклов

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 9.11.2024

PAGE  7

Лаб. Раб. № 16

VISUAL BASIC: ПРОГРАММИРОВАНИЕ ЦИКЛОВ

Цель и содержание: приобретение практических навыков работы с программами  циклической структуры.

Теоретическое обоснование

Цикл – это многократно повторяемая часть алгоритма или программы. Циклическим называется алгоритм (программа) содержащий  один или несколько циклов. Изменяющаяся в цикле переменная называется параметром цикла (счетчиком), а повторяющаяся часть телом цикла. Различают  циклы с заранее известным числом повторений и циклы, в которых число повторений заранее неизвестно, а определяется в процессе счета или проверок условий. Если в итерационном цикле проверка условия повторения  производится перед каждым циклом, то он называется с предусловием; а если  после его очередного выполнения –  с постусловием.

В  Visual Basic  для организации циклов используются операторы:

  •  For ...   Next     для цикла с счетчиком;
  •  Do While [или Until] Условие ... Loop для цикла с предусловием;
  •  Do ... Loop While [или Until]  Условие для цикла с постусловием.

Циклы с известным количеством повторений

Общий вид:

 For   Cчетчик = Начальное_значение To  Конечное_значение  [Step Шаг]

  тело цикла    

 Next [Cчетчик]    

Если начальное и конечное значения счетчика не противоречивы, то тело цикла (набор операторов цикла) повторяются для каждого указанного Счетчиком значения с заданным Шагом. Если шаг не указан, то считается равным 1. После цикла выполняется следующий оператор.

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

Пример 1. Найти количество отрицательных чисел среди N  введенных.

…    ‘ объявление переменных и ввод значения N 

kol=0 ‘первоначально количество чисел равно 0

For  i = 1 To n ‘начало цикла

    a = Val (InputBox("Введите число: ", " Ввoд исходных чисел"))

    if   a<0  then  kol=kol + 1  ‘прибавление единицы, если число отрицательно

Next iвозвращение на начало цикла с увеличением счетчика на шаг

MsgBox  kol , , "Количество  всех отрицательных  чисел="

Пример 2.  Найти наибольшее среди N  введенных чисел.

…    ‘ объявление переменных и ввод значения N

max = -32000 ‘первоначальное значение max

For   i = 1 To Nначало цикла

  b = Val (InputBox("Введите число:", " Ввoд исходных чисел"))

  If   b > max  then  max = b  ‘сравнение числа с максимальным

Next i  ‘возвращение на начало цикла с увеличением счетчика на шаг

Print "max=";  max

Пример 3. Найти произведение отрицательных чисел среди N  введенных.

 …    ‘ объявление переменных и ввод значения N 

pr=1  ‘первоначально значение произведения равно 1

For i = 1 To n

 a = Val (InputBox("Введите число: ", " Ввoд исходных чисел"))

 if   a<0  then  pr=pr* а  ‘если число отрицательное, то умножается на pr

Next i 

MsgBox pr , , "Произведение  всех отрицательных  чисел="

Циклы с неизвестным количеством повторений

Для организации такого цикла необходимо:  

  •  задать перед циклом начальное значение параметра и изменять его перед каждым новым повторением цикла;
  •  проверять условие повторения (логическое выражение) и окончания  цикла. Если условия не будет, то цикл будет бесконечен.

Существует 4 вида циклов Do... Loop.     Их общий вид:

1) Do While условие   2) Do 

     тело цикла      тело цикла

 Loop      Loop  While условие

3) Do Until условие                          4) Do 

      тело цикла      тело цикла  

  Loop      Loop Until условие

Если  используется While, то тело цикла повторяется, только если значение условия равно True (истина), в противном случае цикл завершается. При использовании Until, тело цикла повторяется, только если значение условия равно False (ложь), в противном случае цикл завершается.

Конструкции 1 и 3  используются для цикла с предусловием, 2 и 4 для постусловия. Их отличие: в циклах с предусловием тело цикла может  не выполниться ни разу,  если при первой проверке условие оказывается ложным. В циклах с постусловием тело цикла выполняется хотя бы один раз, после чего осуществляется проверка заданного условия.

Пример 4.  Дана последовательность чисел, заканчивающаяся 0. Найти  количество положительных среди введенных чисел.

…    ‘ объявление переменных  

kol = 0

Do

 b = Val (InputBox("Введите числа, 0-конец ввода ", " Ввoд данных"))

 If   b > 0   Then    kol = kol + 1

Loop While    b <> 0

MsgBox     kol, , " Кол-во положительных чисел="

Методика и порядок выполнения работы

  1.  Изучите теоретическое обоснование.
  2.  Выполните контрольный пример 1:  вывести числа натурального ряда  от N до K и найти их сумму. Значения N  и K – целые числа, введенные с клавиатуры. Для этого:
  •  запустите среду Visual Basic;
  •  с помощью стандартного набора инструментов Toolbox создайте  экранную форму (рисунок 1). В нижней части которой расположите   две метки («Начальное значение», «Конечное значение»); два текстовых поля Нач и Kон; командную кнопку с надписью Пуск и именем Command1, нажатием которой запускается программа.
  •  Создайте программный код:

Private Sub  Command1_Click ()

N = Val (Нач.Text)   ‘Преобразование введенных значений в числа 

K = Val (Кон.Text)   

Print     "Числа из указанного диапазона"; N, K
s = 0  ‘присваивается  начальное значение переменной S (сумма чисел)

For  i = N To K    ‘ начало цикла 

Print i;  s = s + i   ‘ повторяющиеся  в цикле операторы

Next    i

Print     " Сумма="; s    ‘вывод суммы ряда на форму

End Sub

Проверяется условие i<=n, если оно истинно, то вычисляется очередное значение S. Запустите программу и исправьте ошибки. Сохраните проект.

Измените шаг параметра  i на 2  следующим образом: For  i=N To K Step 2  и  запустите программу. Проанализируйте результат, в этой программе будет найдена сумма всех нечетных чисел из диапазона от  N до K.    Для вычисления произведения указанных чисел измените ее следующим образом: S=1 и S=S*i. Запустите программу на выполнение.

  1.  Создайте новый проект и выполните контрольный пример 2.

 Дано значение K (K>=1), которое вводится с клавиатуры. Вычислить количество чисел, введенных с клавиатуры, сумма которых не превышает величину K.

Такую программу можно реализовать с помощью цикла с предусловием. Для этого создайте экранную форму из пяти объектов (рисунок 2):

  •  4 метки с именами: «Введите конечное значение суммы», «Введенные числа», «Сумма введенных чисел» и «Количество введенных чисел»;
  •  4 текстовых поля: Kon (для ввода величины К); А1 (для вывода всех введенных чисел) и S1 (для вывода полученной суммы); Num (для количества чисел). Для каждого из них в свойстве Text поставьте пробел;
  •   командную кнопку  с надписью «Начало ввода» и именем Command1.

Создайте для командной кнопки Command1 программный код:

Private Sub Command1_Click()

Dim   A, S, K   As    Single ,  N   As    Integer   ‘объявление  используемых переменных

A1.Text = ""  

N = 0:    S = 0

K = Val (Kon.Text)

Do While      S < K                       ‘начало цикла с предусловием

 A = Val (InputBox ("Введите очередное число", "Ввод "))

 N = N + 1                       ‘подсчет количества  введенных чисел

 S = S + A   ‘подсчет суммы чисел

 A1.Text =A1.Text  +  Str(A)+ "; "  ‘ заполнение окна A1 введенным числами

 S1.Text = Str( S )    ‘заполнение  S1 промежуточными суммами

 Num.Text = Str (N)

Loop    ‘   возвращение на начало цикла  и проверка условия

End Sub

Запустите программу, введите конечное значение К, нажмите кнопку «Начало ввода»,  в появившемся окне ввода вводите числа и нажимайте ОК. В окне «Введенные числа» на форме он будут отражаться, а в окнах  «Сумма введенных чисел» и «Количество введенных чисел» –– суммироваться и считаться по количеству до тех пор пока их сумма не превосходит К.

Запустите программу на выполнение. Сохраните проект.

В программе используется цикл, реализованный оператором цикла Do While...Loop, который позволяет многократно вводить исходные числа  в окно ввода,  пока сумма чисел  S не превысит  K. Однако этот цикл не выполнится ни разу, если ввести К <1. Убедитесь в этом.

  1.  В соответствии со своим вариантом  разработайте блок-схемы и проекты для своего задания.

Таблица 1 – Варианты задания

№ варианта

Условия  задания

1

Вводится последовательность из N чисел. Найти произведение и количество положительных  среди них чисел.

2

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

3

Вводится последовательность из M чисел. Найти наименьшее из всех  положительных чисел.

4

Вводится последовательность целых чисел, 0 – конец последовательности. Подсчитать, сколько в ней отрицательных, и сколько положительных  элементов.

5

Вводится последовательность целых чисел, 0 – конец последовательности. Найти сумму и количество положительных чисел.

6

Дана последовательность  из М чисел. Подсчитать, сколько в ней отрицательных, и сколько положительных (включая нулевые) элементов.

7

Дана последовательность из М чисел. Вычислить сумму и количество чисел, которые меньше 5.

8

Дана последовательность из М чисел. Вычислить произведение и количество чисел, которые меньше 10.

9

Вводится последовательность ненулевых чисел, 0 – конец последовательности. Сколько из этих чисел больше 5, но меньше 10. Найти сумму таких чисел.

10

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

11

Дана последовательность из М чисел. Найти сумму  и произведение всех положительных чисел.

12

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

13

Дана последовательность из М чисел. Найти наименьшее из всех  чисел, больших 10, и его порядковый номер.

14

Дана последовательность из М чисел, все положительные среди них числа заменить их корнем и найти их сумму.

15

Дана последовательность чисел, заканчивающаяся  0. Найти сумму чисел меньших 3 и произведение чисел больших 10.

16

Дана последовательность из М чисел. Сколько из этих чисел больше 7, но меньше 20. Найти произведение таких чисел.

Содержание отчета и его форма

Выполните  все описанные пункты задания, письменно оформите отчет, который должен содержать:

тему, цель лабораторной работы;

общий вид операторов циклов;

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

Контрольные вопросы и защита работы

Защита лабораторной работы включает в себя демонстрацию разработанных проектов на Visual Basic, подготовленный отчет и устный ответ на контрольные вопросы:

1. Какая программа называется  циклической ?

2. Какие типы циклов используются в  Visual Basic?

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




1. 1 Аналіз виробничої діяльності та характеристика підприємства
2. Электромагнитная индукция
3. административный порядок принятия и исполнения политических решений имел отрицательное воздействие на общ
4. Гипогонадизм
5. Об утверждении Плана счетов бухгалтерского учета финансовохозяйственной деятельности организаций и Инст
6. Реферат з дисципліни- Реферат з дисципліни- Технологія зведення реконструкція та ремонт будів
7. Она считалась утерянной а на самом деле была надежно упрятана от досужего любопытства
8. Гузенков П
9. Разработка концепции летнего кафе
10. прерогатива частных наук
11. ТЕМА 9 СУДОВОПСИХОЛОГІЧНА ЕКСПЕРТИЗА ОСОБЛИВОСТЕЙ ВЗАЄМОДІЇ У ЗЛОЧИННІЙ ГРУПІ Даний вид експертизи як пр
12. Реферат- Сахарный диабет СД ~ эндокринное заболевание характеризующееся синдромом хронической гиперглик
13. Тема 1 ВЫСТАВКИ И ЯРМАРКИ- СУЩНОСТЬ ПРЕДНАЗНАЧЕНИЕ КЛАССИФИКАЦИЯ
14. Шпаргалка- Выращивание профильных монокристаллов кремния методом Степанова
15. Морис П Р И К А З 10
16. Арганiзацыйны момант Весела гучыць званок Яго голас нам знаёмы Запрашае на рок Беларус
17. Россия начинается с тебя
18. Электронные генераторы- мультивибратор. Назначение, принцип действия, применение
19. 08 можно будет пользоваться тетрадью без тетради даже и не приходите УЧЕБНИК БУТЕЙКИС ТЕХНОЛОГИ
20. темам 2 участковый маркшейдер 2 электромеханик 2 зам.