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

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