Студопедия

Главная страница Случайная страница

Разделы сайта

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






  • Счетчики






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

     

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

    Фрагмент, решающий задачу:

    c=0 'Обнуляем счетчик

    m: a = InputBox(" Введите очередное число")

    If a> 0 Then c=c+1

    Debug.Print " Из них положительных -", c

    GoTo m

    Пояснения: В 6.4 мы придумали переменную i, которую назвали счетчиком циклов. Здесь мы тоже придумали переменную c. Она у нас выполняет роль счетчика положительных чисел. Сердце счетчика - оператор c=c+1. Именно он в нужный момент увеличивает счетчик на 1. Но и без If a> 0 Thenтоже никак нельзя. Если бы его не было, то c подсчитывал бы все числа без разбору, то есть был бы обыкновенным счетчиком циклов. В нашем же фрагменте увеличение с на 1 выполняется не всегда, а лишь при положительном а.

    Обязательно прокрутите программу в пошаговом режиме.

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

     

    В нашем фрагменте значения счетчика печатаются при каждом выполнении цикла. Изменим задачу.

    Задача 2: В компьютер вводится ровно 200 чисел. Компьютер должен подсчитать и один раз напечатать, сколько среди них положительных.

    Программа:

    Private Sub Command2_Click()

    c = 0 'Обнуляем счетчик

    For i = 1 To 200

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

    If a > 0 Then c = c + 1

    Next i

    Debug.Print " Из них положительных -"; c

    End Sub

    Пояснения: Путь рассуждений здесь тот же, что и в первой задаче. В результате применения оператора For тело цикла выполняется ровно 200 раз, благодаря чему счетчик с накапливает нужное значение. Оператор Debug.Print выполняется только один раз и печатает последнее накопленное значение, потому что в ячейке с будет находиться именно оно..

     

    Задание 50: Что будет, если

    1) Вместо c=0 написать c=10.

    2) Вместо c=c+1 написать c=c+2.

    3) Строки Next и Debug.Print поменять местами.

    4) Строки c=0 и For поменять местами.

    5) Строки For и InputBox поменять местами.

     

    А в следующей программе мы используем уже два счетчика. Изменим задачу.

    Задача 3: В компьютер вводится ровно 200 чисел. Компьютер должен подсчитать и один раз напечатать, сколько среди них положительных чисел и сколько нулей.

    Программа:

    Private Sub Command3_Click()

    c_полож = 0 'Обнуляем счетчик положительных чисел

    c_нулей = 0 'Обнуляем счетчик нулей

    For i = 1 To 200

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

    If a > 0 Then c_полож = c_полож + 1

    If a = 0 Then c_нулей = c_нулей + 1

    Next i

    Debug.Print " Из них положительных -"; c_полож, " Нулей -"; c_нулей

    End Sub

    Как узнать, насколько Лев Толстой любил слово " добро"? Для этого достаточно, используя с минимальными изменениями нижеприведенную программу, ввести в компьютер слово за словом его произведения.

    Задача 4: В компьютер один за другим вводятся произвольные символы. Ввод заканчивается символом " / ". Подсчитать, какой процент от общего числа введенных символов составляют символ " W " и символ ": " по отдельности.

    Здесь мы организуем три счетчика одновременно: сW - для подсчета букв W, сDv - для подсчета двоеточий, а также i - счетчик общего числа введенных символов, кроме " / ".

    Программа:

    Private Sub Command4_Click()

    Dim i As Integer, cW As Integer, cDv As Integer

    Dim procent_W As Integer, procent_Dv As Integer

    Dim simvol As String

     

    i = 0: cW = 0: cDv = 0 'Обнуляем все три счетчика

    Do

    simvol = InputBox(" Введи символ")

    If simvol < > " /" Then i = i + 1 'Если это не /, то " посчитай" его

    Select Case simvol

    Case " W" 'Если это W, то

    cW = cW + 1 'увеличь счетчик символов W

    Case ": " 'Если это:, то

    cDv = cDv + 1 'увеличь счетчик символов:

    Case " /" 'Если это /, то

    Exit Do 'завершай работу цикла

    End Select

    Loop

    procent_W = Round(100 * cW / i) 'Вычисляй процент символов W

    procent_Dv = Round(100 * cDv / i) 'Вычисляй процент символов:

    Debug.Print procent_W, procent_Dv

    End Sub

     

    Задание 51: В компьютер вводится N чисел. Подсчитать из них количество положительных, отрицательных и тех, что превышают число 10.

    Задание 52: В компьютер вводятся пары целых чисел. Подсчитать, сколько среди них пар, дающих в сумме число 13. Подсчет закончить после ввода пары нулей.






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.