1 Результат исполнения кода – создание одномерного Массива. И исполнение бесконечного цикла , поскольку значение присвоенное переменной Счетчик , в результате вычисления выражения Счетчик = Счетчик+1 , примет тип булево и значение Ложь.
2.
А. «010» + «010» = «010010»
Б. «010» ++ «010» = «01010»
В. «010» – «010» = 0
Г. «010» +- «010» = «010-10»
3. Замена переменных.
//Вариант с промежуточной переменной
1. задание. Программа зациклится, т.к.значение Счетчика не увеличивается/не изменяется. Метода добавить в массив, добавляет в элемент массива результат сравнения, т.к. Истину или Ложь
2. задание. в обработке написала
Сообщить("010" + "010" ); // 20
Сообщить("010" ++ "010"); //20
Сообщить("010" - "010" + 1); //1
Сообщить("010" +- "010" + 1); //1
1. Цикл после запуска становится бесконечным, т.к. код внутри скобок метода Добавить() воспринимается как выражение, вычисленное значение которого добавляется в массив М.
2. Второй знак воспринимается как унарная операция.
“010” + “010” =”010010″
“010” ++ “010” =”01010
“010” – “010” + 1 =1
“010” +- “010” + 1 =”010-101″
1. Зацикливание программы (т.е нет выхода из цикла), так как счетчик не переключается.
2.
2.1. “010010”. Это операция сложения двух строк.
2.2. “01010”. В данном случае сначала вторая часть выражения, так как у нее выше приоритет превращается в число 10, а потом идет сложение строки “010” и числа 10.
2.3. 1. Так как получается сначала строки “010” и “010” превратить в числа 10 и 10. Потом выполнить операцию вычитания, получается 0, а потом к нулю прибавить 1, получается 1.
2.4 “010-101”. Высший приоритет имеет унарная операция -, т.е сначала -“010” превращается в -10. Потом идет сложение первой части текстовой строки “010” с числом -10, получается “010-10”, потом к этой итоговой строке добавляется 1. Получается “010-101”
Проверял на обработке 1 урока.
3.
3.1. С использованием новой переменной
Начислено=1000;
Выплачено=2000;
НоваяПеременная = Начислено;
Начислено = Выплачено;
Выплачено = НоваяПеременная;
3.2 Без использования переменной
Начислено=1000;
Выплачено=2000;
Выплачено = Выплачено+Начислено; //3000
Начислено = Выплачено-Начислено; //3000-1000=2000
Выплачено = Выплачено-Начислено; //3000-2000=1000
При вставке фрагментов кода их следует обрамлять тегами
1. Выполнение программного кода приведет к бесконечному циклу, т.к. оператор «=» в выражении Счетчик = Счетчик + 1 , размещенного как параметр метода массива «Добавить()», выступает не оператором присваивания , а проверяет значения на равенство.
2. А – “010010”, Б – “01010” , В – 1 , Г – “010-101” .
3. С использованием промежуточной переменной
Все материалы этого сайта являются составной частью Базового / Продвинутого курсов по программированию - и являются объектами авторского и имущественного права.
Любое их распространение без письменного согласования с авторами запрещено.
Домашнее задание № 2 Блок 0.
1 Результат исполнения кода – создание одномерного Массива. И исполнение бесконечного цикла , поскольку значение присвоенное переменной Счетчик , в результате вычисления выражения Счетчик = Счетчик+1 , примет тип булево и значение Ложь.
2.
А. «010» + «010» = «010010»
Б. «010» ++ «010» = «01010»
В. «010» – «010» = 0
Г. «010» +- «010» = «010-10»
3. Замена переменных.
//Вариант с промежуточной переменной
Врем = Начислено;
Начислено = Выплачено;
Выплачено = Врем;
//3. Вариант без промежуточной переменной
Выплачено = 301;
Начислено = Начислено + Выплачено;
Выплачено = Начислено - Выплачено;
Начислено = Начислено - Выплачено;
<
2. задание. в обработке написала
Сообщить("010" + "010" ); // 20
Сообщить("010" ++ "010"); //20
Сообщить("010" - "010" + 1); //1
Сообщить("010" +- "010" + 1); //1
3. задание
Функция ПервыйСпособСПромежуточнойПеременной(Начислено, Выплачено)
ПромежуточнаяПеременная = Начислено;
Начислено = Выплачено;
Выплачено = ПромежуточнаяПеременная;
КонецФункции // ПервыйСпособСПромежуточнойПеременной()
Функция ВторойСпособБезПромежуточнойПеременной(Начислено, Выплачено)
Начислено = Начислено + Выплачено;
Выплачено = Начислено - Выплачено;
Начислено = Начислено - Выплачено ;
КонецФункции // ПервыйСпособСПромежуточнойПеременной()
1. Цикл после запуска становится бесконечным, т.к. код внутри скобок метода Добавить() воспринимается как выражение, вычисленное значение которого добавляется в массив М.
2. Второй знак воспринимается как унарная операция.
“010” + “010” =”010010″
“010” ++ “010” =”01010
“010” – “010” + 1 =1
“010” +- “010” + 1 =”010-101″
3.
Процедура ОбменЗначениямиСПромежуточнойПеременной(Команда)
Перем Начислено, Выплачено, Промежуточная;
Начислено = 1000;
Выплачено = 2000;
Сообщить("Обмен с промежуточной переменной.");
Сообщить(" ДО: Начислено - " + Начислено + "; Выплачено - " + Выплачено);
Промежуточная = Начислено;
Начислено = Выплачено;
Выплачено = Промежуточная;
Сообщить("ПОСЛЕ: Начислено - " + Начислено + "; Выплачено - " + Выплачено);
КонецПроцедуры
&НаКлиенте
Процедура ОбменЗначениямиБезПромежуточнойПеременной(Команда)
Перем Начислено, Выплачено;
Начислено = 150;
Выплачено = 301;
Сообщить("Обмен без промежуточной переменной.");
Сообщить(" ДО: Начислено - " + Начислено + "; Выплачено - " + Выплачено);
Выплачено = Начислено + Выплачено;
Начислено = Макс(-(Начислено - Выплачено),(Начислено - Выплачено));
Выплачено = Выплачено - Начислено;
Сообщить("ПОСЛЕ: Начислено - " + Начислено + "; Выплачено - " + Выплачено);
КонецПроцедуры
1. С использованием временной переменной
Начислено = Выплачено;
Выплачено = ВремПерем;
2.Без использования временной переменной
Выплачено = 301;
А = Начислено;
В = Выплачено;
А = А + В;
В = А - В;
А = А - В;
1. Зацикливание программы (т.е нет выхода из цикла), так как счетчик не переключается.
2.
2.1. “010010”. Это операция сложения двух строк.
2.2. “01010”. В данном случае сначала вторая часть выражения, так как у нее выше приоритет превращается в число 10, а потом идет сложение строки “010” и числа 10.
2.3. 1. Так как получается сначала строки “010” и “010” превратить в числа 10 и 10. Потом выполнить операцию вычитания, получается 0, а потом к нулю прибавить 1, получается 1.
2.4 “010-101”. Высший приоритет имеет унарная операция -, т.е сначала -“010” превращается в -10. Потом идет сложение первой части текстовой строки “010” с числом -10, получается “010-10”, потом к этой итоговой строке добавляется 1. Получается “010-101”
Проверял на обработке 1 урока.
3.
3.1. С использованием новой переменной
Начислено=1000;
Выплачено=2000;
НоваяПеременная = Начислено;
Начислено = Выплачено;
Выплачено = НоваяПеременная;
3.2 Без использования переменной
Начислено=1000;
Выплачено=2000;
Выплачено = Выплачено+Начислено; //3000
Начислено = Выплачено-Начислено; //3000-1000=2000
Выплачено = Выплачено-Начислено; //3000-2000=1000
При вставке фрагментов кода их следует обрамлять тегами
Скажите пожалуйста, как это технически делается?
Доброго дня, Дмитрий!
Необходимо использовать теги code.
А как технически это делать?
В начале ставите теги code. Далее текст, после тег с закрытием /code
1. Выполнение программного кода приведет к бесконечному циклу, т.к. оператор «=» в выражении Счетчик = Счетчик + 1 , размещенного как параметр метода массива «Добавить()», выступает не оператором присваивания , а проверяет значения на равенство.
2. А – “010010”, Б – “01010” , В – 1 , Г – “010-101” .
3. С использованием промежуточной переменной
Начислено = 1000;
Выплачено = 2000;
Сообщить("До обмена переменных: Начислено = " + Начислено + ", Выплачено = " + Выплачено);
Обмен(Начислено, Выплачено);
Сообщить("После обмена переменных: Начислено = " + Начислено + ", Выплачено = " + Выплачено);
КонецПроцедуры
Процедура Обмен(Операнд1, Операнд2)
ВременнаяПерем = Операнд1;
Операнд1 = Операнд2;
Операнд2 = ВременнаяПерем;
КонецПроцедуры
Без использования промежуточной переменной
Начислено = 150;
Выплачено = 301;
Сообщить("До обмена переменных: Начислено = " + Начислено + ", Выплачено = " + Выплачено);
Обмен(Начислено, Выплачено);
Сообщить("После обмена переменных: Начислено = " + Начислено + ", Выплачено = " + Выплачено);
КонецПроцедуры
Процедура Обмен(Операнд1, Операнд2)
Операнд2 = Операнд2 - Операнд1;
Операнд1 = Операнд1 + Операнд2;
Операнд2 = Операнд1 - Операнд2;
КонецПроцедуры