
- •2. Вычисление сумм и произведений
- •Контрольные вопросы
- •Практическая работа «Оператор for…Пошаговый вывод результатов»
- •Практическая работа «Обработка циклов for…»
- •4. Пошаговый ввод данных
- •5. Условия в цикле
- •Контрольные вопросы
- •1 Вариант
- •2 Вариант
- •3 Вариант
- •7. Обработка прерываний в циклах
- •8. Вложенные циклы
- •Практическая работа “Механизм вложенных циклов”
- •9. Условия и циклы
- •10.Контрольная работа «Программирование циклов и условий»
- •1 Вариант
- •2 Вариант
- •I f (условие) {операторы 1} else {операторы 2}
- •I f (условие) {операторы} Операторы цикла. Цикл – это повторение блока определённых действий заданное число раз. В языке JavaScript программирование циклов обеспечивают операторы for… и while….
J
a v
a S
c r
i p
t: о с н о в ы п
р о г р а м м и р о в а н и я
Программирование алгоритмов циклической структуры
1. Оператор for…
Цикл – это повторение блока определённых действий заданное число раз.
В языке JavaScript программирование циклов обеспечивают операторы for… и while….
Синтаксис for (i=A; i<B; i=i+C) { – заголовок цикла
блок операторов – тело цикла
}
где i – счётчик цикла, переменная
А – начальное значение счётчика, число
В – конечное значение счётчика, число
С – шаг изменения счётчика, число.
В заголовке цикла должны быть указаны все параметры цикла. Тело цикла записывается в фигурных скобках, здесь перечислены через «;» операторы.
Механизм управления
Проверка логического выражения i<В в заголовке цикла
Если i<b равно true, то выполняется {тело цикла}, затем происходит изменение (итерация) счётчика i=i+C и переход к пункту 1.
Если i<b равно false, то управление передаётся следующей строке за циклом.
Пошаговая обработка цикла
Выполнение тела цикла для какого-либо значения счётчика i называется шагом цикла.
Практическая работа «Каковы значения счётчика цикла?»
Как изменится значение счётчика цикла i для:
А=10 В=25 С=3 при условии i<B
А= -2 В= -8 С= -0.5 при условии i>=B
А= 1 В=10 С=-2 ( i<B – “зацикливание”, i>B – цикл не выполняется)
Сколько шагов цикла выполнится в каждом случае?
2. Вычисление сумм и произведений
Задача “Вычисление суммы чётных чисел”. Вычислить сумму чётных чисел от 1 до 100. Распечатать сумму каждого шага цикла.
Постановка задачи: S = 2+4+6+…+100
С
крипт:
<script>
function Start( ) {
S=0;
for (i=2; i<=100; i=i+2) {
S=S+i;
document.write (S)
}
} </script>
Пошаговая обработка цикла:
На 1 шаге: На 2 шаге: На 3 шаге:
i = 2 2<=100 (true) i = 4 4<=100 (true) i = 6 6<=100 (true)
S=0+2 S=2+4 S=2+4+6
i =2+2 i =4+2 i =6+2
Задача «Среднее арифметическое нечётных чисел». Вычислить среднее арифметическое нечётных чисел от 1 до N, где N – задано.
Постановка задачи. S=1+3+…+N; K – количество нечётных чисел; SA=S/K.
С
крипт.
N=prompt
(“Введи
N”, “”);
N=parseInt(N);
S=0; K=0;
for (i=1; i<=N; i=i+2) {
S=S+i; K=K+1 }
SA=S/K;
document.write (SA) Выполните первые три шага цикла для N=5.
Задача «Факториал». Вычислить значение факториала N! для заданного числа N. Распечатать значение произведения каждого шага цикла по следующему образцу:
Произведение … го шага = …
Постановка задачи. P=1*2*3*…*N
С
крипт.
N=prompt (“Введи
N”, “”);
N=parseInt(N);
P=1;
for (i=1; i<=N; i++) {
P=P*i
document.write (“Произведение”+ i+” го шага =”+ P)
}
При выводе значений произведения используем конкатенацию переменных i и P с текстом.
Контрольные вопросы
Что называется циклом? Каков синтаксис оператора for…? Параметры?
Каков механизм управления оператора for…? Что называется шагом цикла?
Зачем задаются начальные значения переменных при вычислении сумм и произведений?
Как вычисляются в цикле суммы и произведения?
Что такое пошаговый вывод результатов?
Практическая работа «Оператор for…Пошаговый вывод результатов»
Создайте html-файл с именем заголовки.htm
Запишите скрипт и отредактируйте работу скрипта в броузере
Задача «Сумма». Вычислите сумму для заданного числа N≥ 4, распечатайте значение суммы на каждом шаге цикла.
S = 4 + 7 + 10 +…+ N.
Отформатируйте вывод результатов по следующему образцу: Сумма … го шага равна …
Задача «Уровни заголовков HTML». Выведите числа от 1 до 6 шрифтами заголовков HTML от <H1> до <H6>. Отредактируйте вывод чисел тестом: Заголовок … уровня
<script>
function Start() {
for (i=1; i<=6; i++) {
document.write (“<H”+i+”>Заголовок ”+i+”уровня</H”+i+”>”)
}
} </script>
Задание «Таблица умножения». Составьте таблицу умножения для числа 12 (1*12, 2*12, …, 12*12), используя таблицу HTML по собственному образцу.
Практическая работа «Обработка циклов for…»
Каковы значения переменных i и S на каждом шаге цикла?
Каким будет значение S после выполнения цикла?
Сколько шагов выполнит цикл? Запишите постановку задачи.
А) S=1 Б) S=0
for (i=1;i<=4;i++) { for (i=2;i<=14;i=i+3) {
S=S*2} S=S+ i*i }
document.write(S) document.write(S)
3. Применение дополнительных переменных
Иногда для вычисления сложных сумм (произведений) в цикле применяют дополнительные переменные.
Задача «Сложная сумма». Вычислить z для заданных значений а и n.
z = (a +1) + (a+1)(a+2) +…+ (a+1)(a+2)…(a+n)
Решение. Данная задача требует вычисление произведений и суммы. Обозначим
произведение переменной р. Тогда на первом шаге цикла p = (a+1), а на
последнем шаге p = (a+1)(a+2)…(a+n).
С
крипт.
n=prompt(“Введи
n”,””); n=parseInt(n);
a=prompt(“Введи a”,””); a=parseFloat(a);
z=0; p=1;
for (i=1; i<=n; i++) {
p=p*(a+i); z=z+p}
alert (“сложная сумма =” +z)
Пошаговая обработка цикла: Как изменяются значения переменных i, p, z для n=3?
На 1 шаге: На 2 шаге: На 3 шаге:
i=1 i=2 i=3
p=1*(a+1) p=(a+1)(a+2) p=(a+1)(a+2)(a+3)
z=0 + (a+1) z=(a+1) + (a+1)(a+2) z=(a+1) + (a+1)(a+2) + (a+1)(a+2)(a+3)