Цикл — многократное повторение последовательности действий по некоторому условию. Известны три типа циклических алгоритмических структур: цикл с предусловием, цикл с постусловием и цикл с параметром. В VBA существуют операторы, реализующие все три типа циклов.
Цикл с предусловием (цикл-пока) — наиболее универсальная циклическая структура. Он организует выполнение операторов, составляющих тело цикла, неизвестное заранее число раз. Реализуется оператором While. Формат оператора:
Do While
Loop
Здесь Do, While, Loop – зарезервированные слова;
– выражение логического типа;
– операторы VBA.
Алгоритм работы оператора следующий. Вначале вычисляется значение выражения . Если имеет значение True, выполняется ; после чего вычисление значения выражения повторяется. Если имеет значение False, оператор прекращает свою работу.
Таким образом, выход из цикла осуществляется, если логическое выражение принимает значение ложь. Истинность логического выражения проверяется вначале каждого прохождения цикла, поэтому тело цикла может не выполняться ни разу.
Выучил таблицу за 1 минуту! А что так можно было?
Цикл с постусловием (цикл-до) позволяет организовать многократное выполнение операторов, если число повторений заранее неизвестно.
Цикл с постусловием может быть записан в одном из следующих видов:
Do Until
Loop
Do
Loop Until
Здесь Do, Until, Loop – зарезервированные слова;
– выражение логического типа;
– операторы VBA.
Оператор работает по следующему алгоритму. Вначале выполняется , после чего вычисляется значение логического выражения . Если его значение есть False, операторы, образующие , повторяются. В противном случае оператор завершает свою работу.
То есть выход из цикла осуществляется, если логическое выражение принимает значение True (истина). Поскольку значение логического выражения вычисляется в конце каждого прохождения цикла, тело цикла выполнится хотя бы один раз.
Цикл с параметром (цикл со счетчиком, цикл – для) служит для организации циклов с заранее известным числом повторений.
Next
Здесь For, To, Step, Next – зарезервированные слова VBA;
– простая переменная порядкового типа;
– выражение того же типа что и , определяющее начальное значение параметра;
– выражение того же типа, определяющее конечное значение параметра;
– некоторое значение типа , задающее, на сколько изменяется значение параметра при каждом проходе цикла;
– операторы VBA.
Этот оператор организует повторение группы инструкций, образующих , пока изменяется от до с указанным шагом. Цикл выполняется столько раз, сколько нужно, чтобы от достиг .
При выполнении оператора вначале вычисляется значение выражения и осуществляется присваивание = . После этого циклически повторяется:
— проверка условия , если значение выражения задано и имеет положительное значение, или >= , если значение выражения задано и имеет отрицательное значение;
А4 ТИК ТОК таблица умножения
— выполнение ;
— изменение значения переменной на величину, указанную после слова Step; если не указан, он полагается равным 1.
В виде блок-схем эти циклы изображаются следующим образом.
Цикл с предусловием | Цикл с постусловием | Цикл с параметром |
Демонстрационные примеры:
1. Найти сумму десяти случайных чисел.
Напишем программу, воспользовавшись циклами различных видов.
End Sub
Заметим, что особенностью интерпретатора VBA является то, что значения переменных числовых типов перед выполнением процедуры полагаются равными 0. Поэтому в программе отсутствуют команды присваивания вида: sum1 = 0 и sum2=0.
2. Найти максимальное из n введенных с клавиатуры чисел.
Приведем два варианта решения задачи с использованием циклов разных видов.
End Sub
Если из текста программ удалить строку: If i = 1 Then Max = k, то программа будет работать корректно только в случае, когда хотя бы одно вводимое число неотрицательно. Это объясняется тем, что начальное значение переменной Max считается равным 0.
3. Найти cумму n первых членов ряда 1, 1/2, 1/3. 1/n,…
End Sub
4. Найти сумму всех четных чисел в первой десятке:
End Sub
Задачи для самостоятельного решения
Каждый студент должен решить одну задачу из блока А, две задачи из блока Б, две задачи из блока В, две задачи из блока Г.
А
1. Имеется серия измерений элементов треугольника. Группы элементов пронумерованы. В серии в произвольном порядке могут встречаться такие группы элементов треугольника:
— основание и высота;
— две стороны и угол между ними (угол задан в радианах);
— три стороны.
Разработать программу, которая запрашивает номер группы элементов, вводит соответствующие элементы и вычисляет площадь треугольника. Вычисления прекратить, если в качестве номера группы введен 0.
2. Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней?
3. Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько амеб будет через 3, б, 9, 12. 24 часа.
4. Около стены наклонно стоит палка длиной х м. Один ее конец находится на расстоянии y м от стены. Определить значение синуса угла между палкой и полом для значений y, изменяющихся от 2 до 3 м с шагом h м.
5. У гусей и кроликов вместе 64 лапы. Сколько могло быть кроликов и гусей (указать все сочетания, которые возможны)?
6. Составить алгоритм решения задачи: сколько можно купить быков, коров и телят, платя за быка 10 р., за корову — 5 р., а за теленка — 0,5 р., если на 100 р. надо купить 100 голов скота?
7. Доказать (путем перебора возможных значений), что для любых величин А, В, С типа Boolean следующие пары логических выражений имеют одинаковые значения (эквивалентны):
— A OR В и В OR A;
— A AND В и В AND A;
— (A OR В) OR С и A OR С;
— (A AND В) AND С и A AND (В AND С);
— A AND (Л OR В) и А;
— A OR (A AND В) и А;
— A AND (В OR С) и (A AND В) OR (A AND С);
— A OR (В AND С) и (A OR В) AND (A OR С).
8. Составить программу для проверки утверждения: “Результатами вычислений по формуле х 2 + х + 17 при 0 < х 15 являются простые числа”. Все результаты вывести на экран.
9. Составить программу для проверки утверждения: “Результатами вычислений по формуле х 2 + х + 41 при 0 < х 40 являются простые числа”. Все результаты вывести на экран.
10. Составить программу – генератор чисел Пифагора а, b, с (с 2 = а 2 + b 2 ). В основу положить формулы: а = m 2 — n 2 , b = 2m•n, с = m 2 + n 2 (m, n — натуральные, 1 < m < k, 1 < n < k, k — данное число). Результат вывести на экран в виде таблицы из пяти столбцов: m, n, а, b, с.
11. Покупатель должен заплатить в кассу S р. У него имеются 1, 2, 5, 10, 50, 100, 500 р. Сколько купюр разного достоинства отдаст покупатель, если он начинает платить с самых крупных?
12. Ежемесячная стипендия студента составляет А р., а расходы на проживание превышают стипендию и составляют В р. в месяц. Рост цен ежемесячно увеличивает расходы на 3%. Составьте программу расчета необходимой суммы денег, которую надо единовременно попросить у родителей, чтобы можно было прожить учебный год (10 месяцев), используя только эти деньги и стипендию.
13. Составить программу, которая печатает таблицу умножения и сложения натуральных чисел в десятичной системе счисления.
14. Составить программу, которая печатает таблицу умножения и сложения натуральных чисел в шестнадцатеричной системе счисления.
15. Найти сумму всех n-значных чисел (1 £ n £ 4).
16. Найти сумму всех n-значных чисел, кратных k (1 £ n £ 4).
17. Покажите, что для всех n = 1, 2, 3, … N
(1 2 +2 5 +. +n 5 )+(1 7 +2 7 +. +n 7 )=2 (1 +2+. +n) 4 .
18. Замените буквы цифрами так, чтобы соотношение оказалось верным (одинаковым буквам соответствуют одинаковые цифры, разным — разные):
ХРУСТ • ГРОХОТ = РРРРРРРРРРР.
19. Составить программу, которая запрашивает пароль (например, четырехзначное число) до тех пор, пока он не будет правильно введен.
Б
Следующие задачи решить двумя способами: с использованием цикла с параметром и одного из двух других типов цикла.
1. Дано натуральное число n. Вычислить:
Источник: poisk-ru.ru
Составить программу которая печатает таблицу умножения и сложения натуральных чисел
Составить программу, которая печатает таблицу умножения и сложения натуральных чисел в шестнадцатеричной системе счисления
Составить программу, которая печатает таблицу умножения и сложения натуральных чисел в шестнадцатеричной системе счисления
Регистрация: 09.01.2008
Сообщений: 26,238
на каком языке?
что сделано, что не получается?
и таблица умножения обычно до 9*9
а тут как? F*F ?
или нужно таблица для ВСЕХ натуральных чисел?!
и что за таблица сложения?
Я самый любопытный
Участник клуба
Регистрация: 24.07.2012
Сообщений: 1,919
var i,j:integer; begin Write(‘ ‘); For j:=0 to 15 do Write(IntToHex(j,1),’ ‘); Writeln; For i:=0 to 15 do begin Write(IntToHex(i,1),’ ‘); For j:=0 to 15 do Write(IntToHex(i*j,2),’ ‘); Writeln; end; Writeln; Write(‘ ‘); For j:=0 to 15 do Write(IntToHex(j,1),’ ‘); Writeln; For i:=0 to 15 do begin Write(IntToHex(i,1),’ ‘); For j:=0 to 15 do Write(IntToHex(i+j,2),’ ‘); Writeln; end; Writeln; Readln; end.
Источник: www.programmersforum.ru
Составить программу которая печатает таблицу умножения и сложения натуральных чисел
Writeln (‘ Результат второго суммирования:’, Summa);
for а : = 1 to N do Summa: =Summa+a;
Writeln (‘ Результат третьего суммирования:’, Summa)
Очевидно, что все три результата будут одинаковыми.
Пример 2. Функцию можно вычислить как предельное значение последовательности, определяемой рекуррентной формулой:
Начальное значение задается произвольно. За приближенное с точностью е значение корня берется первое , для которого выполняется условие: =eps do
WriteLn ( ‘Корень квадратный ( ‘, X, ‘ ) =’, Anew)
Пример З. На интервале [2; ] найти натуральное число с максимальной суммой делителей.
Решение. Идея алгоритма состоит в том, что все делители числа X, меньшие X, лежат в интервале от 1 до X div 2 + 1. Наибольшим делителем является само число X. Следовательно, для каждого из чисел [2. ] нужно отобрать и просуммировать все делители из указанного множества. По ходу вычислений производить отбор наибольшего значения.
Алгоритм будет содержать два вложенных цикла. Исполнение вложенных циклов происходит так: для каждого значения параметра внешнего цикла происходит полная «прокрутка» внутреннего цикла.
Program Sum_Del;
Var N, I, Sum_Max, Sum, K, Ch : Integer;
Write( ‘Введите число N: ‘ ) ;
for I :=2 to N do
for К: =1 to I div 2 + 1 do
if I mod К = 0
then Sum: =Sum + К;
if Sum >Sum_Max then
WriteLn(‘Максимальную сумму делителей ‘ ,
Sum_Max, ‘ имеет число ‘ ,Ch)
- основание и высота;
- две стороны и угол между ними (угол задан в радианах);
- три стороны.
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней?
Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько амеб будет через 3, 6, 9, 12, . 24 часа.
Около стены наклонно стоит палка длиной x м. Один ее конец находится на расстоянии у м от стены. Определить значение угла а между палкой и полом для значений x = k м и у, изменяющегося от 2 до 3 м с шагом h м.
У гусей и кроликов вместе 64 лапы. Сколько могло быть кроликов и гусей (указать все сочетания, которые возможны)?
Составить алгоритм решения задачи: сколько можно купить быков, коров и телят, платя за быка 10 р., за корову — 5 р., а за теленка — 0,5 р., если на 100 р. надо купить 100 голов скота?
- A OR В и В OR А;
- A AND В и В AND A;
- (A OR В) OR С и A OR С;
- (A AND В) AND С и A AND (В AND С);
- A AND (A OR В) и А;
- A OR (A AND В) и А;
- A AND (В OR С) и (A AND В) OR (A AND С);
- A OR (В AND С) и (A OR В) AND (A OR С).
Составить программу для проверки утверждения: «Результатами вычислений по формуле х 2 + х + 17 при 0 ≤ х ≤ 15 являются простые числа». Все результаты вывести на экран.
Составить программу для проверки утверждения: «Результатами вычислений по формуле х 2 + х + 41 при 0 ≤ х ≤ 40 являются простые числа». Все результаты вывести на экран.
Составить программу-генератор чисел Пифагора а, b, с (с 2 = а 2 + b 2 ). В основу положить формулы: a = m 2 — n 2 , b = 2 m n, с = m 2 + n 2 (m, n — натуральные, 1 5 + 2 5 + . + n5) + (1 7 + 2 7 + . + n 7 ) = 2 (1 + 2 + . + n) 4 .
Замените буквы цифрами так, чтобы соотношение оказалось верным (одинаковым буквам соответствуют одинаковые цифры, разным — разные):
ХРУСТ ▪ ГРОХОТ = РРРРРРРРРРР.
Составить программу, которая запрашивает пароль (например, четырехзначное число) до тех пор, пока он не будет правильно введен.
Следующие задачи решить двумя способами: с использованием цикла с параметром и одного из двух других типов цикла.
Дано натуральное число N. Вычислить:
Дано натуральное число N. Вычислить:
Дано натуральное число N. Вычислить произведение первых N сомножителей
Дано натуральное число N. Вычислить:
Дано действительное число х. Вычислить:
Даны натуральное n, действительное х. Вычислить:
Даны действительное число а, натуральное число n. Вычислить:
Даны действительное число а, натуральное число n. Вычислить:
Даны действительное число а, натуральное число n. Вычислить:
Дано действительное х. Вычислить:
Даны натуральное n, действительное х. Вычислить:
Дано натуральное га. Вычислить:
Дано натуральное число n. Вычислить:
Дано натуральное число п. Вычислить:
Дано натуральное число га. Вычислить:
Дано натуральное число га. Вычислить:
Числа Фибоначчи (fn) определяются формулами
Дано натуральное n. Вычислить: .
Дано натуральное n. Вычислить:.
у = cos х + cos х 2 + cos х 3 + . + cos x n .
у = sinl + sinl,l + sin1,2 + . + sin2.
Даны натуральные числа n и k. Вычислить:
Дано натуральное n. Вычислить:
Дан числовой ряд и малая величина е. Найти сумму ряда с точностью е, общий член которого задан формулой:
Найти наименьший номер последовательности, для которого выполняется условие . Вывести на экран этот номер и все элементы ai, где i = 1, 2, . n, если е = 10 -3 .
Найти наименьший номер элемента последовательности, для которого выполняется условие М. Вывести на экран этот номер и все элементы ai где i = 1, 2, . п.
Составить программу вычисления значений функции F(x) на отрезке [а;b] с шагом h. Результат представить в виде таблицы, первый столбец которой — значения аргумента, второй — соответствующие значения функции:
№ 94 № 95
Задачи на работу с целыми числами
Дано натуральное число n. Найти сумму первой и последней цифры этого числа.
Дано натуральное число n. Переставить местами первую и последнюю цифры этого числа.
Даны два натуральных числа m и n (m k цифра m.
Среди всех n-значных чисел указать те, сумма цифр которых равна данному числу k.
Заданы три натуральных числа А, В, С, которые обозначают число, месяц и год. Найти порядковый номер даты, начиная отсчет с начала года.
Найти наибольшую и наименьшую цифры в записи данного натурального числа.
Произведение n первых нечетных чисел равно р. Сколько сомножителей взято? Если введенное n не является указанным произведением, сообщить об этом.
Найти на отрезке [n; m] натуральное число, имеющее наибольшее количество делителей.
Задумано некоторое число x (x 3 + bx 2 + cx + d = 0, где а, b, с и d— заданные целые числа, причем a ≠ 0 и d ≠ 0.
Замечание: целыми корнями могут быть только положительные и отрицательные делители коэффициента d.
Дано натуральное число n. Поменять порядок следования цифр в этом числе на обратный или сообщить, что это невозможно в силу переполнения.
Найти все делители натурального числа n.
Натуральное число М называется совершенным, если оно равно сумме всех своих делителей, включая единицу, но исключая себя. Напечатать все совершенные числа, меньшие заданного числа N.
Натуральные числа а, b, с называются числами Пифагора, если выполняется условие a 2 + b 2 = c 2 . Напечатать все числа Пифагора, меньшие N.
Дано натуральное число n. Среди чисел 1, . n найти такие, запись которых совпадает с последними цифрами записи их квадратов (например, 6 2 = 36, 25 2 = 625).
Составьте программу, которая по номеру дня в году выводит число и месяц в общепринятой форме (например, 33-й день года — 2 февраля).
Долгожитель (возраст не менее 100 лет) обнаружил однажды, что если к сумме квадратов цифр его возраста прибавить число дня его рождения, то, как раз получится его возраст. Сколько лет долгожителю?
Дано целое n > 2. Напечатать все простые числа из диапазона [2, n].
Даны натуральные числа n, m. Найти все натуральные числа, меньшие n, квадрат суммы цифр которых равен m.
Найти натуральное число в диапазоне от 1 до n с максимальной суммой делителей.
Даны натуральные числа p и q. Получить все делители числа q, взаимно простые с р.
Для заданных натуральных n и к определить, равно ли число n сумме k-х степеней своих цифр.
Найти все двузначные числа, сумма квадратов цифр которых кратна М.
Найти все натуральные числа, не превосходящие заданного k, которые делятся на каждую из своих цифр.
Задано натуральное число n. Найти количество натуральных чисел, не превышающих n и не делящихся ни на одно из чисел 2, 3, 5.
Пусть fn— n-й член последовательности, определяемой следующим образом:
Покажите, что есть полный квадрат.
- первые N элементов этой последовательности;
- сумму первых N элементов;
- N-й элемент по заданному номеру N;
- первый элемент, больший данного числа М, а также номер этого элемента в последовательности;
- сумму всех элементов с номера N по номер М.
Игрок А объявляет двузначное число от 01 до 99. Игрок В меняет местами его цифры и полученное число прибавляет к сумме его цифр. Полученный результат он объявляет игроку А. Игрок А проделывает с этим числом ту же процедуру, и так они продолжают поступать поочередно, объявляя числа. От суммы чисел берется остаток от деления на 100, поэтому объявляются лишь двузначные числа. Какие числа может объявить игрок А на начальном шаге, чтобы игрок В в некоторый момент объявил число 00?
следующая страница >>
Смотрите также:
Задачник по программированию на языке Pascal
Решение 50 типовых задач по программированию на языке Pascal Дата размещения сборника в сети: 31. 08. 2012
1 Положение определяет общий порядок и проведение олимпиады по программированию на физическом факультете
При выполнении задания учащиеся должен применять следующие фразы
Курсовая работа по курсу «Программирование» Тема работы: «Разработка приложения с графическим интерфейсом на языке программирования С++ с использованием библиотеки qt»
Источник: mognovse.ru