Сделай Сам Свою Работу на 5

Операторы условного перехода





Алгоритмические языки и программирование

 

Изучение условных и циклических конструкций

 

Методические указания

к выполнению лабораторной работы №2

для студентов очной формы обучения

специальности 230201 – "Информационные системы

и технологии"

 

 

Брянск 2007



УДК 004.43

 

Алгоритмические языки и программирование. Изучение условных и циклических конструкций: методические указания к выполнению лабораторной работы №2 для студентов очной формы обучения специальности 230201 – "Информационные системы и технологии". – Брянск: БГТУ, 2006. - 16 с.

 

Разработали:

 

С.М. Рощин, к.т.н., доц.

Ю.А. Леонов, асс.

 

 

Рекомендовано кафедрой «Компьютерные технологии и системы» БГТУ (протокол № от )

 

 



ЦЕЛЬ РАБОТЫ

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

Продолжительность работы – 4ч.

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

Блок-схемы

Блок-схемой – называется графическое представление алгоритма. Блок-схемы должны быть оформлены в соответствии с единой системой программной документации (ЕСПД). ЕСПД является набором государственных стандартов, который определяет, в том числе, и элементы блок-схем. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий. Любая блок-схема обязательно должна иметь блоки «начало», из которого начинается выполнения алгоритма, и «конец», завершающим выполнение алгоритма. Рассмотрим наиболее часто употребляемые символы (табл. 1).



Таблица 1

Основные символы блок-схем

Название символа Обозначение и пример заполнения Пояснение
Процесс   Вычислительное действие или последовательность действий
Решение Проверка условий
Модификация Начало цикла (указываются начальное значение, конечное значение, шаг)
Ввод-вывод Операция ввода-вывода

Окончание табл. 1



Название символа Обозначение и пример заполнения Пояснение
Пуск-останов Начало, конец алгоритма
Документ Вывод результатов на печать
Предопреде-ленный процесс Вызов подпрограммы

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

Блок «решение» используется для обозначения переходов управления по условию. В каждом блоке «решение» должны быть указаны вопрос, условие или сравнение, которые он определяет.

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

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

Пример. Необходимо составить алгоритм решения задачи нахождения значения функции R(r) в виде блок-схемы (рис. 1).

 

Операторы условного перехода

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

2.2.1. Оператор условия If

Синтаксис оператора If:

If выражение Then оператор_1 Else оператор_2;



В представленном операторе if выражение должно быть булевского (логического) типа данных, т.е. принимающее одно из значений true или false. Если значение выражения равно true, то выполняется оператор_1, если значение выражения – false, то выполняется оператор_2.

Выражение записывается с помощью булевских операций. Пример выражения: a>b, где a и b – это переменные, значение которых определено ранее.

После каждого оператора следует ставить «;», но следует обратить внимание, что после оператора_1 не стоит «;», так как это исключение. Вместо оператора_1 и оператора_2 может стоять несколько операторов, это становится возможным при применении составного оператора begin … end;. Несколько операторов заключаются в составной и представляются компилятору языка как один блок операторов.

Например:

If (a>0) and (a<=10) Then WriteLn(‘Число находится в диапазоне (0,10].’) Else WriteLn(‘Число вне диапазона (0,10].’);

 

Допускается краткая форма условного оператора:

If выражение Then оператор;

В качестве выражения может быть использовано также только булевское выражение. В этом случае, если значение выражения равно true, то выполняется оператор. Если значение выражения false, то управление передается оператору, следующему за оператором If.

2.2.2. Оператор выбора Case

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

Синтаксис оператора Case:

Case переключатель Of

список констант_1: оператор_1;

список констант_2: оператор_2;

список констант_N: оператор_N

[Else оператор_E;]

End;

Переключатель – это выражение порядкового типа данных, в частном случае в качестве переключателя может выступать имя переменной. К порядковому типу относят следующие типы данных: целочисленный, символьный, перечисляемый и булевский типы данных. Переключателем может быть переменная, условное выражение, функция. Тип констант в списке констант и тип переключателя обязан совпадать. Переключатель определяет, какой из операторов должен быть выполнен. Если переключатель принимает одно из значений списка констант_1, то выполняется оператор_1, а остальные операторы пропускаются. Если значение переключателя не совпадает ни с одним из значений списков констант, то выполняется оператор_E. После выполнения соответствующего оператора управление передается на оператор, следующий за конструкцией Case. Ветвь Else в операторе Case может отсутствовать.

Пример:

Case operation Of

'+': A:=A + B;

'-': A:=A - B;

End;

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

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

Pascal поддерживает три управляющих конструкции повторения:

· цикл с предусловием (While);

· цикл с постусловием (Repeat);

· цикл со счетчиком (For).

2.3.1. Оператор с предусловием While

Цикл While используется, как правило, в тех случаях, когда заранее неизвестно количество повторений цикла.

Синтаксис оператора While:

While выражение Do оператор;

Выражение должно быть булевского типа данных. Значение выражения вычисляется перед каждым выполнением оператора, поэтому цикл While называют еще циклом с предусловием. Оператор, составляющий тело цикла, выполняется, пока выражение равно true. Если значение выражения false, то оператор не выполняется и происходит выход из цикла.

Если первоначальное значение выражения равно false, то оператор не выполнится ни разу. Чтобы избежать бесконечного повторения (зацикливания), необходимо хотя бы одну переменную, входящую в выражение, изменять в теле оператора цикла. Более того, эти изменения должны быть такими, чтобы булевское выражение в ходе вычисления приняло значение false. Если же булевское выражение первоначально истинно и ни при каких обстоятельствах не становится ложным, то выполнение оператора цикла никогда не завершится.

Пример: вычисление суммы ряда, состоящего из 50 элементов.

S:=0; N:=1;

While N<=50 Do Begin

S:=S+1/N;

N:=N+1;

End;

2.3.2. Оператор с постусловием Repeat

Цикл Repeat, как правило, используется в тех случаях, когда заранее неизвестно количество повторений операторов тела цикла, но необходимо выполнить тело цикла хотя бы один раз. Синтаксис оператора цикла Repeat:

Repeat

оператор;

Until выражение;

В цикле Repeat вначале выполняется оператор (или операторы) тела цикла, затем вычисляется значение выражения; если его значение равно false, то вновь выполняется оператор, если значение выражения true, то цикл заканчивается. Если значение выражения равно true с самого начала, то оператор выполняется лишь один раз. Если выражение никогда не принимает значение true, то оператор выполняется бесконечное число раз, т.е. происходит «зацикливание».

Нижняя граница операторов циклической части обозначена словом Until, поэтому нет необходимости заключать операторы циклической части в операторные скобки begin … end.

Пример: вычисление суммы ряда, состоящего из 50 элементов.

S:=0; N:=1;

Repeat

S:=S+1/N; N:=N+1;

Until N>50; { пока значение N не превзойдет 50 }

2.3.3. Оператор со счетчиком For

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

For счетчик:=значение_1 To значение_2 Do оператор;

Счетчик – переменная порядкового типа.

Значение_1, значение_2 – начальное и конечное значения переменной счетчик.

Чтобы оператор в цикле выполнился хотя бы один раз, значение_2 должно быть равно либо больше, чем значение_1. Переменная цикла принимает последовательные значения данного типа от значения_1 до значения_2.

Например,

{для i=1,2,3,...,20 будет выполняться оператор А:=А+1}

For i:=1 To 20 Do A:=A+1;

Имеется возможность организовать цикл по убывающим значениям параметра. Для этого используется зарезервированное слово DownTo. Синтаксис оператора For по убывающим значениям параметра:

For счетчик:=значение_1 DownTo значение_2 Do оператор;

В этом случае переменная принимает последовательные убывающие значения данного типа от значения_1 до значения_2.

Например,

{для i=10,9,8,...,1 будет выполняться оператор А:=А+1}

For i:=10 DownTo 1 Do A:=A+1;

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.