Базовый курс. Занятие №2

Приступайте ко второму занятию базового курса.

ps. На этой странице не нужно отчитываться о выполнении ДЗ.

комментариев 12 на “Базовый курс. Занятие №2”

  1. Решение ДЗ №2.
    1. Предполагалось, что цикл будет выполнен 1000 раз.
    Но цикл будет бесконечный, потому что в коде встречается не оператор присваивания, а оператор сравнения.
    Чтобы произошло 1000 итераций нужно изменить код:
    М.Добавить(Счетчик);
    Счетчик=Счетчик+1

    2. Для оператора А получим склеивание строк получим строку 010010
       Для оператора Б преобразуем 010+(+010) получим строку 01010
       Для оператора В 010-010+1 это числа получим число 1
       Для оператора Г преобразуем к виду 010+(-010)+1 получим строку 010-101

    3. а). С использованием временной переменной:
              Начислено=1000;
              Выплачено=2000;

              ВременнаяПеременная=Выплачено;
              Выплачено=Начислено;
              Начислено=ВременнаяПеременная;

       в. без использования временной переменной:
             Начислено=Начислено+Выплачено;
             Выплачено=Начислено-Выплачено;
             Начислено=Начислено-Выплачено;

    • Dobrenko Oleg 01.05.2012 в 13:15

      Losick, ваш отчет принят.

      • Уважаемая команда курсов по Программированию, с праздником Первомая!
        Прошу прощения, но почему-то нет решения Преподавателя.
        Возможно мы не в той ветке отчитываемся,
        но в другой ветке система не принимает комментариев.

        • Dobrenko Oleg 02.05.2012 в 07:30

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

          • Да, Олег, но при попытке внести комментарий в этой ветке
            База пишет следующее: Извините, обсуждение этой записи закрыто.
            Такая же ситуация и с решением Третьего ДЗ.
            А хочется получить решение Преподавателя.    
            Спасибо!

            • Dobrenko Oleg 03.05.2012 в 13:54

              Проверьте почту (вам был выслан новый пароль для входа в блог) и попытайтесь повторно опубликовать комментарий.

  2. Сергей Бауэр 24.04.2012 в 15:59

    №1
    Цикл будет повторяться бесконечно, произойдет зацикливание. Так как условия выхода из данного цикла, выполнены не будут. Для добавления элементов массива используется метод объекта М.Добавить. В качестве параметра этого метода используется операция сравнения переменных Счетчик и Счетчик +1, результатом этого сравнения будет значение тип Булево “Ложь”. Массив будет бесконечно заполняться элементами с Булевским значением “Ложь”.
    №2
     А. 010010
     Б. 01010
     В. 1
     Г. 010-101
    №3
     Вариант : с использованием промежуточной переменной.
     <code>
     Перем Начислено,Выплачено,Врем;
     Начислено = 1000;
     Выплачено = 2000;
     
     Врем = Начислено;
     Начислено = Выплачено;
     Выплачено = Врем;
     </code>
     Вариант : без использования промежуточной переменной.
     <code>
     Перем Начислено,Выплачено;
     Начислено = 1000;
     Выплачено = 2000;
     
     Начислено = Начислено+Выплачено;
     Выплачено = Начислено-Выплачено;
     Начислено = Начислено-Выплачено;
     </code>

  3. Карташев Максим 17.04.2012 в 12:05

    Код создает массив, но счетчик помещен в параметр М.Добавить, а потому он изменяться не будет и в итоге получается бесконечный цикл.
    Т.к.  первые значения – строка, все + в этих выражениях являются конкатенацией. Т.к. строки можно привести к числу, – является вычитанием и выполняется в приоритете.
    Обработка Замены значений:

    С применением временной переменной:
    <code>
    &НаСервере
    Процедура ЗаменаЗначений(Начислено, Выплачено)
                Промежуточная = Начислено;
                Начислено = Выплачено;
                Выплачено = Промежуточная;
    КонецПроцедуры
     
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
                Начислено = 1000;
                Выплачено = 2000;
                ЗаменаЗначений(Начислено, Выплачено);
                Сообщить(“Начислено”+” “+Начислено);
                Сообщить(“Выплачено”+” “+Выплачено);
    КонецПроцедуры
    <code/>
    Без применения временной переменной:
     
    <code>
    &НаСервере
    Процедура ЗаменаЗначений(Начислено, Выплачено)
                Начислено = Начислено+Выплачено;
                Выплачено = Начислено-Выплачено;
                Начислено = Начислено-Выплачено;          
    КонецПроцедуры
     
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
                Начислено = 150;
                Выплачено = 301;
                ЗаменаЗначений(Начислено, Выплачено);
                Сообщить(“Начислено”+” “+Начислено);
                Сообщить(“Выплачено”+” “+Выплачено);
    КонецПроцедуры
    <code/>

  4. AlexandraK 06.04.2012 в 21:08

    Добрый день!
    №1
    Это бесконечный цикл, т.к. в параметре метода М.Добавить используется операция сравнения, что приводит к бесконечному циклу.
    №2
    А. 010010
    Б. 01010
    В. 1
    Г. 010-101
    №3
    Вариант : с использованием  промежуточной переменной.
    <code>
    Начислено = 1000;
    Выплачено =2000;
    ПромПерем = Выплачено;
    Выплачено = Начислено;
    Начислено = ПромПерем;
    </code>
    Вариант : без использования  промежуточной переменной.
    <code>
    Начислено = 1000;
    Выплачено =2000;
    Начислено = Начислено + Выплачено;
    Выплачено = Начислено – Выплачено;
    Начислено = Начислено – Выплачено;
    </code>

    • Dobrenko Oleg 07.04.2012 в 07:22

      Здравствуйте. AlexandraK, ваш отчет принят. Изучите наше решение.