Блок-схема реализации алгоритма решения задачи
ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И ЕСТЕСТВЕННЫХ НАУК
КАФЕДРА МАТЕМАТИЧЕСКОГО И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ
Методы и средства программирования для Интернет
Отчет по лабораторной работе №10
студента 2 курса группы 07001402
Черноморец Дарьи Андреевны
URL для запуска сайта на выполнение:
Проверили:
Михелев Владимир Михайлович
Кузнецов Константин Владимирович
Белгород 2015
Тема работы:Циклы в JavaScript.
Задание
Вариант 17
Написать программу на HTML и JavaScript для следующего задания: Определите, являются ли два введенных числа дружественными. Числа называются дружественными, если каждое из них равно сумме делителей другого не считая самого числа.
Теоретическая часть
JavaScript — прототипно-ориентированный сценарный язык программирования.
JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.
На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке.
Операторами цикла в JavaScript являются for, while, do/while, for:in, а также операторы break, continue, которые используются внутри циклов.
В моём задании использовался оператор цикла for. Он был необходим, чтобы определить сумму делителей введённого числа:
for (var i=2; i<=n/2; i++)
{ if ( n % i == 0)
s += i;
}
Общий формат записи for:
for(<инициализация>;<условие_продолжения>;<изменение_счетчика>)
{
<блок операторов>;
}
Цикл for начинается с выполнения блока <инициализации>, где, как правило, определяется начальное значение счетчика цикла. Далее следует проверка <условия_продолжения>, и в случае, если это условие истинно, целиком выполняется <блок_операторов> в теле цикла.
На этом завершается первый шаг цикла, и управление вновь передается заголовку for, который производит <изменение_счетчика>. Следующий шаг также будет включать в себя проверку <условия_продолжения> и, в случае его истинности, последовательное выполнение операторов тела цикла. Циклическое повторение будет продолжено до тех пор, пока <условие_продолжения> не станет ложным. На этом выполнение цикла прекращается, и управление передается следующему оператору за пределами тела цикла for.
В данной работе не были использованы операторы цикла while и do/while, поскольку было удобнее применить цикл for. Оператор цикла while – это оператор цикла, который повторяет цикл, пока значение condition есть истинно (true). Как только значение condition становится ложным (false), то управление переходит к первому оператору после фигурной скобки, закрывающей тело цикла while. А оператор цикла do/while – это оператор цикла с пост условием, который повторяет цикл, пока значение condition есть истинно (true). Как только значение condition становится ложным (false), то управление переходит к первому оператору после ключевого слова while. Также в данной работе не было необходимости в операторах break – прерывает текущий цикл for и while, передавая управление первому оператору после цикла, и continue – передает управление оператору проверки истинности условия в цикле while и оператору обновления значения счетчика в цикле for, то есть переходит на новую итерацию цикла.
Тестовые данные
Номер (№) | Введённые числа | Дружественные числа? | |
1-ое | 2-ое | ||
нет | |||
да |
Таблица 1. Тестовые данные
Блок-схема реализации алгоритма решения задачи
Блок-схема 1. Функция (sumdel), считающая сумму делителей введённого числа
Где n – число, у которого надо определить сумму делителей, i – переменная счётчика, s – сумма делителей.
Блок-схема 2. Функция (fr), которая определяет, являются ли два числа дружественными
Где n, m – пара чисел, для которой надо определить, дружественные они друг для друга или нет; result – переменная, в которую записывается результат. Здесь используется описанная ранее функция расчёта суммы делителей – sumdel.