русс | укр

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

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

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

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


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

Теоретическая часть


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


 

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

В языке Turbo Pascal для реализации разветвляющихся вычислительных процессов служат следующие операторы:

· условный оператор if;

· оператор выбора case;

· оператор перехода goto.

Оператор if используется в программе, когда в зависимости от некоторого условия надо выбрать одно из двух действий, или когда какое-либо действие должно быть выполнено только при выполнении заданного условия.

В общем виде оператор if записывается так:

if <условие> then

Begin

{операторы, выполняемые, если условие истинно}

End

Else

Begin

{операторы, выполняемые, если условие ложно}

end;

Выполняется оператор if следующим образом.

Сначала вычисляется значение выражения <условие>. Затем, если условие выполняется (то есть значение выражения <условие> равно true), то выполняются операторы, следующие за ключевым словом then, находящиеся между begin и end. Если условие не выполняется (значение выражения <условие> равно false), то выполняются операторы, следующие за словом else, находящиеся между begin и end.

Если при выполнении (или невыполнении) условия надо выполнить только один оператор, то ключевые слова begin и end после then (else) можно не писать.

Если какое-либо действие нужно выполнить только при выполнении некоторого условия и пропустить это действие в случае невыполнения условия, то оператор if может быть записан в другой форме:

if <условие>

Then

Begin

{операторы, выполняемые, если условие истинно}

end;

 

П р и м е р 1. Вычислить корни квадратного уравнения ax2+bx+c=0.

Блок-схема алгоритма решения задачи приведена на рис. 1.



 

Рис. 1

Текст программы:

Program Korni;

var

a, b, c: real; {коэффициенты уравнения}

d: real; {дискриминант}

x1, x2: real; {корни уравнения}

label 1,2;

Begin

writeln(‘Введите коэффициенты a, b, c’);

readln(a, b, c);

d := b*b-4*a*c;

ifd=0 then

beginx1:= -b/(2*a); x2:=x1; goto 1 end

Else

ifd>0 then

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

else beginwriteln (‘Уравнение не имеет действительных корней’);

goto 2;

end;

1: writeln(‘x1=’,x1:6:2, ‘x2=’,x2:6:2);

2: end.

 

Оператор caseпозволяет реализовать множественный выбор и в общем виде записывается так:

case <выражение> of

<список констант 1> :begin

{последовательность операторов 1}

end;

<список констант 2> :begin

{последовательность операторов 2}

end;

<список констант N> :begin

{последовательность операторов N}

end;

Else

Begin

{последовательность операторов, выполняемая}

{в случае, если значение выражения не попало}

{ни в один из списков констант}

end;

end;

Здесь: <выражение>- выражение, от значения которого зависит дальнейший ход программы (то есть одна из последовательностей операторов, которая должна быть выполнена);

<список констант>- константы, разделенные запятыми. Если константы представляют диапазон чисел, то вместо списка можно указать первую и последнюю константу диапазона, разделив их двумя точками. Например, список 1,2,3,4,5,6 может быть заменен диапазоном 1..6.

Если между beginи endнаходится только одна оператор, то слова beginи endможно не писать.

Примеры:

1. casedayof

1, 2, 3,4, 5: write ('Рабочий день. ');

6 : write (' Суббота ! ') ;

7 : write (' Воскресенье ! ') ;

end;

2. casedayof

1..5 : write ( ' Рабочий день . ' );

6: write (' Суббота ! ') ;

7: write ('Воскресенье! ');

end;

Оператор case выполняется следующим образом. Сначала вычисляется значение выражения, стоящего после case, затем полученное значение последовательно сравнивается с константами из списков констант. Если значение выражения совпадает с константой из списка, то выполняется соответствующая этому списку последовательность операторов, и на этом выполнение оператора case завершается. Если значение выражения не совпадает ни с одной константой из всех списков, то выполняется последовательность операторов, следующая за else. Допускается не указывать else и соответствующую последовательность операторов. В этом случае, если значение выражения не совпадает ни с одной константой из всех списков, то выполняется следующий за саsе оператор программы.

П р и м е р 2. Составить программу, имитирующую работу микрокалькулятора.

Блок-схема алгоритма решения представлена на рис. 2.

Рис. 2

 

Текст программы:

ProgramCalculator;

Var

oper: char; {символ арифметической операции}

x, a, b :real; {x – результат, a, b – операнды}

stop :Boolean; {признак ошибочной операции}

Begin

stop := false;

Write(‘Введите a и b’);

Readln(a, b);

Write(‘Введите символ операции ');

Readln(oper);

Case oper of {выбор арифметического действия}

‘+’:x:= a+b;

‘-‘: x:= a-b;

‘*”: x:= a*b;

‘/’: x:= a/b

elsestop:=true

end;

if not stop then writeln(‘Результат = ‘, x:6:3)

End.

 



<== предыдущая лекция | следующая лекция ==>
Задания к лабораторной работе. | Задания к лабораторной работе


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


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

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

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


 


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

 
 

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

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