Вопрос задан 15.07.2023 в 10:36. Предмет Информатика. Спрашивает Леонтьева Женя.

Сделайте перевод c паскаль на Excel for i:=0 to N do begin if C[i]=0 then C[i]:=1; begin for

i:=i+1 to N do begin if C[i]<>0 then C[i]:=0; if C[i]=0 then exit; end; end; end;
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Юсупов Артур.

Это точный аналог фрагмента паскалевского кода. Работать не будет, поскольку недопустимо использовать в качестве параметра вложенного цикла For ту же переменную i, что и во внешнем цикле For.

   For i = 0 To N

       If c(i) = 0 Then

           c(i) = 1

           For i = i + 1 To N

               If c(i) <> 0 Then c(i) = 0

               If c(i) = 0 Then Return

           Next

       End If

   Next

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот эквивалентный код на Excel VBA:

vba
Sub PascalToExcel() Dim N As Integer Dim C() As Variant Dim i As Integer N = 'ваше значение N' C = 'ваш массив C' For i = 1 To N If C(i) = 0 Then C(i) = 1 For i = i + 1 To N If C(i) <> 0 Then C(i) = 0 End If If C(i) = 0 Then Exit For End If Next i End If Next i ' Вывод обновленного массива C For i = 1 To N Cells(i, 1).Value = C(i) Next i End Sub

Примечание: Вам нужно будет ввести значения переменных N и C перед запуском процедуры PascalToExcel(). Также учтите, что индексы массивов в Pascal начинаются с 0, в то время как в Excel VBA они начинаются с 1. Поэтому в коде на Excel VBA используется смещение индексов на 1.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос