profile
Размещено 5 лет назад по предмету Информатика от sgdsdgsd

Опешите программный код, очень надо
begin//начало
if (a[h,v]=0) or (a[h-1,v]<>0) then
eng+=1;
if a[h,v]<>0 then
if a[h-1,v]=0 then
begin//начало
a[h-1,v]:=a[h,v];
a[h,v]:=0;
end;//конец
end;//конец

  1. Ответ на вопрос
    Ответ на вопрос дан Eighto
    Это вроде паскаль , мог бы и в переводчике перевести хз

    begin

    // начало , типо открыл вкладку )) хз

    if (a[h,v]=0) or (a[h-1,v]<>0) then

    // если массив a[h,v] равен 0  или массив a[h-1,v] не равен 0 то 

    eng+=1;

    // eng = eng + 1 (вверху просто упрощённая запись)

    if a[h,v]<>0 then

    // если a[h,v] <> 0 то 

    if a[h-1,v]=0 then

    // если a[h-1,v] = 0 то (условие в условие типо)

    begin//начало

    a[h-1,v]:=a[h,v];

    // 
    a[h-1,v] присваеваем a[h,v];

    a[h,v]:=0;

    // так же 
    a[h,v]:=0;

    end;//конец , идёт в связке с оператором begin ))
    end;//конец

    надеюсь именно так тебе надо было это сделать , задавай вопросы если не правильно
  2. Ответ на вопрос
    Ответ на вопрос дан Аккаунт удален
    Вот правильно отформатированный код. Пока код не отформатирован, понять его очень сложно, поэтому программисты всегда сразу пишут код с необходимым форматированием. Начинающим писать программы тоже необходимо всегда следовать этому же принципу.

    if (a[h,v]=0) or (a[h-1,v]<>0) then eng+=1;
    if a[h,v]<>0 then
      if a[h-1,v]=0 then begin
        a[h-1,v]:=a[h,v];
        a[h,v]:=0;
      end;

    Наличие переменных вида a[h,v] позволяет сделать вывод, что фрагмент программы что-то делает с элементами двумерного массива "а". При этом, эдементы все время встречаются парами вида a[h,v] и a[h-1,v]. Если a[h,v] - некий текущий элемент в строке h и столбце v, то a[h-1,v] - это элемент в предыдущей строке и том же столбце. Для краткости будем называть элемент a[h,v] ТЕКУЩИЙ, а элемент a[h-1,v] - ПРЕДШЕСТВУЮЩИЙ, предполагая просмотр по столбцам.
    Теперь фрагмент программы можно заменить псевдокодом.

    ЕСЛИ (ТЕКУЩИЙ=0) ИЛИ (ПРЕДШЕСТВУЮЩИЙ≠0) ТО eng+=1; (1)
    ЕСЛИ ТЕКУЩИЙ≠0 ТО (2)
      ЕСЛИ ПРЕДШЕСТВУЮЩИЙ=0 ТО (3)
        ПРЕДШЕСТВУЮЩИЙ:=ТЕКУЩИЙ; (4)
        ТЕКУЩИЙ:=0; (5)

    Опреатор eng+=1 - более короткая запись оператора eng:=eng+1, допустимая только в версии PascalABC.NET и пришедшая в него из языка C#. Это действие обычно называют "плюс единичка в счетчик", подразумевая, что eng подсчитывает количество некоторых событий. В данном случае это событие - случай, когда или ТЕКУЩИЙ элемент нулевой, или ПРЕДШЕСТВУЮЩИЙ ненулевой.

    Сделаем псевдокод более компактным.

    ЕСЛИ (ТЕКУЩИЙ=0) ИЛИ (ПРЕДШЕСТВУЮЩИЙ≠0) ТО (1)
      ДОБАВИМ 1 В СЧЕТЧИК ТАКИХ СОБЫТИЙ (2)
    ЕСЛИ ТЕКУЩИЙ≠0 ТО (3)
      ЕСЛИ ПРЕДШЕСТВУЮЩИЙ=0 ТО (4)
        ПРЕДШЕСТВУЮЩИЙ:=ТЕКУЩИЙ; ТЕКУЩИЙ:=0; (5)

    Условие (4) проверяется только если выполняется условие (3). Это оптимизация кода, которая позволяет не проверять условие (4), если условие (3) не выполняется. Такая оптимизация полезна только для старых компиляторов, а PascalABC.NET умеет оптимизировать подобные вещи сам. Для понимания алгоритма вопрос оптимизации несущественен, поэтому мы можем утверждать, что (5) выполнятнся только при одновременном наступлении (3) И (4).

    ЕСЛИ (ТЕКУЩИЙ=0) ИЛИ (ПРЕДШЕСТВУЮЩИЙ≠0) ТО
      ДОБАВИМ 1 В СЧЕТЧИК ТАКИХ СОБЫТИЙ
    ЕСЛИ (ТЕКУЩИЙ≠0) И (ПРЕДШЕСТВУЮЩИЙ=0) ТО
      ПРЕДШЕСТВУЮЩИЙ:=ТЕКУЩИЙ; ТЕКУЩИЙ:=0

    В последней строке отметим, что ПРЕДШЕСТВУЮЩИЙ принимает значение ТЕКУЩИЙ, а ТЕКУШИЙ обнуляется. Но это происходит только если ПРЕДШЕСТВУЮЩИЙ был нулём, следовательно можно говорить об обмене значениями.

    ЕСЛИ (ТЕКУЩИЙ=0) ИЛИ (ПРЕДШЕСТВУЮЩИЙ≠0) ТО
      ДОБАВИМ 1 В СЧЕТЧИК ТАКИХ СОБЫТИЙ
    ЕСЛИ (ТЕКУЩИЙ≠0) И (ПРЕДШЕСТВУЮЩИЙ=0) ТО
      ОБМЕНЯТЬ ЗНАЧЕНИЯ ПРЕДШЕСТВУЮЩЕГО И ТЕКУЩЕГО

    Вот все, что делает приведенный фрагмент кода.

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.