русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-04; просмотров: 564; Нарушение авторских прав


С помощью циклов типа пока можно запрограммировать любые повторяющиеся фрагменты алгоритмов. Но на практике цикл типа пока чаще всего используют в двух следующих случаях:

  • Число повторений заранее не известно (например, цикл до достижения требуемой точности результата, цикл до первого отрицательного элемента массива и т.п.). Такой цикл называется циклом типа пока с прерыванием.
  • Число повторений заранее известно, но шаг параметра цикла не равен 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. Определить, является ли заданная последовательность чисел a1 , a2 , ... , aN монотонно убывающей.

 



<== предыдущая лекция | следующая лекция ==>
Задачи для самостоятельного решения | Система тестов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 5.431 сек.