Какое служебное слово пропущено в данной записи цикла с постусловием repeat i i 1 i 0
Перейти к содержимому

Какое служебное слово пропущено в данной записи цикла с постусловием repeat i i 1 i 0

  • автор:

Оператор цикла с постусловием — Repeat

В переводе Repeat значит повторение. Давайте рассмотрим общую структуру этого цикла.
структура оператора Repeat в Паскале
где
repeat — зарезервированное слово (повторение);
until — зарезервированное слово (до тех пор пока);
выражение — условие, управляющее повторениями, должно быть логического типа;
оператор — любые операторы языка Pascal

    Принцип действия данного цикла схож с циклом while, но есть некоторые отличия:
  1. Выполняется оператор. Это главное отличие от цикла while, в котором сначало проверялось условие;
  2. После того, как оператор выполнился, проверяется выражение. Если его значение false , то цикл повторяется. В противном случае оператор Repeat завершает свою работу (если условие в цикле While является условием продолжения повторений, то условие в цикле Repeat — условием выхода из цикла, его завершения. Поэтому для одной и той же задачи эти условия противоположны).

В принципе, ничего сложного. Поэтому приступим к разбору задачи с циклом Repeat:

Вычислить факториал целого положительного числа N.

Я надеюсь, что все знакомы с понятием факториал числа. Нет? Тогда вам стоит подучить математику, а затем вернуться сюда и продолжить)) Для ленивых, которые не хотят идти учить математику, напомню в двух словах. Факториа́л числа n — произведение всех натуральных чисел от 1 до n включительно. Обозначается факториал восклицательным знаком (!). Если простым языком то, например, 5! = 1*1*2*3*4*5. А факториал трех 3! = 1*1*2*3. Я думаю принцип понятен, нам нужно перемножить последовательно все члены ряда.

В общем как мы будем решать эту архи сложную задачу при помощи цикла с постусловием? Для начала разберемся с переменными. По условию нам дана переменная N, значит она будет присутствовать в нашей программе. Далее нам нужно ввести некоторую переменную (возьмем F), в которой будет подсчитываться значение факториала. Изначально данная переменная будет равна 1 (потому что самый маленький факториал, учитывая возможное число N будет равен 1). Если посмотреть внимательно чуть выше, там где я расписал факториал пяти, то можно заметить одну особенность — каждый раз мы умножаем на число, которое на единицу больше предыдущего. Какой вывод из этого можно сделать? Правильно, нам нужна некоторая переменная — счетчик (обычно берут i), которая будет с каждой новой итерацией (повторением) цикла увеличиваться на единицу. Изначально данная переменная будет равна 0. Все, больше переменных нам не нужно.

Осталось правильно составить цикл Repeat. Еще разок взгляните на это 5! = 1*1*2*3*4*5. Для начала нам нужно организовать это умножение 1*1. Первая единица — это наша переменная F. Второй множитель это наша переменная i, которая у нас пока равна нулю. Значит перво-наперво в теле цикла Repeat нам нужно прописать строчку i:=i+1;, которая будет каждый раз увеличивать значение множителя на единицу. Хорошо, два первых множителя у нас есть, теперь сделаем так чтобы результат этого умножения сохранился в нашей переменной F. Для этого в блоке операторов цикла Repeat допишем строчку F:=F*i;. Готово, теперь у нас множитель каждый раз будет повышаться на единицу и умножаться на результат предыдущего произведения. Осталось составить условие для выхода из цикла. Цикл прекратит свое выполнение тогда, когда условие станет истинным. Какое бы нам условие написать? Да вот какое — i=N, т.е. пока у нас переменная i меньше заданного с клавиатуры числа N, цикл Repeat будет повторяться. Как только переменная i станет равна N произойдет выход из цикла.

Ну а дальше стандарт — вывод переменной F, содержащей результат на экран и завершение программы. Посмотрим на то, что у нас получилось в итоге:

Какое служебное слово пропущено в данной записи цикла с постусловием repeat i i 1 i 0

polinamuhovikova

СРОЧНО ПРОШУ ПОЖАЛУЙСТА ПОМОГИТЕ .

Какое служебное слово пропущено в предложенном ниже фрагменте кода?

1) case
2) if
3) while
4) until

Answers & Comments

Объяснение:
цикл с постусловием:
repeat
тело цикла
until условие выхода из цикла

