Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика ответы.docx
Скачиваний:
61
Добавлен:
01.05.2015
Размер:
289.93 Кб
Скачать

25.Циклический алгоритм. Графические блоки для описания циклического алгоритма. Привести пример.10 Циклический алгоритм.

Повторяющееся выполнение действий (групп действий),зависящее от выполнения

условия, называется циклом.

Любой цикл состоит из трех частей: начала, проверки и тела цикла. Начало –

всегда первая часть цикла. Главная его функция – подготовить цикл. Проверка

определяет момент выхода из цикла.

Базовая структура "цикл". Обеспечивает многократное выполнение некоторой

совокупности действий, которая называется телом цикла. Основные разновидности

циклов представлены в таблице:

Язык QBasic

Язык блок-схем

Цикл типа пока.

Do Until условие

тело цикла (последовательность действий)

Loop

Do While условие

тело цикла (последовательность действий)

Loop

Цикл типа для.

For i=i1 to i2

тело цикла (последовательность действий)

Next i

Пример алгоритма цикл на алгоритмическом языке QBasic:

FOR I=1 TO 15

PRINT I

NEXT I

FOR I=7 TO –6 STEP –3

PRINT I

NEXT I

I=0

PRINT «Значение I в начале равно»; I

DO WHILE I<10

I=I+1

LOOP

PRINT “Значение I в конце цикла равно”; I

26.Оператор цикла с предусловием. Привести фрагмент программы.

Цикл с предусловием-это цикл,который повторяется до тех пор, пока условие истинно. Для реализации цикла с предусловием в языке Паскаль (Pascal) используется оператор while,который имеет следующий вид: while < условие > do < оператор >; Если тело цикла состоит из нескольких операторов, необходимы операторные скобки begin. .end.  Составим программу, которая определяет, сколько слагаемых должно быть в сумме последовательных чётных чисел (2+4+6+8+...), чтобы эта сумма оказалась больше некоторого заданного натурального числа n(n>=2),и выводит на экран результат - количество слагаемых. program kol_slag;  var i, sum, n, x: integer;  begin  write (' n= '); readln(n); x:=2;  sum:=2; i:=1; while sum <=n do begin x:=x+2; i:=i+1; sum:=sum+x;  end; writeln(i,' слагаемых');  end.  Результат выполнения при n=10: sum = 55 Цикл в этой программе работает следующим образом: вначале i= 0, n=10, sum =0; условие i<10 истинно, и тело цикла выполняется; i увеличивается на 1 (i=i+1=0+1=1); значение суммы увеличивается на 1 (sum =sum + i=0+ 1=1); условие i<10 вновь истинно, поэтому тело цикла выполняется в очередной раз: i увеличивается на 1 (i=i+1=1+1=2);  значение суммы увеличивается на 2 (sum =sum + i=1+2=3); условие i<10 истинно, поэтому тело цикла выполняется в очередной раз и т.д.  После 10 повторений данной последовательности действий (i=i+1 и sum = sum+i) получим i=10, sum=1+2+...+10. Условие i<10 ложно, поэтому выполнение цикла завершится. 

27.Оператор цикла с постусловием. Привести фрагмент программы.

Иногда при решении задач возникает необходимость выполнить тело цикла хотя бы один раз, а потом, проверив условие, определить, повторять ли тело цикла еще раз. Эту задачу выполнит другой вид цикла – цикл Repeat.

repeat {повторяй}   {операторы операторы} until <условие>; {до тех пор, пока условие не будет истинным}

Есть небольшое отличие в организации цикла repeat по сравнению с while: для выполнения в цикле repeat нескольких операторов не следует помещать эти операторы в операторные скобки begin ... end. Зарезервированные слова repeat и until действуют как операторные скобки.

Конструкция repeat ... until работает аналогично циклу while. Различие заключается в том, что цикл while проверяет условие до выполнения действий, в то время как repeat проверяет условие после выполнения действий. Это гарантирует хотя бы одно выполнение действий до завершения цикла.

Например,

a) repeat       read (Number);       Sum := Sum+Number;     until Number=-1

b) repeat       i := i+1;       writeln (Sqr(i));     until i>=10