Для сдвига влево на 1 шаг алгоритм такой: 1) Запомнить значение 1 элемента массива во временную переменную 2) Организовать цикл i от 1 до (размер массива - 1) 3) i-тому элементу массива присвоить значение (i+1)-ого 4) конец цикла 5) последнему элементу присвоить сохранённое во временной переменной Для сдвига на N шагов применять данный алгоритм N раз. Для сдвига вправо: 1) Запомнить значение последнего элемента массива во временную переменную 2) Организовать цикл i от (размер массива) до 2 3) i-тому элементу массива присвоить значение (i-1)-ого 4) конец цикла 5) первому элементу присвоить сохранённое
Михайловна991
24.07.2020
1) Набираем 8ми литровый кувшин 2) отливаем 3 литра в 3х литровый и сливаем из него воду 3) в 8ми литровом осталось 5л воды, сливаем снова в 3х литровый, и в 8ми литровом осталось 2 литра воды. 4) выливаем из 3х литрового воду, и переливаем в него 2 литра, оставшиеся в 8литровом кувшине. 5)Снова наполняем 8ми литровый кувшин, и доливаем из него воду в 3х литровый кувшин, так как в 3х литровом налито 2 литра - там не хватает одного литра, значит отлив из 8ми литрового литр в нем останется 7 литров :)
ilds88
24.07.2020
1. Оператор цикла предназначен для выполнения большого количества однотипных вычислений, отличающихся только значениями переменных, входящих в формулу. Например, вычисление значений формулы y=sin(x) для х=1..10 с шагом 1. 2. В языке Паскаль существуют циклы: с параметром (FOR), с предусловием (WHILE..DO), с постусловием (REPEAT...UNTIL). 3. Оператор FOR для примера п.1 имеет вид: FOR K:= 1 TO 10 DO Y[K]:=SIN(K). Если в теле цикла будет несколько операторов, то они заключаются в операторных скобки BEGIN...END. 4. Во время исполнения этого оператора переменной Y[K] (элементам маccива Y) последовательно присваиваются значения SIN(K). 5. Оператор FOR применяется в тех случаях, когда число повторений заранее известно (К=1..10). 6-9. Циклы WHILE и REPEAT применяются, когда число повторений заранее неизвестно, например, для вычисления суммы ряда с заданной точностью, но их можно применять и для расчета по предыдущему примеру. K:=0; WHILE K<11 DO BEGIN K:=K+1; Y[K]:=SIN(K) END; или для цикла REPEAT: K:=0; REPEAT K:=K+1; Y[K]:=SIN(K} UNTIL K>10; Для вычислений эти циклы равносильны, но есть одно (иногда решающее) отличие - цикл WHILE не будет выполнен ни разу, если условие сразу ложно, а цикл REPEAT сначала выполнит одну операцию, а потом, если условие окажется ложным, остановится.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Построить и записать алгоритм циклического сдвига одномерного массива на n шагов вправо(построить блок схемы)