ответить на вопросы, хотя бы на какие сможете Задание 1
Вопрос:
Какие служебные слова применяются для записи цикла с постусловием
Выберите несколько из 4 вариантов ответа:
1) End 3) Repeat
2) Until 4) Begin
Задание 2
Вопрос:
Как найти элемент массива с определенным значением?
Выберите один из 3 вариантов ответа:
1) Отсортировать массив и выбрать максимальный индекс.
2) Перебирать элементы массива пока они не закончатся или пока не будет найден искомый.
3) Выбрать один элемент массива, предположить его искомым и сравнить с оставшимися, меняя в процессе предполагаемый искомый элемент.
Задание 3
Вопрос:
Установите верный порядок следования команд при поиске в массиве из 50 элементов, элемента равного k

Укажите порядок следования всех 4 вариантов ответа:
_1_ if a[i]=k then writeln (i); _2_ while (a[i]<>k) and (i<50) do
_1_ i:=1; __ i:=i+1;
Задание 4
Вопрос:
Какая команда пропущена в данном участке программы, отвечающем за поиск максимального элемента массива. Запишите команду без пробелов.
r:=1;
for i:=2 to n do
if a[i]>a[r]
then .

Задание 5
Вопрос:
Запишите без пробелов команду, которая пропущена в данном алгоритме сортировки массива по убыванию методом пузырька.
p:=false;
while p=false do
begin
.
for i:=1 to n-1 do
if a[i] then begin
p:=a[i];
a[i]:=a[i+1];
a[i+1]:=p;
end;
end;

Задание 6
Вопрос:
Какое служебное слово пропущено в данной записи цикла с постусловием?
repeat
i:=i-1;
. i=0;

Задание 7
Вопрос:
Как называется описанный метод сортировки по возрастанию?
Проходя по массиву, ищем два соседних элемента, которые расположены не по возрастанию. Найдя такие элементы, меняем их местами. Продолжаем до тех пор, пока за весь проход по массиву не будет сделано ни одной перестановки.

Выберите один из 4 вариантов ответа:
1) Метод перебора
2) Метод пузырька
3) Метод выбора
4) Метод последовательных перестановок
Задание 8
Вопрос:
Что такое сортировка?

Выберите один из 3 вариантов ответа:
1) Изменение индексов элементов массива
2) Изменение порядка следования элементов в массиве в соответствии с определенным признаком
3) Изменение значений элементов массива
Задание 9
Вопрос:
Какие существуют типы задач на поиск элементов в массиве?
Выберите несколько из 4 вариантов ответа:
1) Удаление элемента массива
2) Найти элемент с указанным значением
3) Добавление элемента
4) Найти максимальный или минимальный элемент
Задание 10
Вопрос:
Установите верный порядок следования команд при сортировке массива из 10 элементов по возрастанию методом выбора.

Укажите порядок следования всех 7 вариантов ответа:
__ a[i]:=a[j];
__ for i:=j+1 to 10 do
__ a[j]:=p;
__ p:=a[i];
__ if a[j] __ for j:=1 to 9 do
__ end;

Цикл с постусловием repeat…until

Цикл с постусловием, в котором сначала выполняется оператор или группа операторов, а затем проверяется условие, реализуется на языкеPascalс помощью структурированного оператораrepeat…until. Формат оператора:

repeat

<операторы цикла>

until <условие>;

repeat,until– служебные слова (повторятьдо тех пор,покане будет выполнено условие);

<операторы цикла>– повторяющаяся в цикле последовательность операторов (тело цикла). Использовать в качестве тела цикла операторные скобкиbegin…endнецелесообразно, т. к. роль скобок в данном случае играют зарезервированные словаrepeatиuntil;

<условие>– выражение логического типа.

Принцип действияоператораrepeat…until:

1 Выполняются операторы, расположенные между операторамиrepeat…until, составляющие тело цикла.

2 Вычисляется значение логического выражения (проверяется условие), стоящего после слова until. Если результатом вычисления значения логического выражения (проверки условия) является ответfalse(ложь), то операторы, составляющие тело цикла, выполняются вновь.

3 Если результатом вычисления значения логического выражения (проверки условия) является ответ true(истина), то операторrepeat…until заканчивает свою работу, и управление передается на следующий за ним оператор.

Как следует из описанного алгоритма, повторение действий 1, 2 продолжается до тех пор, пока результатом вычисления логического выражения не станет ответ true(истина), т. е. пока не выполнится условие.

1 Тело цикла оператора repeat…until обязательно должно содержать оператор, действие которого влияет на значение логического выражения (изменяет значения входящих в него операндов). Иначе неизбежно «зацикливание».

2 Тело цикла repeat…until обязательно повторится хотя бы один раз при любом значении логического выражения.

Пример 2.6. Составить программу для вычисления и вывода на экран значений функции

при х, изменяющемся в диапазоне от -3 до 6 с шагом 0,3, используя оператор с постусловием.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *