русс | укр

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

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

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

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


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

Then . . .


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


End;

Begin

Else

End

X := 1;

Else оператор-2;

Then оператор-1

If (условие)

ТО цепочка-1

ЕСЛИ (условие)

Истина (да) ложь (нет)

ИНАЧЕ цепочка-2

ТО цепочка-1

ЕСЛИ (условие)

Альтернатива

Ветвления

Цепочка

Самой простой базовой структурой является цепочка – последовательность операторов присваивания.

Цепочку можно представить следующей схемой:

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

 

Алгоритм циклического обмена в этом случае будет выглядеть следующим образом:

Переменные a и b обмениваются своими значениями через переменную x.

По этому алгоритму можно написать последовательность операторов на Паскале:

x := a;

a := b;

b := x;

Одним из достоинств компьютеров является их способность делать выбор пути решения задачи в зависимости от выполнения заданных условий.

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

· альтернатива,

· переключатель.

Альтернатива является простейшей формой ветвлений. Она предполагает выбор одного из двух путей решения задачи, причем этот выбор зависит от выполнения заданных условий:

истина (да)ложь (нет)

 

 

Альтернативу можно описать словесно:

В альтернативе может отсутствовать часть (ветвь) ИНАЧЕ, тогда она приобретает вид усеченной альтернативы:

 

 

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



 

Действие альтернативы:

1. проверяется выполнение условия,

2. если условие истинно, то выполняется следующая за ним цепочка-1, а цепочка-2, если она имеется, не выполняется,

3. если условие ложно, то выполняется цепочка-2, если она имеется.

В Паскале альтернатива реализуется условным оператором:

где условие – это любое логическое выражение.

После ключевых слов Then и Else в Паскале может следовать только один оператор языка, причем перед Else точка с запятой не ставится.

Примеры:

1. определить значения переменной z после выполнения операторов:

z := 3;

If (x – z > 0) в данном случае условие ложно, поэтому

Then z := z – 1 будетвыполняться ветвь Else, и, значит,

Else z := z + 1; z = 4

2. определить наибольшую из двух переменных a и b, присвоив ее значение переменной с:

данет

 

Словесное описание алгоритма:

ЕСЛИ (a > b)

ТО c = a

ИНАЧЕ c = b;

Реализуем этот алгоритм на Паскале:

If (a > b)

Then c: = a

Else c: = b;

3. решить эту же задачу сокращенной альтернативой:

а)двумя сокращенными альтернативами:

If (a > b)

Then c := a;

If (b > a)

Then c := b;

 

 

б)одной сокращенной альтернативой:

 

c := b;

If (a > b) Then c := a;

 

 

Реализация альтернативы усложняется, если в каждой ее ветви имеется не по одному оператору, а по цепочке операторов. В этом случае цепочки заключаются в операторные скобки: BEGIN … END. Получается составной оператор:

sin c,если c < 2,5

a =

cos c,если c ≥ 2,5

| c |,если c < 2,5

b =

1/c, если c ≥ 2,5

На Паскале:

If (c < 2.5) Внимание! Перед служебными словами

Then Then и Else , а также после них точка с

Begin запятой не ставятся!

a:=Sin(c);

b:=Abs(c) Перед End точку с запятой можно не ставить!

a:=Cos(c);

b:=1.0/c

В условном операторе If после слов Then и Else могут в свою очередь следовать новые операторы If , что дает возможность использовать вложение операторов If до любого уровня:

Примеры:

1. определить наибольшую из трех переменных x, y,z и присвоить ее значение переменной s:

а) с использованием полной альтернативы:

ЕСЛИ (x > y) If (x > y)

ТО ЕСЛИ (x > z) Then If (x > z)

ТО s = x Then s:=x

ИНАЧЕ s = z Else s:=z

ИНАЧЕ ЕСЛИ (y > z) Else If (y > z)

ТО s = y Then s:=y

ИНАЧЕ s = z; Else s:=z;

Внимание! В этом вложенном операторе точка с запятой только одна – в конце всего оператора.

б) с использованием усеченной альтернативы: вариант 1

 

 

s = z; s := z;

ЕСЛИ (x > y) If (x > y)

ТО ЕСЛИ (x > z) Then If (x > z)

ТО s = x; Then s:=x;

ЕСЛИ (y > x) If (y >x)

ТО ЕСЛИ (y > z) Then If (y > z)

ТО s = y; Then s:=y

вариант 2 – с использованием операции конъюнкция

s = z; s := z;

ЕСЛИ (x > y) & (x > z) If (x > y) And (x > z)

ТО s = x; Then s:=x;

ЕСЛИ (y > x) & (y > z) If (y >x) And (y > z)

ТО s = y; Then s:=y;

По принятому в Паскале соглашению, Else всегда относится к ближайшему предшествующему ему незанятому If:

If (n>0)

Then If (m Mod n > n)

Then m := m – n

Else m := m + n

Else m := m Mod n;

В данном случае ветвь Else m := m + n относится к If (m Mod n > n), а ветвь Else m := m Mod n относится к If (n > 0).

 

Часто встречающиеся ошибки программирования:

1. Использование в качестве условия выражения не логического типа:

If (n + m)

 

2. Использование Else без Then:

If (n > m)



<== предыдущая лекция | следующая лекция ==>
 | Переключатель


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


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

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

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


 


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

 
 

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

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