Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Оператор for Цикл ~ это повторение блока определённых действий заданное число раз

Работа добавлена на сайт samzan.net:


J a v a S c r i p t:   о с н о в ы   п р о г р а м м и р о в а н и я

Программирование алгоритмов циклической структуры

1. Оператор for  

Цикл – это повторение блока определённых действий  заданное число раз.

В языке JavaScript программирование циклов обеспечивают операторы for и while….

Синтаксис              for (i=A; i<B; i=i+C) {  – заголовок цикла

  блок операторов                   – тело цикла

}

где iсчётчик цикла, переменная

     А – начальное значение счётчика, число

     В – конечное значение счётчика, число

     С – шаг изменения счётчика, число.

В заголовке цикла должны быть указаны все параметры цикла. Тело цикла записывается в фигурных скобках, здесь перечислены через «;» операторы.  

Механизм управления

  1.  Проверка логического выражения i в заголовке цикла
  2.  Если i<b равно true, то выполняется {тело цикла},  затем происходит изменение (итерация) счётчика i=i+C и переход к пункту 1.

Если i<b равно false, то управление передаётся следующей строке за циклом.

Пошаговая обработка цикла

Выполнение тела цикла для какого-либо значения счётчика i называется шагом цикла.

Практическая работа «Каковы значения счётчика цикла?»

Как изменится значение счётчика цикла i для:

  1.  А=10   В=25   С=3        при условии i<B
  2.  А= -2   В= -8   С= -0.5   при условии i>=B
  3.  А= 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 с текстом.

Контрольные вопросы

  1.  Что называется циклом? Каков синтаксис оператора for? Параметры?
  2.  Каков механизм управления оператора for? Что называется шагом цикла?
  3.  Зачем задаются начальные значения переменных при вычислении сумм и произведений?
  4.  Как вычисляются в цикле суммы и произведения?
  5.  Что такое пошаговый вывод результатов?

Практическая работа «Оператор 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)

4. Пошаговый  ввод данных

В теле цикла возможно применение средства ввода данных с клавиатуры, метода prompt.

Задача «Средний вес».  Найти средний вес учеников вашей группы.

Решение. n – количество учеников; a – вес каждого ученика; s – сумма веса; sr – средний вес. s=a1 + a2 + … + an   ;  sr=s/n

Скрипт.            n=prompt(“Введи количество учеников”,””);

                 n=parseInt(n);

 s=0;

 for (i=1; i<=n; i++) {

 a=prompt(“Введи вес ”+i+” ученика”,””); a=parseFloat(a);

 s=s+a }

 sr=s/n;

 alert (“средний вес группы ”+sr+” кг”)

5. Условия в цикле

Задача «Числа в интервале». Среди поочерёдно вводимых с клавиатуры десяти целых чисел найти, сколько из  них  принадлежит интервалу (0, 25).

Решение. Описание переменных: a – вводимое с клавиатуры число; k – количество чисел, принадлежащих интервалу (0,25). На каждом шаге цикла выполним следующие действия:

      1).  ввод числа в переменную а; 

2).  проверка условия – если 0<а<25, то k=k+1

Скрипт.            k=0;

 for (i=1; i<=10; i++) {

 a=prompt(“Введи ”+i+” число”,””); a=parseInt(a);

     if (a>0 && a<25) {k=k+1}

 }

 document.write(“количество чисел в интервале (0,25) ” +k)

Контрольные вопросы

  1.  Назовите задачи обработки данных, применяемые в циклах?
  2.  Для чего в цикле применяются дополнительные переменные?
  3.  Как осуществляется пошаговый ввод данных в цикле?
  4.  Как обрабатываются условия в цикле?

Выводы

Цикл – это повторение блока определённых действий  заданное число раз.

В языке JavaScript программирование циклов обеспечивают операторы for…(цикл – “ДО”)  и while…(цикл – “ПОКА”). Число шагов цикла (итераций) контролируется с помощью специальной переменной – счётчика цикла. Тело цикла записывается в фигурных скобках, здесь перечислены через «;» операторы. Иногда для вычисления сложных сумм (произведений) в цикле применяют дополнительные переменные. В теле цикла можно осуществлять ввод  данных и вывод результатов, а также проверку условий.

Практическая работа “Демонстрация обработки циклов”

  •  Создайте html-файл
  •  Реализуйте работу скрипта в броузере

Задание 1. Продемонстрировать обработку данных в представленных выше примерах: «Средний вес», «Числа в интервале».

Задание 2*. Среди поочерёдно вводимых с клавиатуры 5 имён, выведите ваше имя шрифтом бóльшего размера.

Самостоятельная практическая работа «Обработка циклов for»

1 вариант

  1.  Напечатать таблицу соответствия между весом в фунтах и весом в килограммах для значений от 1 до 10 фунтов с шагом 1  (1 фунт = 400 грамм).
  2.  Среди поочерёдно вводимых с клавиатуры 10 чисел найти количество нулей, сумму отрицательных и произведение положительных чисел.

2 вариант

  1.  Составить таблицу стоимости порций сыра весом 50, 100, 150,… , 1000 г.

(Цена 1 кг сыра 85 руб.)

  1.  Среди поочерёдно вводимых с клавиатуры 10 чисел подсчитать, сколько раз в них встретится число А? Какими по счёту идут эти числа в последовательности вводимых чисел?

3 вариант

  1.  Напечатать таблицу перевода расстояний в дюймах в сантиметры для значений от 1 до

     10 дюймов с шагом 1   (1 дюйм = 2,54 см).

  1.  Даны числа А и В. Среди поочерёдно вводимых с клавиатуры 10 чисел подсчитать,    

     сколько раз встретится число А, а сколько раз число В?

6. Оператор while

Оператор while используется для создания цикла, выполняемого, пока значение логического выражения, указанного в качестве параметра, равно true. Тело цикла заключается в фигурные скобки.

Синтаксис               i=A

while(i<B) { 

  блок операторов;         – тело цикла

  i=i+C 

}

где i – счётчик цикла, A,B – начальное и конечное значения счётчика, С – шаг изменения счётчика.

Изменение счётчика i=i+c устанавливается в любом месте тела цикла по смыслу задачи.

Пример распечатки значений счётчика цикла i от 20 до 1:

                           i=20

while (i<=1) {

  document.write ( i )

  i--

}

7. Обработка прерываний в циклах

Выход из цикла, оператор break. Оператор break используется в циклах for и while для прекращения цикла. Управление передаётся следующему оператору за циклом.

Задача  «Поиск нулей». Есть ли нули среди поочерёдно вводимых с клавиатуры десяти целых чисел?

Решение.  В теле цикла whileвыполняем следующие действия:

1) ввод числа в переменную а;             

2) проверка условия (а==0); при истинности условия выполняем выход из цикла   

   оператором  break, так как «ноль найден» и продолжать цикл ни к чему.

Скрипт. i=1

 while (i<=10) {

       a=prompt(“введи”+i+”число”,””); a=parseInt(a);

        if (a==0) { alert (“введено число 0 на ”+i+” шаге”);

                    break }  

 i++

 }

 

Переход в цикле, оператор continue.  Оператор continue прерывает выполнение блока операторов в теле цикла for или while и вызывает переход на следующую итерацию (шаг) цикла. Причём, в цикле while происходит переход к проверке условия, а в цикле forпереход к приращению счётчика.

Задача “Перешагивание”.    Вычислить значение выражения y= 1/x для x, меняющегося от –5 до +5 с  шагом 1.

Решение. Так как при х=0 выражение y=1/x не имеет смысла, то в теле цикла выполним  прерывание оператором continue для перехода на следующий шаг цикла.

Скрипт.  

                          for (x=-5; x<=5; x++) {

    If (x==0) {continue}

    y=1/x;

  document.write(“1/”+x+” = ”+y+”<br>”) 

 }

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

Цикл, содержащий в себе один или несколько других циклов, называется вложенным. При этом цикл, охватывающий другие циклы, называется внешним, а содержащиеся внутри – внутренними.

Синтаксис

for ( параметры счётчика i ) {

  for ( параметры счётчика j ) {

  тело внутреннего цикла

  }

}

Механизм управления

При каждом значении счётчика внешнего цикла i, счётчик внутреннего цикла j принимает все заданные значения. То есть для каждого значения внешнего счётчика полностью выполняется внутренний цикл.

Практическая работа “Механизм вложенных циклов”

Задание 1. Какие значения переменных i и j распечатаются  на каждом шаге цикла?

 for (i=2; i<=11; i=i+3 ) {

  for ( j=1; j<=9; j=j+4 ) {

  document.write ( i, j)

  }

}

Задание 2.  Каковы значения переменных i, j и s на каждом шаге цикла? Каким будет значение s после выполнения программы?

s=0

for (i=1; i<=3; i++ ) {

  for ( j=i; j<=6; j=j+4 ) {

  s=s+j

  }

}

document.write (s)

Контрольные вопросы

  1.  Каков синтаксис и механизм управления цикла while…?
  2.  Как обрабатывается в цикле прерывание оператором break?
  3.  Как обрабатывается в цикле прерывание оператором continue?
  4.  Каков механизм управления вложенного цикла?
  5.  Продемонстрируйте в броузере работу приведённых выше примеров скриптов.

Практическая работа «Вложенные циклы»

  •  Создайте html-файлы: tabl.htm и mig.htm в своей папке группа.
  •  Запишите скрипты.
  •  Отредактируйте работу скриптов в броузере.

Задача «Вывод таблицы HTML».

             Используя структуру вложенных циклов forвывести таблицу

             размером 3 столбца на 10 строк.

Задача  «Мигание окна броузера».

             Осуществить динамическую смену двух цветов в окне броузера,

             используя свойство bgColor объекта document в цикле.

9. Условия и циклы

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

Задача «Вычисление значения по условию»

Вычислить значение Z для заданного целого числа n:

                                   (a+1) + (a+1)(a+2) + … + (a+1)(a+2) … (a+n), если n≥15

                        Z  =    1∙2∙ … ∙n , если   3≤n≤14

                                    0, в остальных случаях

Решение: Результатом значения переменной Z является один из трёх вариантов после     

                 проверки условия заданного числа n.

Если n≥15, то в цикле вычисляем Z=(a+1) + (a+1)(a+2) + … + (a+1)(a+2) … (a+n),    

иначе, если 3≤n≤14, то в цикле вычисляем факториал n!,

иначе Z=0.

Скрипт: n=prompt(“Введи число n”, “”); n=parseInt(n);

 if ( n>=15 )  {

  Z=0; P=1;

  for ( i=1; i<n; i++ )  {

  P=P*i; Z=Z+P 

  }

 } else { 

  if ( n>=3  &&  n<=14 )  {

     Z=1;

     for ( i=1; i<n; i++ )  {

     Z=Z*i 

     } 

   } else  { Z=0 }

 }

 

Выводы

  •  Для обработки прерываний в циклах используются операторы break (выход из цикла) и continue (переход на следующий шаг цикла).
  •  Цикл, содержащий в себе один или несколько других циклов, называется вложенным. При каждом значении счётчика внешнего цикла i, счётчик внутреннего цикла j принимает все заданные значения.
  •  Для программирования задач необходимо чётко понимать механизмы управления условного оператора if  и операторов циклов for и while

Практическая работа «Условия и циклы»

Задача «Выбор таблицы или мигания». Ввести число в переменную n, используя панель prompt. Если введённое число n равно 0, то вывести в окно броузера таблицу html размером 3 столбца на 10 строк. Если введённое число n равно 1, то осуществить мигание окна броузера двумя цветами. Если введено любое число, не равное 0 или 1, то вывести текст «При n =… циклы не выполнялись».

