Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Условный оператор IF. Оператор выбора CASE. Массивы





Иногда, в зависимости от условия, нужно выполнить различные действия. Для этого используется оператор if.

Например:

var year = prompt('В каком году появилась спецификация ECMA-262 5.1?', '');

if (year!= 2011) alert('А вот и неправильно!');

Оператор if

Оператор if («если») получает условие, в примере выше это year!= 2011. Он вычисляет его, и если результат — true, то выполняет команду.

Если нужно выполнить более одной команды — они оформляются блоком кода в фигурных скобках:

if (year!= 2011) {

alert('А вот..');

alert('..и неправильно!');

}

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

Это улучшает читаемость кода.

Преобразование к логическому типу

Оператор if (...) вычисляет и преобразует выражение в скобках к логическому типу.

В логическом контексте:

Число 0, пустая строка "", null и undefined, а также NaN являются false,

Остальные значения — true.

Например, такое условие никогда не выполнится:

if (0) { // 0 преобразуется к false

...

}

…А такое — выполнится всегда:

if (1) { // 1 преобразуется к true

...

}

Можно и просто передать уже готовое логическое значение, к примеру, заранее вычисленное в переменной:

var cond = (year!= 2011); // true/false

if (cond) {

...

}

Неверное условие, else

Необязательный блок else («иначе») выполняется, если условие неверно:

var year = prompt('Введите год появления стандарта ECMA-262 5.1', '');

if (year == 2011) {

alert('Да вы знаток!');

} else {

alert('А вот и неправильно!'); // любое значение, кроме 2011

}

Несколько условий, else if

Бывает нужно проверить несколько вариантов условия. Для этого используется блок else if.... Например:

var year = prompt('В каком году появилась спецификация ECMA-262 5.1?', '');

if (year < 2011) {

alert('Это слишком рано..');

} else if (year > 2011) {

alert('Это поздновато..');

} else {

alert('Да, точно в этом году!');

}

В примере выше JavaScript сначала проверит первое условие, если оно ложно — перейдет ко второму — и так далее, до последнего else.

Оператор вопросительный знак '?'

Иногда нужно в зависимости от условия присвоить переменную. Например:

var access;

var age = prompt('Сколько вам лет?', '');

if (age > 14) {

access = true;

} else {

access = false;

}

alert(access);

Оператор вопросительный знак '?' позволяет делать это короче и проще.

Он состоит из трех частей:

условие? значение1: значение2

Проверяется условие, затем если оно верно — возвращается значение1, если неверно — значение2, например:

access = (age > 14)? true: false;

Оператор '?' выполняется позже большинства других, в частности — позже сравнений, поэтому скобки можно не ставить:

access = age > 14? true: false;

…Но когда скобки есть — код лучше читается. Так что рекомендуется их писать.

Оператор выбора CASE

Ранее Вы познакомились с условным оператором If, который позволяет программе выполнять переходы на ту или иную ветвь по значению булева условия. Используя несколько операторов If, можно производить ветвление по последовательности условий. В приведенном фрагменте показано, как при помощи ряда операторов If можно преобразовать целое число (в диапазоне 0-9) к его словесному представлению:

if Ziphra = 0

then

write ('Нуль');

if Ziphra = 1

then

write ('Единица');

if Ziphra = 2

then

write ('Два');

и т.д.

Вы уже, наверное, представили, насколько этот подход однообразный и утомительный. Язык Паскаль предоставляет для этих целей другую управляющую структуру (оператор выбора case), которая позволяет построить ветвление по ряду условий в форме, более удобной для чтения программ.

Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит так называемый ключ выбора (или селектор) - выражение любого типа (кроме типов REAL и STRING).

Общая форма записи следующая:

case Выражение of

значение1: оператор (группа операторов);

значение2: оператор (группа операторов);

......................

значениеN: оператор (группа операторов)

else оператор (группа операторов);

end;

Оператор выбора работает следующим образом. Сначала вычисляется значение выражения, стоящего после зарезервированного слова case, а затем выполняется оператор (или составной оператор), соответствующий результату вычисления выражения.

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

Например,

case NUMBER mod 2 of

0: writeln (NUMBER, '- число четное')

else writeln (NUMBER, '- число нечетное');

end;

Если один оператор выполняется при нескольких значениях, то их можно перечислить через запятую.

case MONTH of

1, 2, 3: writeln ('Первый квартал');

4, 5, 6: writeln ('Второй квартал');

7, 8, 9: writeln ('Третий квартал');

10, 11, 12: writeln ('Четвёртый квартал');

end;

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

case CODE of

1: for i:= 1 to 5 do

writeln ('*******');

2: begin {составной оператор}

x:=sqr(y-1);

writeln (x);

end;

3: {пустой оператор}

end;

Любому заданному значению селектора соответствует лишь один вход в списке операторов. Константы должны принадлежать тому же типу, что и селектор. Если селектор принимает значение, которому не соответствует ни один вход, то будет выполняться оператор, следующий за словом else. Если же этого оператора нет, то никакие альтернативы не будут выполняться.

Если оператор должен выполняться при нескольких последовательных значениях селектора, образующих некоторый промежуток, можно использовать следующую форму записи:

case Chislo of

0..9: write ('Это число является цифрой');

Посмотрите, как применен оператор выбора при решении следующей задачи:

Задача. Написать программу преобразования цифр в слова.

Program Number1;

Var

a: integer;

Begin

writeln('Введите цифру ');

readln(a);

if (a<0) or (a>9)

then

writeln ('Это число не является цифрой')

else

case a of

0: writeln ('ноль');

1: writeln ('один');

2: writeln ('два');

3: writeln ('три');

4: writeln ('четыре');

5: writeln ('пять');

6: writeln ('шесть');

7: writeln ('семь');

8: writeln ('восемь');

9: writeln ('девять');

end;

readln;

End.

Program Number2;

Var

a: integer;

Begin

writeln('Введите цифру ');

readln(a);

case a of

0: writeln ('ноль');

1: writeln ('один');

2: writeln ('два');

3: writeln ('три');

4: writeln ('четыре');

5: writeln ('пять');

6: writeln ('шесть');

7: writeln ('семь');

8: writeln ('восемь');

9: writeln ('девять')

else writeln ('Это число не является цифрой');

end;

readln;

End.

Массив (в некоторых языках программирования также таблица, ряд, матрица) — набор компонентов (элементов), расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу (индексам). В отличие от списка, массив является структурой с произвольным доступом[1].

Размерность массива — количество индексов, необходимое для однозначного доступа к элементу массива[2][3].

Форма или структура массива — количество размерностей и размер (протяжённость) массива для каждой размерности[4], может быть представлен одномерным массивом[5].

В языке программирования APL массив является основным типом данных (при этом нуль-мерный массив называется скаляром, одномерный — вектором, двумерный — матрицей)[5].

Date: 2015-11-13; view: 568; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию