русс | укр

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

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

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

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


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

Условные операторы. Оператор if


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


Синтаксис:

if <выражение> then

begin

<блок операторов 1>

end

else

begin

<блок операторов 2>;

end;

Сначала вычисляется выражение; если оно истинно, то выполняется <блок операторов 1>, в противном случае выполняется <блок операторов 2>.

В качестве <выражения> могут быть использованы только булевские (логические) выражения, которые могут принимать значения True и False. В таких выражениях очень часто используются операции отношения и логические операции.

Например, a>0, b+c<=d, (i<0) and (j<i) и т.д.

Перед зарезервированным словом else не ставится точка с запятой!!!

Если блок <операторов 1> или блок <операторов 2> содержит всего один оператор, то его можно не заключать в операторные скобки Begin … End.

Пример:

var y,i: real;

begin

write('Введите число: ');

readln(i);

if i>=0 then y:=i

else

y:=-i;

writeln('Абсолютное значение введенного числа равно',y:8:4);

end.

Конструкция else не обязательна. Если значение <выражения> ложно, а конструкция else опущена, то управление передается на оператор, следующий в программе за оператором if.

Пример:

var y,i: real;

begin

write('Введите число: ');

readln(i);

if i<0 then i:=-i;

y:=i;

writeln('Абсолютное значение введенного числа равно',y:8:4);

end.

Допускается вложение оператора if в <блок операторов 1> или <блок операторов 2> другого оператора if. При вложении операторов if рекомендуется для ясности группирования операторов использовать операторные скобки Begin …End, ограничивающие <блок операторов 1> и <блок операторов 2>.

Если же операторные скобки отсутствуют, то компилятор ассоциирует каждое зарезервированное слово else с ближайшим оператором if, у которого отсутствует конструкция else.



Пример:

Var i:real;

Begin

Writeln(‘Введите возраст:’);

Readln(i);

if i>0 then

if i<=14 then writeln('Паспорта нет')

else if i>110 then write('Некорректный возраст');

else writeln(У такого гражданина должен быть паспорт России“);

end.

Решение задачи: Нахождение корней квадратного уравнения.

var a, c, b, x1, x2, d: real;

begin

writeln('input a,b,c');

readln(a,b,c);

d:=(sqr(b)-4*a*c);

writeln('d=', d:8:5);

if d<0 then

writeln('Действительных корней нет');

else

if d=0 then

writeln('x1=x2=',-b/(2*a))

else

begin

x1:=(-b-sqrt(d))/(2*a);

x2:=(-b+sqrt(d))/(2*a);

writeln('x1=', x1:4:2);

writeln('x2=', x2:4:2);

end;

end.

4.1.2. Конструкция множественного выбора Case … Of

Конструкция Case … Of является идеальным средством для обработки ситуаций с несколькими исходами, года условие может принимать более двух значений.

Синтаксис:

Case <порядковая переменная> Of

<значение 1>:

begin

<блок операторов 1>;

end;

<значение 2>:

begin

<блок операторов 2>;

end;

<значение n>:

begin

<блок операторов n>;

end;

Else

begin

<блок операторов n+1>;

end;

End;

В общем случае <порядковая переменная> может быть целочисленного, символьного или логического типа.

В зависимости от значения <порядковой переменной> выполняется тот или иной <блок операторов>. Если значение ни разу не встречается в списке, то выполняется блок операторов конструкции Else.

В операторе Case … Of перед конструкцией Else ставится точка с запятой!!!

Данный оператор заканчивается зарезервированным словом End;.

Конструкция Else необязательна.

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

Пример:

Var n:integer;

Case N Of

1:Writeln('стол');

2..4: Writeln('стола');

0, 5..9: Writeln('столов');

Else

Writeln('чересчур много столов');

End;

Конструкция Case … Of очень часто используется для замены конструкций из многочисленных вложенных операторов If … Then.

 

Контрольные вопросы по теме «Организация ветвления»

1. Чем отличается линейный алгоритм от ветвления?

2. Что такое вычислительный процесс разветвляющейся структуры? Как организовать ветвление вычислений: а) на две ветви; б) на три ветви?

3. Какие ключевые слова используются в Паскале для организации ветвления? Что находится между ними?

4. Чем полное ветвление отличается от неполного?

5. Как оформлять текст программы, чтобы он был понятнее?

6. Что необходимо использовать, если в случае истинности некоторого условия нужно выполнить несколько операторов?

7. Как быть, если в случае истинности некоторого условия никаких действий выполнять не требуется, а в случае ложности нужно выполнить несколько действий?

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

9. В каком случае количество операторов begin в программе не должно соответствовать количеству операторов end?

10.Составить последовательность операторов для вычисления величины z=0, если x<-2; z=1, если -2 7, x < 2; z=-1, если x>2.

11.Зачем необходимо при отладке программы тестировать все ветви алгоритма?



<== предыдущая лекция | следующая лекция ==>
Взаимные преобразования чисел | Оператор цикла For


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


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

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

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


 


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

 
 

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

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