Есть такой код:
// Инициализация переменных, "a" и "b" присваивается 1
var a = 1, b = 1, c, d;
// Переменная "a" увеличивается на 1, после этого присваивается
// переменной "c" и выводится.
c = ++a; alert(c); // 2
// Переменная "b" присваивается переменной "d". После присваивания
// "b" увеличивается на 1 (становится 2). Выводится переменная "d".
d = b++; alert(d); // 1
// Переменная "a" (была 2 стала 3) увеличивается на 1,
// после этого выполняется операция сложения и присваивается "c"
c = (2+ ++a); alert(c); // 5
// Складывается 2 + b (2 + 2)и сумма присваивается "d". После этого
// "b" увеличивается на 1 (становится 3)
d = (2+ b++); alert(d); // 4
// Выводим "a"
alert(a); // 3
// Выводим "b"
alert(b); // 3
Необходимо разобраться почему работает именно так. Объяснения написать в виде комментария к каждой строчке.
Чему будет равен x в примере ниже?
var a = 2;
// "a" умножается на "a" , потом присваивается 1.
var x = 1 + (a *= 2);
Результат: x =
* Забегая немного вперед. Напишите программу, которая выводит через console.log все числа от 1 до 100, с двумя исключениями. Для чисел, нацело делящихся на 3, она должна выводить‘Fizz’, а для чисел, делящихся на 5 (но не на 3) – ‘Buzz’.Когда сумеете – исправьте её так, чтобы она выводила «FizzBuzz» для всех чисел, которые делятся и на 3 и на 5.
a)
function FizzOrBuzz() {
for (var i = 1; i <= 100; i++) {
if( (i % 3) == 0)
console.log("Fizz");
else if( (i % 5) == 0)
console.log("Buzz");
else
console.log(i);
}
}
b) Когда сумеете – исправьте её так, чтобы она выводила «FizzBuzz» для всех чисел, которые делятся и на 3 и на 5.
function FizzAndBuzz() {
for (var i = 1; i <= 100; i++) {
if( (i % 3) == 0 && (i % 5) == 0 )
console.log("FizzBuzz");
else
console.log(i);
}
}
Домашнее задание из методички.
Добавить еще одну переменную с помощью prompt. Передать эту переменную во второй цикл, в качестве предела вычисления переменной j.
var n = parseInt(prompt("Введите число: ", 1));
for(var i=1;i<=n;i++){
for(var j=1;j<=10;j++){
document.write("<br>",i," x ",j," = ", j*i );
}
}
/*
Домашнее задание.
Добавить еще одну переменную с помощью prompt. Передать эту переменную во второй цикл,в качестве предела вычисления переменной j.
*/
Решение:
function ixj() {
var n = parseInt(prompt("Введите число n: ", 1));
var m = parseInt(prompt("Введите число m: ", 1));
var out = "<h3>ТАБЛИЦА УМНОЖЕНИЯ</h3>";
for(var i=1;i<=n;i++){
out += "<div class=\"tablica\"><table>";
for(var j=1;j<=m;j++){
//document.write("<br>",i," x ",j," = ", j*i );
out += "<tr><td>" + i + "</td><td> x </td><td>" + j + "</td><td> = </td><td>" + (j*i)+ "</td></tr>";
}
out += "</table></div>";
}
document.getElementById('out').innerHTML= out;
}
Напишите цикл, выводит такой треугольник:
#
##
###
####
#####
######
#######
Решение:
function tetra() {
for (var i = 1; i <= 7; i++) {
for (var j = 1; j <= i; j++) {
document.write("#");
}
document.write("<br>");
}
}
tetra();
* Напишите программу, создающую строку, содержащую решётку 8х8, в которой линии разделяются символами новой строки. На каждой позиции либо пробел, либо #. В результате должна получиться шахматная доска.
Решение:
function shashki() {
document.write("<pre>");
for (var i = 1; i <= 8; i++) {
for (var j = 1; j <= 8; j++) {
if( j%2 == i%2 ){
document.write("#");
} else {
document.write(" ");
}
}
document.write("<br>");
}
document.write("</pre>");
}
shashki();