русс | укр

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

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

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

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


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

Цикл с постусловием - цикл repeat


Дата добавления: 2014-09-02; просмотров: 1592; Нарушение авторских прав


Он имеет вид:

REPEAT оператор1;

оператор2;

оператор3;

……………

оператор n

UNTIL условие;

В отличие от цикла предусловием, выход из цикла постусловием осуществляется при истинности условия. Этот цикл должен выполниться хотя бы один раз. Данный оператор цикла выполняется до тех пор, пока не станет истинным условие.

Заметим, что если в операторе WHILE условие проверяется до очередного выполнения цикла, то в операторе REPEAT - после очередного выполнения.

Таким образом, оператор REPEAT - оператор с постусловием) всегда выполняется, по крайней мере, 1 раз, в то время как оператор WHILE(оператор с постусловием) может не выполняться ни разу.

Еще одна особенность цикла REPEAT - в нем разрешается использовать произвольное число операторов.

Пример (тот же).

Repeat

Writeln (‘n=’,n,’sqr(n)’,sqr(n),’sqrt(n)’,sqrt(n));

N: =N+1

Until n>100;

Когда переменная NUMBER принимает последовательно значения 1,2,…,100, значение условия N>100 остается ложным и для них цикл выполняется (UNTIL- до тех пор, пока не). Как только переменная NUMBER принимает значение 101, то условие N>100 становится истинным (101>100) и выполнение цикла прекращается.

Заметьте, что при использовании как цикла WHILE, так и цикла REPEAT.

Необходимо принудительно увеличить значение переменной N. Если этого не делать, то цикл никогда не завершится, т.к. переменная N так и остается равным единице. Условие N<=100 никогда не станет ложным, а условие N>100 никогда не станет истинным. В результате оба цикла будут выполняться бесконечно долго. В этом случае говорят, что программа зацикливается. Оба этих цикла применяются, когда число повторений неизвестно(хотя это число можно сосчитать).

Пример. Лист бумаги разрезан пополам. Одну из полученных половинок снова делят пополам и т.д. Сколько понадобится делений, чтобы получить частицы размером с атом? Масса листа 1 грамм(М), масса атома 1Е-24 грамма.



Решение:

Program List;

Var m: real;

I: integer;

Begin

I:=1;m:=1;

While m>1E-24 do

Begin

M:=m/2;

I:=I+1;

End;

Writeln(‘I=’,I,’ делений’);

Writeln;

End.

Оператор выбора варианта

Условный оператор позволяет при выполнении программы выбирать одно из двух возможных действий. Если же необходимо сделать много взаимоисключающих проверок, то удобнее воспользоваться оператором выбора варианта.

Пусть перед нами стоит следующая задача.

Пример. Числами от 1 до 7 пронумерованы дни недели от понедельника до воскресенья. Необходимо преобразовать числовое значение соответствующего дня недели в его название и вывести на печать.

Задача легко решается с использованием последовательности условных операторов:

If day =1 then writeln(‘понедельник’) else

If day =2 then writeln(‘вторник’) else

………….

………….

If day =7 then writeln(‘воскресенье’);

Вместе с тем в языке программирования Паскаль имеется оператор, позволяющий проще, короче, и нагляднее записать решение этой задачи. Он называется оператором выбора и дает возможность выбрать для выполнения один из произвольного числа операторов, входящих в его состав. Теперь решение будет таким:

Case day of

1: writeln(‘понедельник’);

2: writeln (‘вторник’) ;

3: ………………….

……………………..

7: writeln(‘воскр.’);

else writeln(‘ошибка….’);

end;

Если переменная day принимает значение 1, то выполняется оператор, перед которым стоит 1:. Если day равно 2, то выполняется оператор, перед которым стоит 2: и т.д. Если же переменная принимает значение вне диапазона1…7, скажем 0 или 8, то выполняется следующий оператор.


Общий вид оператора выбора варианта:

Case селектор of

метка1:оператор1;

…………………….

метка n: оператор N;

End; {of case}


Другой вид оператора выбора:

Case селектор of

Метка1:оператор1;

………………………….

Метка n: оператор N;

Else оператор M;

End; {of case}




<== предыдущая лекция | следующая лекция ==>
Цикл с предусловием - цикл WHILE | Расположение операторов в программе


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


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

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

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


 


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

 
 

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

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