Добро пожаловать,
|
|
|
|
|
|
Книги-online
Практикум Глава 4. Алгоритмы, реализуемые с помощью циклов типа ПОКА
Алгоритмы, реализуемые с помощью циклов типа ПОКА
С помощью циклов типа пока можно
запрограммировать любые повторяющиеся фрагменты алгоритмов. Но на практике
цикл типа пока чаще всего используют в двух следующих случаях:
-
Число повторений заранее не известно
(например, цикл до достижения требуемой точности результата, цикл до первого
отрицательного элемента массива и т.п.). Такой цикл называется циклом типа
пока с прерыванием.
-
Число повторений заранее известно, но шаг параметра
цикла не равен 1 (в школьном АЯ) или
1, -1 (в Pascal). Такой цикл называется
циклом типа пока без прерывания.
Цикл типа пока с прерыванием
Язык
|
Пример
|
Пояснения
|
Школьный АЯ
|
i:=1; Flag:="Нет"
нц пока (i<=N) и (Flag="Нет")
если A[i]<0
то Flag:="Да"; k:=i
иначе i:=i+1
все
кц
|
Решается задача:
определить номер первого отрицательного
элемента массива A(N). Здесь Flag "управляющая" переменная
литерного типа (можно с успехом использовать также логический
или целый типы) |
Pascal
|
i:=1; Flag:=FALSE;
While (i<=N) and not Flag do
If A[i]<0
then begin
Flag:=TRUE; k:=i
end
else i:=i+1;
|
Здесь Flag переменная логического
типа, принимающая значение ТRUE (истина) или FALSE (ложь),
and - операция 'и', not - операция
'не' |
QВasic
|
i=1 : Flag=0
WHILE (i <= N) AND (Flag = 0)
IF A(i)<0 THEN
Flag=1 : k=i
ELSE i=i+1
END IF
WEND
|
Здесь Flag переменная
целого типа (в некоторых версиях QBasic можно использовать и логический
тип, что предпочтительнее) |
Цикл типа пока без
прерывания
Язык
|
Пример
|
Пояснения
|
Школьный АЯ
|
i:=1; S:=0
нц пока i<=N
S:=S+A[i]
i:=i+2
кц
|
Вычисляется сумма элементов массива
A(N)
с нечетными индексами. Число
таких элементов заранее известно. Шаг параметра цикла равен двум |
Pascal
|
i:=1; S:=0;
While i<=N do
begin S:=S+A[i];
i:=i+2
end;
|
QВasic
|
Лучше использовать цикл FOR:
S=0
FOR I=1 TO N STEP 2
S=S+A(I)
NEXT I
|
Для организации циклов типа пока
можно также использовать:
-
в языке Pascal оператор цикла с постусловием
Repeat...until:
Repeat
тело
цикла
until <условие
завершения> |
Повторять тело цикла до тех пор, пока не выполнится
условие завершения цикла. |
-
в языке QBasic операторы цикла DO
WHILE ... LOOP и DO UNTIL ...
LOOP (англ. LOOP - виток, петля):
DO WHILE <условие
продолжения>
тело
цикла
LOOP |
Пока выполняется условие продолжения цикла, повторять
тело цикла. |
DO UNTIL <условие
завершения>
тело
цикла
LOOP |
Повторять тело цикла до тех пор, пока не выполнится
условие завершения цикла. |
Содержание:
- Пример 4.1. Определить, является ли заданная последовательность чисел...
- Пример 4.2. Задано множество точек на плоскости. Oпределить,
принадлежит ли хотя бы одна точка множества внутренней области круга с
центром в точке (a, b) и радиусом R.
- Пример 4.3. Определить, имеется ли среди элементов главной диагонали заданной
целочисленной матрицы A(N, N) хотя бы один положительный нечётный
элемент.
- Пример 4.4. Вычислить сумму всех чисел Фибоначчи, которые не превосходят
заданного натурального числа М.
- Пример 4.5. Включить заданное число D в массив A(N), упорядоченный по
возрастанию, с сохранением упорядоченности.
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском
.
книги по программированию исходники компоненты шаблоны сайтов C++ PHP Delphi скачать
|
|