TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

[ следующий ] [ начало главы ] [ предыдущий ] [ содержание ]

Алгоритмы, реализуемые с помощью циклов типа ПОКА

С помощью циклов типа пока можно запрограммировать любые повторяющиеся фрагменты алгоритмов. Но на практике цикл типа пока чаще всего используют в двух следующих случаях:
Число повторений заранее не известно (например, цикл до достижения требуемой точности результата, цикл до первого отрицательного элемента массива и т.п.). Такой цикл называется циклом типа пока с прерыванием.
Число повторений заранее известно, но шаг параметра цикла не равен 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 - операция 'не'

Цикл типа пока без прерывания

Язык Пример Пояснения
  Школьный АЯ
        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 <условие завершения>
Повторять тело цикла до тех пор, пока не выполнится условие завершения цикла.
 

 

Содержание:
Пример 4.1.   Определить, является ли заданная последовательность чисел...
Пример 4.2.   Задано множество точек на плоскости. Oпределить, принадлежит ли хотя бы одна точка множества внутренней области круга с центром в точке (a, b) и радиусом R.
Пример 4.3.   Определить, имеется ли среди элементов главной диагонали заданной целочисленной матрицы A(N, N) хотя бы один положительный нечётный элемент.
Пример 4.4.   Вычислить сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М.
Пример 4.5.   Включить заданное число D в массив A(N), упорядоченный по возрастанию, с сохранением упорядоченности.
Задачи для самостоятельного решения
Предыдущая глава.
Следующая глава.
 

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz