Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Цикл с конечным числом повторений FOR…NEXT
1. Простые циклы
1.1. Задача. Вычислить сумму конечного ряда
В задании кратко записана сумма конечного ряда:
Такие задачи обычно называются задачами с накапливающими суммами, т.к. здесь сумма вычисляется не сразу (в одном операторе), а накапливается постепенно в цикле.
Алгоритм решения:
1. Объявить переменные: i – счетчик цикла , n – количество элементов в сумме и S – сумма элементов ряда;
2. Обнулить переменную S, в которой будем хранить сумму;
3. Организовать цикл, в котором к предыдущему состоянию суммы будет прибавляться очередной элемент ряда. Применение цикла позволит кратко записать обработку n элементов ряда. Переменная i – степень, в которую возводится число 2, изменяется от 1 до n с шагом 1, что позволит использовать ее в качестве счетчика цикла;
4. Вывести значение суммы S.
В начале работы цикла переменная i получает начальное значение, т.е. 1.С этим значением выполняется тело цикла, т.е. оператор S=S+2^i. Затем к значению i прибавляется шаг (step 1) и новое значение счетчика цикла сравнивается с конечным значением n. Если значение переменной i не превысило конечное значение n, то тело цикла выполняется еще раз. Если i>n, то цикл завершает свою работу. Другими словами, цикл работает, пока i<=n. После завершения работы цикла переменная-счетчик цикла больше конечного значения n на величину шага.
Шаг цикла необязательно должен быть равен 1. Он может быть отрицательным или дробным числом.
Благодаря тому, что мы сделали переменную i счетчиком цикла, изменяющимся от 1 до n с шагом 1, все элементы нашего ряда можно теперь записать в общем виде: 2^i .В приведенном примере тело цикла (оператор S=S+2^i) выполняется n раз, при этом на каждом проходе значение переменной i разное, отличающееся от предыдущего на 1.Другими словами мы проходим по всем элементам ряда, последовательно прибавляя их к сумме.
! Распространенные ошибки
Выход из зацикливания CTRL+BREAK.
2. Обработка диапазона ячеек с использованием цикла FOR…NEXT
2.1. Задача. Заполнить n ячеек, расположенных в первой строке рабочего листа случайными числами.
Обратиться к ячейке из программы можно несколькими способами, например, указав адрес ячейки (Range(“A2”)) или, указав номера строки и столбца, на пересечении которых находится ячейка (Cells(2,3)). Если из программы необходимо обработать одну ячейку, то можно воспользоваться первым способом, если несколько – то вторым.
Для присвоения ячейке случайного целого значения, пользуемся следующей формулой:.
Здесь функция Rnd() возвращает случайное вещественное число, с 15-ю знаками после запятой, в диапазоне от 0 до 1. Чтобы получить число большее 1, результат работы функции Rnd() домножаем на какой-нибудь коэффициент, не меньший 10. Чтобы из полученного значения вычленить целую часть, используем функцию Int.
Чтобы в полученном ряде случайных значений примерно половина чисел были отрицательными, формулу можно дополнить следующим образом:
Алгоритм решения:
1. Объявить нужные переменные: n – количество ячеек, j –номер столбца, в котором расположена ячейка. Переменную, отвечающую за номер строки, объявлять не будем, т.к. все обрабатываемые ячейки, по условию задачи, располагаются в первой строке.
2. Организовать цикл, в котором последовательно будут обрабатываться n ячеек.
Если в этой задаче не использовать цикл, то текст программы будет состоять из n однотипных операторов. Например, если необходимо присвоить случайные значения 25-и ячейкам первой строки, то придется набрать 25 операторов вида:
Cells(1,1).Value=Int(Rnd()*10)
Cells(1,2).Value=Int(Rnd()*10)
Cells(1,3).Value=Int(Rnd()*10)
Cells(1,4).Value=Int(Rnd()*10)
Cells(1,5).Value=Int(Rnd()*10)
…………………………………
Cells(1,25).Value=Int(Rnd()*10)
Блок-схема:
|
2.2. Комбинация цикла и ветвления
Задача. На листе дано 25 целых чисел, расположенных в столбце В. Найти среднее геометрическое отрицательных и четных.
Вспомним, что среднее геометрическое нескольких чисел можно вычислить, разделив произведение этих чисел на их количество.
Четное число – это такое число, которое делится на 2 без остатка.
В данной задаче необходимо последовательно пройти по каждой ячейке в столбце В, проверяя является ли значение очередной ячейки числом четным и отрицательным. Если да, то необходимо добавить это число в произведение и посчитать его. После того, как будут рассмотрены все 25 ячеек, вычисляется среднее геометрическое.
Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.