Опешите программный код, надо 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; //конец
140
228
Ответы на вопрос:
Вот правильно отформатированный код. пока код не отформатирован, понять его сложно, поэтому программисты всегда сразу пишут код с необходимым форматированием. начинающим писать программы тоже необходимо всегда следовать этому же принципу. 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) то обменять значения предшествующего и текущего вот все, что делает фрагмент кода.
Это вроде паскаль , мог бы и в переводчике перевести хз 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; //конецнадеюсь именно так тебе надо было это сделать , задавай вопросы если не правильно
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
macshsav12.01.2020 17:34
-
bogussasa726.04.2021 17:52
-
alehanagaitsewa11.07.2021 13:49
-
Alchimick05.06.2023 02:21
-
ggggggft03.04.2022 09:55
-
vladkanter30.06.2020 15:44
-
gcgxbxh18.07.2020 14:06
-
gawrilinamaria22.02.2021 23:25
-
azatzakirov6212.11.2020 11:30
-
gimnastikgirla19.05.2023 23:37
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.