LoveRead.info » Книги » Разная литература » Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория»

Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория»

Книгу Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

124 0 18:09, 02-02-2024

Книга Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» читать онлайн бесплатно без регистрации

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

    1 ... 156 157 158 159 160 161 162 163 164 ... 192
    Перейти на страницу:
    три счетчика

       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. Подсчет закончить после ввода пары нулей.

    Сумматоры

    Сумматор — это переменная величина, в которой вы подсчитываете сумму чего-либо. Если вы поняли идею счетчика, то понять идею сумматора вам будет нетрудно. Посмотрим, как будет работать следующий фрагмент:

    s=0 'Обнуляем сумматор. Это не менее важно, чем обнулить счетчик

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

    s=s+a 'Увеличиваем сумматор

    Debug.Print "Сумма="; s

    GoTo m

    В ячейке s накапливается сумма вводимых чисел а, поэтому назовем эту ячейку сумматором. Отличие сумматора от счетчика в том, что счетчик увеличивается на 1 оператором с=с+1, а сумматор — на суммируемое число оператором s=s+a.

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

    Программа:

    Private Sub Command2_Click()

       N = InputBox("Сколько чисел будем складывать?")

       s = 0

       For i = 1 То N

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

       s = s + а

       Next i

       Debug.Print "Сумма равна"; s

    End Sub

    Задание 53: Пусть N=2, a=5 и 3. Тогда по этой программе Visual Basic напечатает 8. Что он напечатает, если:

    Вместо s=0 написать s=10.

    Вместо s=s+a написать s=s+a+1.

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

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

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

    Строки s=s+a и Next поменять местами.

    Вместо For i=1 То N написать For i=2 То N.

    Задания 54–56: Написать программы для следующих задач:

    Во дворце 40 залов. Известны длина и ширина каждого зала.

    Вычислить площадь пола всего дворца.

    Вычислить средний балл учеников вашего класса по физике.

    Вычислить произведение N произвольных чисел. Подсказка: Несмотря на то, что произведение — не сумма, эта программа будет отличаться от программы суммирования всего двумя существенными символами (какими?), а структура обеих программ совершенно одинакова.

    Вложение циклов в разветвления и наоборот

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

    Для тренировки определите, что напечатает следующий фрагмент:

    Private Sub Command1_Click()

       For i = 1 To 5

       a = 9

       If i * i = a Then

       For k = 5 To 8

       Debug.Print k;

       Else

       Debug.Print 1997

       End If

       Next i

    End Sub

    Здесь внутрь For i = 1 To 5 вложен If i * i = a,a внутрь него вложен For к = 5 To 8.

    Ответ:

    1997

    1997

    5 6 7 8 1997

    1997

    Вложенные циклы

    Вложенные циклы или цикл внутри цикла — весьма распространенная конструкция при программировании.

    Поставим себе задачу — напечатать таблицу умножения. В следующем виде:

    Начнем с малого — пусть нужно напечатать

    1*1=1

    Вот фрагмент программы:

    Фрагмент 1

    а=1

    Ь=1

    proizv = а * b

    Print а, "*",Ь, "=",proizv

    Здесь в операторе Print 5 элементов:

    сомножитель а,

    символ знака умножения "*",

    сомножитель b,

    символ "=",

    значение произведения proizv

    Усложним задачу. Попробуем заставить компьютер напечатать первую строку таблицы:

    Замечаем, что здесь нам нужно решить 9 элементарных задач на вычисление произведения, первую из которых решает фрагмент 1. Все они очень похожи и различаются лишь значением второго сомножителя. Таким образом, для решения каждой из 9 задач подошел бы наш фрагмент 1, если бы в нем в операторе Ь=1 вместо единицы стояла нужная цифра. В данном случае идеально подходит оператор For:

    Фрагмент 2

    а = 1

    For b = 1 То 10

    proizv = а * Ь

    Print а; "*"; Ь; proizv;

    Next b

    Прокрутите программу в пошаговом режиме.

    Следующая ступень усложнения — последняя — напечатать не одну строку таблицы, а девять. Для этого фрагмент 2 должен быть выполнен 9 раз, каждый раз — с новым значением а. Чтобы этого достичь, "обнимем" фрагмент 2 оператором For точно так же, как мы обнимали фрагмент 1.

    Фрагмент 3

    For а = 1 То 10

    For b = 1 То 10

    proizv = а * Ь

    Print а; "*"; Ь; "="; proizv;

    Next b

    Next a

    Прокрутите программу в пошаговом режиме, для удобства заменив 9 на 4.

    Печатается все, что надо, но в одну строчку. Добавим в нужное место пустой Print, чтобы после окончания очередной строки печать начиналась с новой:

    Фрагмент 4

    For а = 1 То 10

    For b = 1 То 10

    proizv = а * Ь

    Print а; "*"; Ь; "="; proizv;

    Next b

    Print

    Next a

    Прокрутите программу в пошаговом режиме. Прочувствуйте то, что пустой Print мы поместили именно в нужное место, строчкой выше или ниже он все бы испортил.

    Печатает фрагмент 4 плохо. Акуратных столбцов не получается. Мы не будем добиваться идеальной картинки. Просто поменяем точку

    1 ... 156 157 158 159 160 161 162 163 164 ... 192
    Перейти на страницу:
    1. Жалоба
    Отзывы - 0

    Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


    Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

    • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
    • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
    • 3. Просьба отказаться от нецензурной лексики.
    • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

    Надеемся на Ваше понимание и благоразумие. С уважением, администратор LoveRead.info.


    Установить VPN и читай слушай бесплатно

    Новые отзывы

    1. Валентина Валентина04 июль 13:25 Большое спасибо за интересную тему.  Сюжет заманчиввй,интересный. Жду продолжения ... Лекарь Фамильяров. Том 7 - Александр Лиманский
    2. Наталья По Наталья По01 июль 10:12 Ужасный перевод:(... Аркадия - Эрин Дум
    3. Вика Вика29 июнь 21:56 Какая хрень с первых строк.  У ребенка в 14 месяце не может быть черепно мозговой травмы при падании с дивана ... Вернуть семью любой ценой - Чарли Ви
    Все комметарии
    Новинки бесплатной онлайн библиотеки