Дополнение 1*. При нажатии кнопки «Отмена» в панели prompt, выведите панель alert с  

                  текстом «Ничего не вычисляете! Обнови! Введи число!».

Дополнение 2*. Заполните ячейки таблицы числами от 1 до 30 по строкам (по   

                  горизонтали).

  •  Составьте конструкцию скрипта в тетради
  •  Выполните скрипт в файле tabl.htm, копируя необходимые фрагменты из файла mig.htm
  •  Протестируйте работу скрипта для значений n= 0; 1; 5
  •  Протестируйте работу скрипта при нажатии кнопки «Отмена» в панели prompt
  •  Проанализируйте вывод чисел в ячейках таблицы

10.Контрольная работа «Программирование циклов и условий»

1 Вариант

Задание 1. Какие значения принимают переменные i, j и k при выполнении цикла:

 k=0

for ( i=1; i<13; i=i+6 )  {

  for ( j=3; j<=11; j=j+4)  {

  k=k + (i+j)

  }

}

Задание 2. Запишите скрипт для вычисления значения переменной z при заданном n.

   z =    1 + 1∙2 +…+ 1∙2…∙n,    если 1≤n≤10

             n + n∙2 +…+ nn,         в остальных случаях

Задание 3. Запишите скрипт для вывода на экран чисел по заданному образцу:

 1  3  5  7  9

1  3  5  7

1  3  5

1  3

1

2 Вариант

Задание 1. Какие значения принимают переменные i, j и k при выполнении цикла:

 k = 0;

for ( i = 3; i<13; i = i+5 )  {

  for ( j = 0; j<9; j = j+4)  {

  k = k + ( i+j )

  }

}

Задание 2. Запишите скрипт для вычисления значения переменной z при заданном n.

                            z =    (1 + 2) + (1 + 22) + … + (1 + 2n),   если 0<n≤10

            n + (n + 1) + … + (n + n),              в остальных случаях

Задание 3. Запишите скрипт для вывода на экран чисел по заданному образцу:

 2

2  4

2  4  6

2  4  6  8

2  4  6  8  10

11. Операторы JavaScript основных алгоритмических структур: присваивания, условия, циклы, подпрограммы (повторение)

Виды присваиваний. Для решения любой задачи программа линейной структуры должна содержать в себе три части: ввод данных (prompt), их последовательная обработка (вычисление и присваивание), вывод результатов (document.write)

Оператором линейной структуры является оператор присваивания, который записывает значение в переменную.  

В языке JavaScript применяются следующие виды оператора присваивания:

 Вид: Аналог:

 X+=Y X=X+Y

 X-=Y X=X-Y

X*=Y X=X*Y

X/=Y X=X/Y

А также применяется присваивание – инкрементация (++) и декрементация (--):

 Вид: Аналог:

Х++ Х=Х+1

Х-- Х=Х-1

Условный оператор. Часто в задачах требуется выбрать порядок действий в зависимости от условия. Это выполняет условный оператор, и такие программы называются программами разветвляющейся структуры.

Синтаксис

if (условие) {операторы 1} else {операторы 2}

Механизм управления оператора if

  1.  В условии вычисляется значение логического выражения true или false при проверке знака сравнения (== равно, != не равно, > больше, < меньше, >= больше или равно, <= меньше или равно).
  2.  Если значение равно true, то выполняется блок {операторы 1}.

       Если значение равно false, то выполняется блок {операторы 2}.

Примечание

Блок else является необязательным, тогда условный оператор имеет вид:

if (условие) {операторы}

Операторы цикла. Цикл – это повторение блока определённых действий  заданное число раз. В языке JavaScript программирование циклов обеспечивают операторы for…  и while….

Оператор for 

Синтаксис               for (i=A; i<B; i=i+C) {      - заголовок цикла

  блок операторов  - тело цикла

}

где i – счётчик цикла, переменная

     А – начальное значение счётчика, число

     В – конечное значение счётчика, число

     С – шаг изменения счётчика, число.

