Будь умным!


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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 24.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. Социосфера РоссийскоАрмянский Славянский государственный университет Высшая школа политически
2. Биоценоз и природная среда.html
3. Социальное государство- понятие и проблемы становления
4. Производство комбикормов в Беларуси и в зарубежных странах
5. 01 счета Сумма 01 3 300 000
6. ФРАНЦИЯ Государственный строй
7. 5 реферат дисертації на здобуття наукового ступеня кандидата економічних наук
8. Реферат- Определение примесей в технических целлюлозах
9. Реферат- Теория общественного выбора о причинах провалов правительства
10. .Основные типы сетей их назначение и характеристики
11. Управление миграционными процессами в России
12. На тему- Основные направления оплаты труда на коммерческом предприятии
13. 662895 КУРСК 2000 СОГЛАСОВАНА
14. Оценка стратегий размножения и поддержания жизнеспособности оомицета Phytophthor infestns в связи с современными методами защиты картофеля и томата от фитофтороза
15. Структура и технические средства информационных измерительных систем Выбор ЭВМ Базирующие устройства
16. Реферат- Королевство Кастилии и Леона в XI - XIII вв. Реконкиста
17. Первые птицы на земле
18. Реферат- Особливостi цiноутворення на свiтовому ринку
19. Статья- ERP - системы
20. НАДЕЖДА г Коломна Сценарий праздника посвященного Александру Александровичу Алябьеву