Page 1

Урок 4. Циклы и массивы. О чем урок: циклы while do-while for массивы функции для работы с массивами Смотреть урок: [marafon_4.mp4]

Циклы Цикл – управляющая конструкция, предназначенная для многократного повторения определённого набора команд. Существует три основных вида циклов:  while  do-while  for Рассмотрим каждый из них. 1. while

Синтаксис цикла while почти не отличается от обыкновенного ветвления. while (условие)

if (условие)

{

{ операторы

}

операторы }


Отличие заключается в том, что при ветвлении (оператор if), команды, которые находятся внутри фигурных скобок, будут выполнены один раз в случае истинности условия. Если же мы создаём цикл (оператор while), то данный набор команд будет выполняться несколько раз, до тех пор, пока условие не станет ложным. Рассмотрим пример такого цикла: var i = 1; while (i <= 10) { alert(i); i++;

// короткая запись выражения i = i + 1;

} Действия, которые написаны в теле цикла, будут выполняться до тех пор, пока условие (i <= 10) не станет ложным. Так как мы каждый раз увеличиваем значение переменной на 1, на экране отобразятся всплывающие окошки с числами от 1 до 10. Переменная i называется счётчиком цикла. Её значение обязательно должно меняться на каждой итерации цикла. Представьте, что мы забыли написать команду i++. В данном случае в переменной i будет лежать значение 1, а условие (i <= 10) всегда будет верным. Такой цикл называется бесконечным. Разумеется, бесконечные циклы – это плохо, так как они приводят к зависанию программы. Поэтому очень внимательно смотрите на счётчик цикла: его использование в условии и изменение на каждой итерации.

2. do-while Цикл do-while отличается от while тем, что независимо от истинности условия, он будет выполнен хотя бы один раз. Синтаксис цикла do-while: do { операторы } while(условие);


Например: var i = -2; do { alert(i); i++; } while(i >= 0);

Мы видим, что уже на первой итерации цикла условие (i >= 0) является ложным. Однако, цикл будет выполнен как минимум один раз вне зависимости от истинности условия. Поэтому на экране мы увидим окошко со значением -2. Затем значение переменной i изменится с -2 до -1. И только теперь мы обращаем внимание на условие: (-1 >= 0) ложно, поэтому цикл завершается. 3. for Ещё один вид цикла. От предыдущих он отличается лаконичной формой записи и невозможностью случайно забыть про переменную-счётчик. Синтаксис цикла for: for (объявление счётчика; условие; изменение счётчика) { операторы } Например: for (var i = 0; i < 100; i++) { alert(i); } Про счётчик цикла нам становится практически невозможно забыть, потому что мы должны прописать его в круглых скобках после слова for. В данном случае на экран будут выведены сообщения с числами от 0 до 100.


Массивы Массив – упорядоченный набор ячеек для хранения данных одного типа. Сравним его с обычной переменной. Переменная - область памяти, адрес которой можно использовать для осуществления доступа к данным. Данные, находящиеся в переменной, называются значением этой переменной. Представьте себе супермаркет, при входе в который нужно сдавать сумки. Одна ячейка в камере хранения является переменной, в которую Вы положите значение, равное своей сумке. А вот сама камера хранения, т.е. набор ячеек, является массивом. Проверим данный пример с точки зрения определения массива. Действительно, набор ячеек упорядочен (у каждой есть свой номер), и в них мы все кладём данные одинакового типа (тип сумка). Объявить массив в javascript можно, перечислив через запятую его элементы внутри квадратных скобок, например: var arr = [‘a’, ‘б’, ‘в’, ‘г’];

Обратите внимание на отличие от реальной жизни – элементы нумеруются, начиная с 0, а не с привычной нам 1. В остальном же всё похоже: есть номера ячеек, как и в камере хранения в супермаркете, а есть и значения, которые в них хранятся (только это уже будут не сумки).


Номер ячейки называется индексом. Используя его, мы можем получить значение из конкретной ячейки. Записывается это следующим образом: var arr = [‘a’, ‘б’, ‘в’, ‘г’]; alert (arr[1]); Индекс мы указываем в квадратных скобках после имени переменной, в которой лежит массив. В итоге на экране мы увидим букву ‘б’. Схематично это выглядит так:

Для того чтобы поменять значение ячейки, мы должны воспользоваться оператором присваивания, например: var arr = [‘a’, ‘б’, ‘в’, ‘г’]; arr[1] = ‘х’; Также в javascript существуют специальные функции для работы с массивами.

Функции для работы с массивами Таких функций огромное множество. Мы рассмотрим только основные из них. 1. Добавление элемента в конец массива var arr = [‘a’, ‘б’, ‘в’, ‘г’]; arr.push(‘д’);


Функция push принимает в качестве параметра один элемент, который добавляет в конец массива. Т.е. создаётся ещё одна дополнительная ячейка, номер которой будет на 1 больше, чем у предыдущей. Обратите внимание на форму записи. Сначала пишется имя массива, затем точка и только после этого сама функция. 2. Удаление элементов с конца массива var arr = [‘a’, ‘б’, ‘в’, ‘г’]; arr.pop(); Функция pop удаляет последний элемент из массива. Последней ячейкой считается та, номер которой является наибольшим. 3. Очистка значения элемента var arr = [‘a’, ‘б’, ‘в’, ‘г’]; delete arr[1] ; С помощью такой записи мы удаляем значение элемента. Обратите внимание, что физически ячейка никуда не исчезает. Мы просто вынули из неё сумку. В итоге в массиве будут лежать следующие элементы:

‘a’, ‘’, ‘в’, ‘г’ Итак, основные функции для работы с массивами мы рассмотрели. Теперь давайте подумаем, а для чего нам, вообще, могут быть нужны массивы? Почему бы просто не создать несколько переменных, в каждую из которых мы можем положить какое-то конкретное значение. Дело в том, что зачастую нам нужно показать пользователю все значения всех ячеек. И если мы пользуемся массивом, то можем сделать это удобным образом, пройдя по массиву циклом, например: var arr = [‘a’, ‘б’, ‘в’, ‘г’]; for (var i = 0; i < arr.length; i++) // arr.length – количество элементов { alert(arr[i]); }


Мы используем счётчик цикла как номер ячейки, которую хотим показать. В итоге на экране будут отображены значения всех элементов массива.

Самоконтроль  что такое цикл  while  di-while  for  отличие while от do-while  зачем нужен счётчик цикла  в каком цикле про счётчик забыть практически невозможно  что такое массив  чем массив отличается от обычной переменной  как мы можем обратиться к элементу массива  что такое индекс  как изменить значение элемента массива  как добавить элемент в массив  как удалить элемент из конца массива  как стереть значение элемента  чем массив лучше нескольких переменных  обход элементов массива с помощью цикла

Домашнее задание 1. Написать функцию, которая принимает в качестве параметра массив чисел. Она должна обойти весь массив и вернуть среднее арифметическое его элементов. Пример. Вход: [4, 7, 8, 9] Выход: 7


2. Написать функцию, которая принимает в качестве параметра массив и возвращает массив, элементы которого располагаются в обратном порядке. Пример. Вход: [‘hello’, ‘hi’, ‘day’, ‘night’, ‘yes’] Выход: [‘yes’, ‘night’, ‘day’, ‘hi’, ‘hello’]

Lesson4 mtd  

gm

Read more
Read more
Similar to
Popular now
Just for you