Пользователь

Добро пожаловать,

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

Меню сайта




Ваше мнение
Оцените дизайн сайта

Супер
Симпатично
Пойдет
Ничего хорошего
Просто клиника


Результаты
Другие опросы

Всего голосов: 890
Комментарии: 2


Наши партнеры



Статистика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Книги-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 скачать