русс | укр

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

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

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

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


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

Справки по операторам


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


2.6.1. Оператор IF

Основным средством разработки разветвленных структур алгоритмов в Turbo Pascal являются условные операторы if и case. С их помощью можно влиять на последовательность выполнения операторов программы.

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

В качестве условия выбора должно быть логическое выражение; Например, A>B; (A+X)<>N; (A>B) and (B>C).

Оператор if может принимать одну из следующих форм:

1. if <условие> then <оператор 1> else <оператор 2>;

{если <условие> то <оператор 1> иначе <оператор 2>;}

2. if <условие> then <оператор 1>;

{если <условие> то <оператор 1>;}

Оператор if выполняется следующим образом. Сначала вычисляется выражение, записанное в условии. В результате его вычисления получается значение булевского типа. В первом случае, если значение есть true (истина), то выполняется <оператор 1>, указанный после ключевого слова then, иначе выполняется <оператор 2>, указанный после ключевого слова else. Во втором случае, если результат вычисления выражения есть false (ложь), то выполняется оператор, следующий за оператором if.

Например:

·····························

if x>y then max:=x else max:=y;

·····························

При x>y выполняется оператор max:=x, при x£y выполняется оператор max:=y

Пример оператора if без else:

·····························

if x>y then writeln(x);

·····························

При x>y выполняется оператор writeln(x), иначе выполняется оператор, следующий за оператором if.

Часто возникает необходимость выполнять в одной из ветвей (или в обеих ветвях) условного оператора несколько команд. В этом случае используется составной оператор.



Составной оператор – группа операторов, помещенных между ключевыми словами begin и end.

Например:

if x>y then

begin { начало составного оператора }

max:=x;

writeln(‘max=’, max);

end { конец составного оператора }

else

x:=x+1;

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

Например:

if x< -3 then y:=x+1 else

if x>3 then y:=x*x else y:=y*y;

Примечание. Служебное слово else всегда ассоциируется с ближайшим по тексту if.

2.6.2. Оператор выбора CASE

Оператор case позволяет сделать выбор из произвольного числа имеющихся вариантов. С его помощью можно сопоставить различным значениям некоторого выражения, называемого селектором (от selection – выбор), соответствующие им операторы.

Оператор case имеет следующий формат:

case <выражение-селектор> of

константа или список констант №1 : <оператор 1>;

константа или список констант №2 : <оператор 2>;

·····························

константа №N : <оператор N>

else <альтернативный оператор>

end;

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

Например:

write(‘Введите значение n =’);

readln(n);

case n of

1 : y:=x;

2 : y:=x*x;

3 : y:=x*x*x

else y:=0

end;

writeln(‘y=’, y);

При n=1 выполняется оператор y:=x.

При n=2 выполняется оператор y:=x*x.

При n=3 выполняется оператор y:=x*x*x.

При любых других значениях n выполняется оператор y:=0.

После завершения оператора case выполняется оператор writeln(‘y=’, y). Кроме одиночных констант могут быть заданы списки и/или диапазоны значений.

Например:

case n of

0,1..4 : y:=x;

2,5 : y:=x*x;

3 : y:=x*x*x

end;

При использовании оператора case должны выполняться следующие правила:

– значение селектора должно принадлежать дискретному типу; для целого типа integer оно должно лежать в диапазоне -32768..32767;

– все константы, предшествующие операторам альтернатив, должны иметь тип, совместимый с типом селектора;

– все константы в альтернативах должны быть уникальны в пределах оператора case;

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

2.6.3. Оператор GOTO

Оператор безусловного перехода goto означает «перейти к» и применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий оператор, а какой-нибудь другой. Метка объявляется в разделе описания меток и может содержать как цифровые, так и буквенные символы. Метка отделяется от помеченного оператора двоеточием.

Например:

·····························

label M1;

var

n : integer;

x,y : real;

begin

readln(n,x);

·····························

goto M1;

·····························

M1:

y:=x*2-3/x;

writeln(‘y=’, y);.

Пример программы с разветвленной структурой

Составить программу вычисления функции

 


Program Lab1;

Uses CRT; { Раздел объявления внешних модулей }

Label M1,M2;

var

n : integer;

x,y : real;

p: byte; {Признак выполнения пунктаN1}

begin

clrscr; { Очистка экрана }

writeln(‘Программа вычисления функции...’);

{ Вывод на экран меню }

writeln(‘+--------------------------------------------+’);

writeln(‘| 1. Ввод данных |’);

writeln(‘| 2. Вычисление функции и вывод результатов |’);

writeln(‘| 3. Завершение работы программы |’);

writeln(‘+--------------------------------------------+’);

p:=0;

M1: writeln(‘введите пункт меню’);

readln(n); { Ввод номера пункта меню}

case n of

1: begin { Ввод данных }

M2: write(‘Введите значение аргумента x=’);

readln(x)

{ Проверка допустимого значения аргумента }

if x=0 then

begin

writeln(‘x не может быть равным 0 по условию’) ;

goto m2;

p:=1; {Пункт N1 выполнен}

end; end;

2: { Вычисление значения функции }

begin

If p=0 then

Writeln (‘Данные не введены, выполните пункт N1’);

else

begin

{ Операторы вычисления и вывода значения функции }

if x>0 then y:=1/x else y:=x*x;

writeln(‘при х=’, x:7:2, ‘ y=’, y:7:2)

end

end;

3: Exit { Выход из программы }

end; { end case }

goto M1;

end. { Конец программы}

Варианты заданий

1. Вычислить объем тела со сторонами A, B, C и определить, является ли данное геометрическое тело кубом.

2. Вычислить площадь треугольника со сторонами А, В, С. Перед вычислением площади проверить условие существования треугольника с заданными сторонами.

3. Вычислить площадь треугольника со сторонами A, B, C. Определить, является ли треугольник равнобедренным.

4. Вычислить площадь прямоугольника со сторонами A и B и определить, является ли данная фигура квадратом.

5. Составить программу нахождения корней квадратного уравнения у=ах2+bх+с.

6. Определить, можно ли сделать круглую заготовку с заданным радиусом R из квадратного листа фанеры с заданной стороной A.

7. Определить, хватит ли имеющейся суммы S на покупку N-го количества товара (при известной цене товара).

8. Определить, можно ли сделать две квадратных заготовки со стороной А из листа железа прямоугольной формы со сторонами В и С.

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

10. Рассчитать сумму оплаты за потребленную энергию, если известны: стоимость 1 квт\час, расход энергии, коэффициент льгот (льготы могут отсутствовать).

11. Определить, достаточно ли бензина для поездки, если известны: длина пути, количество бензина в баке и расход бензина на 1 км.

12. Определить, будет ли начислена студенту стипендия по результатам экзаменов (стипендия начисляется, если все экзамены сданы на «хорошо» и «отлично»).

13. Определить, будет ли зачислен абитуриент в студенты по результатам вступительных экзаменов, если известны: проходной балл; количество баллов, набранных абитуриентом по каждому экзамену.

14. Определить, изделия какой из двух групп товаров выгоднее сшить из одного рулона ткани, если известны: расход ткани на каждое изделие и цена готового изделия, количество метров в рулоне.

15. Определить выполнен ли план по продаже товара за день, если известны: план продажи (в рублях), количество проданного товара и цена товара.

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

17. Определить наибольшую выручку от продажи трех видов товаров, если известны: цена товара; количество проданных товаров каждого вида.

18. Определить сколько корней имеет уравнение y=ах2+вх+с.

19. Определить, является ли число А четным или нечетным.

20. Вычислить площадь треугольника со сторонами A, B, C и определить, является ли данный треугольник равносторонним.



<== предыдущая лекция | следующая лекция ==>
Порядок выполнения работы | Строка 1


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


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

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

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


 


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

 
 

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

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