русс | укр

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

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

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

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


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

Логические выражения в управляющих операторах


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


Алгоритмическая структура ветвления программируется в Паскале с помощью условного оператора. Раньше мы его описывали в таком виде:

If <условие> Then <оператор 1> Else <оператор 2>;

Кроме того, возможно использование неполной формы условного оператора:

If <условие> Then <оператор>;

Теперь дадим строгое описание условного оператора в форме синтаксической диаграммы (рис. 20).

 

То, что мы раньше называли условием, есть логическое выражение, которое вычисляется в первую очередь. Если его значение равно true, то будет выполняться <оператор 1> (после Then), если false, то <оператор 2> (после Else) для полной формы или сразу следующий оператор после условного для неполной формы (без Else).

Пример 1. По длинам трех сторон треугольника а, b, с вычислить его площадь.

Для решения задачи используется формула Герона

 

где р = (а + b + с) / 2 — полупериметр треугольника. Исходные данные должны удовлетворять основному соотношению для сторон треугольника: длина каждой стороны должна быть меньше длин двух других сторон.

Имея возможность в одном условном операторе записывать достаточно сложные логические выражения, мы можем сразу «отфильтровать» все варианты неверных исходных данных.

Program Geron;

Var A,B,C,P,S: Real;

Begin

WriteLn('Введите длины сторон треугольника:');

Write('а='); ReadLn(A) ;

Write('b='); ReadLn(В);

Write ('c='); ReadLn(C);

If (A>0) And (B>0) And (00) And (A+B>C)

And (B+С>A) And (A+C>B)

Then Begin

P:=(A+B+C)/2;

S:=Sqrt(P*(P-A)*(P-B)*(P-C));

WriteLn('Площадь=',S)

End

Else WriteLn('Неверные исходные данные')

End.

Теперь рассмотрим синтаксическую диаграмму оператора цикл-пока, или цикл с предусловием (рис. 21).

 

Сначала вычисляется <Логическое выражение>. Пока его значение равно true, выполняется <0ператор> — тело цикла. Здесь <Oператор> может быть как простым, так и составным.



Пример 2. В следующем фрагменте программы на Паскале вычисляется сумма конечного числа членов гармонического ряда

 

Суммирование прекращается, когда очередное слагаемое становится меньше ε или целая переменная i достигает значения MaxInt.

S:=0;

I:=l;

While (l/I>=Eps) And (I<MaxInt) Do

Begin

S:=S+1/I;

I:=1+1

End;

Синтаксическая диаграмма оператора цикл-до, или цикл с постусловием, представлена на рис. 22.

 

 

Исполнение цикла повторяется до того момента, когда <Логическое выражение> станет равным true.

Предыдущая задача с использованием цикла с постусловием решается так:

S:=0;

I:=1;

Repeat

S:=S+1/I; I:=I+1

Until (1/I<Eps) Or (I>=MaxInt);

 



<== предыдущая лекция | следующая лекция ==>
Функции, связывающие различные типы данных | Цикл по параметру


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


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

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

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


 


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

 
 

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

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