В заголовке цикла должны быть указаны все параметры цикла. Тело цикла записывается в фигурных скобках, здесь перечислены через «;» операторы.  

Механизм управления

  1.  Проверка логического выражения i
  2.  Если значение логического выражения равно true, то выполняется {тело цикла},  затем происходит изменение (итерация) счётчика i=i+C и переход к пункту 1.
  3.  Если значение логического выражения равно false, то управление передаётся следующей строке за циклом.

Пошаговая обработка цикла

Выполнение тела цикла для какого-либо значения счётчика i называется шагом цикла.

Оператор whileОператор while используется для создания цикла, выполняемого, пока значение логического выражения, указанного в качестве параметра, равно true. Тело цикла заключается в фигурные скобки.

Синтаксис                 i=A

while (i<B) { 

  блок операторов;         – тело цикла

  i=i+C 

}

где i – счётчик цикла,

     A, B – начальное и конечное значения счётчика

     С – шаг изменения счётчика цикла.

Изменение счётчика   i=i+c   устанавливается в любом месте тела цикла по смыслу задачи.

Элемент function

Синтаксис             function ИмяФункции ( ) { тело функции }

Сложные программы размещают в тегах заголовка документа

<head><script> function ИмяФункции ( ) { тело функции }</script></head>,

 используя для этого элемент function, который играет роль подпрограммы.  

Механизм управления

В теле функции записывается алгоритм решения задачи в коде JavaScript. Для выполнения функции необходим её вызов. Вызов функции можно осуществить с помощью обработчика события из тега <body onLoad=”ИмяФункции( )”>, а также с помощью дополнительного скрипта из любого места тела документа <body><script> ИмяФункции( )</script></body>

Таким образом, функция считывается в память во время загрузки документа в броузер, а выполняется после загрузки всего документа.

Контрольные вопросы

  1.  Какова функция оператора присваивания?
  2.  Каковы виды оператора присваивания?
  3.  Что такое инкрементация и декрементация?
  4.  Когда применяется условный оператор?
  5.  Каков синтаксис оператора if?
  6.  Каков механизм управления условного оператора?
  7.  Какие операции сравнения выполняет условный оператор?
  8.  Назовите две формы условного оператора.
  9.  Что называется циклом?
  10.  Каков синтаксис операторов for и while? Параметры?
  11.  Каков механизм управления операторов цикла?
  12.  Что называется шагом цикла?
  13.  Как осуществляется обработка документа с элементом function?

28

PAGE  28




1. реферат дисертації на здобуття наукового ступеня кандидата сільськогосподарських наук6
2. .1.3. Понятие о сметной стоимости строительства и формах сметной документации Сметная стоимость строительст.
3. Плазма и ее применени
4. Конфликт между национальными меньшинствами и русским населением г Москва
5. Ею можно было пользоваться т
6. В этом бесформенные вещи обретают форму Подобный Огонь мигая поднимается через потоки Воздуха или Огонь
7. ~о~амды~ денсаулы~ са~тау п~ні бойынша силлабус СИЛЛАБУС
8. Магматизм и магматические горные породы
9. ТЕМЫ ЭССЕ РЕФЕРАТОВ.html
10. і. Найбільша цінність суспільства ~ людина
11. тематические методы нахождения наилучшего оптимального решения из множества возможных объединены названи
12. Лабораторные методы исследования крови, мочи у мелких домашних животны
13. Work of trnsporttion systems lthough we hve now fster nd more modern mens of communiction nd trnsport rilwys re still the sfest nd the most populr mens of trnsporttion
14. 14 4 Определение состава теплоты сгорания топлива 6 Водно ~ химический
15. Реферат Международная валютная система и особенности ее регулирования в 7090 годах
16. Тема 27 Конституционные основы местного самоуправления в Российской Федерации
17. Экономическая мысль древнего мира1
18. Нормы права предусматривающие обязанность нанимателя Характеристика на
19. тематизированное объединение изданных в разное время действующих нормативноправовых актов в виде их сборн
20. Ботанический сад