Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оператор цикла с параметрами




Операторы цикла

Разветвляющийся алгоритм

Оператор выбора варианта

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

Структура оператора выбора такова:

CASE <ключ выбора> OF

<список выбора>

[else <оператор>]

end;

где CASE – случай, of – из,

<ключ выбора> выражение типа целые;

<оператор> – произвольный оператор Турбо Паскаля.

Оператор выбора работает следующим образом. Вначале вычисляется значение выражения <ключ_выбора>, а затем в последовательности операторов <список_выбора> отыскивается такой, которому предшествует константа, равная вычисленному значению. Найденный оператор выполняется, после чего оператор выбора завершает свою работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению ключа выбора, управление передается оператору, стоящему за словом ELSE.

Пример 11.

Вывести разные функции в зависимости от значения переменной n, введённой с клавиатуры. Написать программу с использованием оператора выбора CASE.

Решение.

Program Pr11;

Var

n: integer;

a, b, y, z: real;

begin

writeln (‘n, a, b’);

read (n, a, b);

y:=a+b; z:=a-b;

CASE n of

1, 2, 5: writeln (y);

7..10: writeln (z);

else writeln (‘ вне области определения n’);

end;end.

При значении n=1, 2, 5 программа выведет значение y. При значении n={7, 8, 9, 10}(одному из списка) программа выведет значение z, иначе выведет текст ‘вне области определения n’.

Пример 12.

Вывести разные функции в зависимости от значения переменной k. Если переменная k лежит в пределах [1¸10], вычислить y: = cos (x); z:=y+x; и вывести результат. Если переменная k лежит в пределах [11;20], вычислить y: = sin(x); и вывести результат. Написать программу с использованием оператора выбора CASE.

Решение.

Program Pr12;

Var

K: integer;

x, y, z: real;

begin

writeln (`x, k`); readln (x, k);

case k of

1..10: begin y:=cos (x); z:=y+x; writeln (y,z); end;

11..20: begin y:=sin(x); writeln (y); end;

else

writeln (`вне области переменной к`);

end; end.

Пример 13.

Дана точка А (x,y) с координатами x,y, не равными нулю.

Найти четверть, в которой находится эта точка. Написать программу.

Решение.

Program Pr 13;

Var

x,y: integer;

Begin

writeln(‘ввести координаты т. А: x,y’);

Readln (x,y);

IF (x>0) and (y>0) then writeln (‘т. A находится в 1 четверти’)

else

IF (x>0) and (y<0) then writeln (‘т. А в 4 четверти’)

else

IF y>0 then writeln (т. А во 2 четверти’)

else writeln (‘ т. А в 3 четверти’);

End.

Каждому ELSE соответствует предыдущее свободное then.

Счетный оператор цикла FOR имеет такую структуру:

а) FOR i:=a TO b DO <оператор>;

Здесь FOR, TO, DO – зарезервированные слова (для, до, выполнить);

i – переменная цикла типа INTEGER;

a – начальное значение переменной цикла (тип INTEGER);

b – конечное значение переменной цикла (тип INTEGER);

<оператор> – произвольный оператор Турбо Паскаля.

Шаг изменения параметра цикла равен единице.

Алгоритм выполнения оператора цикла с параметрами при выполнении оператора FOR:

  1. вначале осуществляется присваивание i:=a;
  2. проверяется условие i > b;если это условие выполняется, то следует выход из цикла, иначе на пункт 3;
  3. выполняется тело цикла;
  4. счётчик увеличивается на единицу: i:=i + 1;
  5. переход на 2;
  6. после этого цикл повторяется или заканчивается.

Пример 14.

Найти сумму значений переменной цикла. Фрагмент программы с оператором цикла запишется в виде:

For i:= 1 to 10 do s:=s+i;

Writeln(‘s=’, s);

В примере 14 рассматривается простой оператор цикла.

Счётный оператор цикл FOR может иметь такую структуру:

б) FOR i: = b DOWNTO a DO <оператор>;

Замена зарезервированного слова TO на DOWNTO означает, что шаг наращивания переменной цикла равен (-1).

Пример 15.

Найти сумму значений переменной цикла.

Фрагмент программы с оператором цикла запишется в виде:

For i:=10 to 1 downto s:=s+i;

Writeln(‘s=’,s:8:3);

{Результат получится тот же, что и в примере 14}.

Правила оператора FOR.

  1. Нельзя войти в цикл, минуя оператор FOR.
  2. Нельзя изменять параметры цикла (a,b) внутри цикла.
  3. Параметры цикла и переменная цикла должны быть целыми.
  4. Шаг цикла может быть единица или минус единица.
  5. Естественное окончание цикла осуществляется при условии i > b для а).
  6. Из цикла можно выйти до естественного окончания цикла по условию.



Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 487; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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