Операторные скобки
Мы с вами изучили простейшие применения условного оператора и оператора выбора. Однако в реальных программах обычно встречаются более сложные случаи.
Например, в нашем калькуляторе в случае выбора операции деления и в случае, если пользователь ввёл в качестве второго числа 0, мы выдаём сообщение об ошибке и завершаем программу. Это очень плохо, потому что мы не предоставили пользователю шанса исправить ошибку. Пользователь может на нас обидеться.
Как быть? Ведь после оператора if можно записать только одно выражение. То есть, если мы напишем
То мы предоставим пользователю возможность повторно ввести значение y. Но есть одна проблема.
будет выполняться в любом случае, независимо от того, был ли y равен нулю или нет. То есть мы заставим пользователя повторно вводить значение, даже если он с первого раза ввёл его правильно.
Но и это ещё не всё. Нам придётся снова проверять значение y, так как пользователь может и второй раз ошибиться.
В общем у нас появился вопрос: как можно “впихнуть” в оператор if несколько выражений.
Ответ есть: надо поместить все выражения между словами begin и end. То есть в нашем примере это будет выглядеть так:
Итак, полный вариант синтаксиса конструкции if. then. else:
Если используется только один оператор, то слова begin и end можно не использовать. Если более одного оператора, то использование этих слов ОБЯЗАТЕЛЬНО.
Надеюсь, вы уже догадались, что слова begin и end используются не только для обозначения начала и конца программы. Эти слова ещё называют операторными скобками. Операторные скобки объединяют какой-либо блок кода. И в таком случае этот блок кода используется в программе как один оператор.
Слова begin и end — это не единственные операторные скобки в Паскале. Например, рассмотренная нами ранее конструкция с оператором case сама по себе также является операторными скобками, то есть между словами case и end не нужно вставлять слова begin и end.
Однако, если после константы следует несколько операторов, то слова begin и end также необходимы. Полный вариант конструкции case выглядит так:
О других операторных скобках мы будем говорить далее.
А сейчас ещё немного усовершенствуем наш многострадальный калькулятор.
Итак, здесь мы даём возможность пользователю исправить свою ошибку. Однако он может совершить её ещё раз. Как решить эту проблему, мы будем думать дальше.
9.4. Операторные скобки
Существует два основных подхода к расстановке операторных скобок. Первый подход иллюстрируется следующим участком программы:
int factorial( int n ) <
return n * factorial( n-1 );
fprintf( stderr, «Factorial error: negative argument\n» );
return -1; //Заведомо невозможный результат
Открывающаяся скобка помещается на той же строке, что и управляющая конструкция, а закрывающаяся — строго на уровне управляющей конструкции.
Второй подход покажем на том же примере:
int factorial( int n )
return n * factorial( n-1 );
fprintf( stderr, «Factorial error: negative argument\n» );
return -1; //Заведомо невозможный результат
Как видно, отличие состоит в положении открывающейся скобки. Однако закрывающаяся скобка в обоих случаях должна находится на уровне управляющего оператора или описания.
Автору представляется, что второй подход оправдан в большей мере, т. к. обеспечивает улучшенную наглядность. Открывающиеся и закрывающиеся скобки при этом располагаются строго друг под другом, что помогает находить начало и конец составного оператора, функции или описания класса.
Заметим, что наличие или отсутствие скобок не влияет на наличие и размер отступов, что видно в приведенных примерах.
9.5. Пробелы
Особенность зрительного восприятия человека такова, что пробелы распознаются лучше других знаков синтаксиса. Поэтому отдельные элементы текста необходимо отделять пробелами, несмотря на то, что первые, возможно, уже отделены другими знаками препинания (скобки, запятые, точки с запятой и т.д.). В особенности важно отделять стоящие рядом операторы и списки аргументов функций:
while( i++ < dim )
move( a, b, ptr[base + off*i] );
Дополнительные пробелы могут быть также использованы для выравнивания сходных по смыслу или однотипных частей выражений с целью улучшения наглядности, например, при объявлении переменных и для серии присваиваний:
int a, size;
float lenght1, lenght2;
size = (int) lenght1;
Практику правильного использования пробелов можно также изучить по всем остальным примерам данного подраздела.
9.6. Пустые строки
Использование пустых строк является важным средством для выделения участков программы. При этом имеет смысл отделять:
char str[80];
int counter = 0;
fgets( str, 79, infile);
последовательности однотипных инструкций или директив:
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#define NAME_SIZE 256
#define MAX_LEN 3000
char *get_name(FILE *f)
4) любые логически завершенные блоки кода:
printf( «Enter size and delta: » ); //Блок ввода данных
Операторные скобки
Операторные скобки — скобки или команды, определяющие в языке программирования блок команд, воспринимаемый как единое целое, как одна команда.
Примеры
-
, Ада: «begin» и «end». , PHP,
- : может использоваться «do» и «end», «<» и «>» а также различные комбинации операторов с переводом строки и «end»
Wikimedia Foundation . 2010 .
Смотреть что такое «Операторные скобки» в других словарях:
Скобки — У этого термина существуют и другие значения, см. Скобки (значения). Сюда перенаправляются запросы 🙂 и некоторые другие, начинающиеся с двоеточия. О них см. статью смайлик. ( ) Название символа Скобки Юникод U+0028 29 HTML … Википедия
Блок (программирование) — У этого термина существуют и другие значения, см. Блок. Блок кода, блок команд, блок инструкций часть кода, которая сгруппирована и воспринимается как единое целое (похоже на параграф). Блоки могут состоять из одного или нескольких… … Википедия
Python — У этого термина существуют и другие значения, см. Python (значения). Python Класс языка: му … Википедия
Пайтон — Python Класс языка: функциональный, объектно ориентированный, императивный, аспектно ориентированный Тип исполнения: интерпретация байт кода, компиляция в MSIL, компиляция в байт код Java Появился в: 1990 г … Википедия
Блок кода — Блок кода, блок команд, блок инструкций часть кода, которая сгруппирована и воспринимается как единое целое (похоже на параграф). Блоки могут состоят из одного или нескольких операторов, а также могут быть пустыми. В Си, C++, и некоторых других… … Википедия
Блок инструкций — Блок кода, блок команд, блок инструкций часть кода, которая сгруппирована и воспринимается как единое целое (похоже на параграф). Блоки могут состоят из одного или нескольких операторов, а также могут быть пустыми. В Си, C++, и некоторых других… … Википедия
Блок команд — Блок кода, блок команд, блок инструкций часть кода, которая сгруппирована и воспринимается как единое целое (похоже на параграф). Блоки могут состоят из одного или нескольких операторов, а также могут быть пустыми. В Си, C++, и некоторых других… … Википедия
Блок программирование — Блок кода, блок команд, блок инструкций часть кода, которая сгруппирована и воспринимается как единое целое (похоже на параграф). Блоки могут состоят из одного или нескольких операторов, а также могут быть пустыми. В Си, C++, и некоторых других… … Википедия
Индийская языковедческая традиция — Индийская языковедческая традиция совокупность способов описания и осмысления языка и результатов их применения, сложившаяся в Индии в 1‑й половине 1‑го тыс. до н. э. и существующая до сих пор. И. я. т. возникла, отвечая потребности уберечь от… … Лингвистический энциклопедический словарь
C++ — У этого термина существуют и другие значения, см. C. См. также: Си (язык программирования) C++ Семантика: мультипарадигмальный: объектно ориентированное, обобщённое, процедурное, метапрограммирование Тип исполнения: компилируемый Появился в … Википедия
§ 10. Алгоритмическая конструкция повторение
В окружающем мире можно наблюдать много ситуаций, при которых различные действия, процессы и события повторяются. Некоторые повторяются несколько раз и завершаются. Другие могут повторяться очень долго (например, круговорот воды в природе, движение планет в космическом пространстве, смена времен года, месяцев и дней недели и т. д.). Человеку тоже регулярно приходится выполнять повторяющиеся действия: умываться, одеваться, посещать парикмахерскую, завтракать, ходить на работу и др.
Как правило, человек составляет программы, в которых каждая команда в отдельности и весь алгоритм в целом выполняются за конечное число повторений.
Алгоритмическая конструкция повторение (цикл) определяет последовательность действий, выполняемых многократно. Эту последовательность действий называют телом цикла.
Существует несколько возможностей управлять тем, сколько раз будет повторяться тело цикла.
Алгоритмическая конструкция цикл с параметром (цикл со счетчиком) — способ организации цикла, при котором количество повторов зависит от начального и конечного значений параметра цикла.
Таким образом, цикл с параметром организует выполнение команд тела цикла заранее известное число раз (пример 10.1).
Параметр цикла определяет нумерацию действий в цикле. Параметр цикла может принимать только целые значения. Часто нумерацию начинают с 1 и заканчивают числом N (пример 10.2). В этом случае цикл выполнится N раз. Если нумерация установлена двумя произвольными числами N 1 (начальное значение) и N 2 (конечное значение), то цикл выполнится ( N 2 – N 1 + 1) раз.
Алгоритмическая конструкция цикла с параметром может изображаться на блок-схеме следующим образом (значение параметра изменяется от 1 до N ):

В данной конструкции в прямоугольнике(ах) записываются повторяющиеся команды алгоритма (тело цикла), которые выполняются N раз (Да). При этом после каждого выполнения команд тела цикла происходит проверка, который раз выполняется цикл. На блок-схеме переход на проверку условия изображается в виде стрелки, выходящей из тела цикла и возвращающейся к проверке. Как только команды тела цикла выполнятся N раз (Нет), цикл завершается (пример 10.3). Если N 0, то команда тела цикла не выполнится ни разу.
10.2. Использование команды цикла с параметром для исполнителя Робот
Чтобы составлять алгоритмы с циклами для компьютерного исполнителя Робот, нужно знать, как записывается команда цикла.
Для записи цикла с параметром используется команда for . Формат записи команды :
for var i:= N1 to N2 do 1
Строка for var i:= N1 to N2 do является заголовком цикла . Эту строку можно прочитать следующим образом: «Для переменной i от N 1 до N 2 делай». Если N 2 N 1, то команды тела цикла выполнятся ( N 2 – N 1 + 1) раз, иначе цикл не выполнится ни разу.
Операторные скобки — пара слов, определяющих в языке программирования блок команд, воспринимаемый как единое целое, как одна команда.
Слова begin и end; являются операторными скобками в языке Pascal . Если тело цикла состоит из одной команды, операторные скобки можно опустить.
Пример 10.4. Решим задачу с2 из встроенного задачника.
Робот должен закрасить клетки поля, перемещаясь вправо. Для закрашивания всех 10 клеток поля нужно в цикле выполнить 10 раз команды:
Данные команды образуют тело цикла.
Командами, образующими тело цикла, могут быть любые команды из системы команд исполнителя. Кроме того, в теле цикла может вызываться вспомогательный алгоритм. Использование вспомогательного алгоритма позволит сократить запись тела цикла и сделает программу более понятной.
Пример 10.5. Решим задачу с7 из встроенного задачника.
На поле исполнителя Робот присутствуют стены. При обходе стен Робот выполняет следующие команды:
Чтобы решить задачу, Робот должен повторить эти команды 5 раз. Оформим данные команды как вспомогательный алгоритм kvadrat и вызовем его в цикле.
В рассмотренном примере тело цикла состоит из одной команды kvadrat , поэтому операторные скобки begin end ; можно не использовать.
Понятие цикла используется в различных сферах человеческой деятельности.
Под циклом понимают совокупность явлений, процессов, составляющих кругооборот в течение определенного промежутка времени. С этой точки зрения можно говорить о годовом цикле вращения Земли вокруг Солнца или о производственном цикле.
Цикло м называют тот или иной круг наук: гуманитарный цикл наук, физико-математический цикл.
Циклом является законченный ряд каких-либо произведений, чего-либо излагаемого, исполняемого: цикл лекций, цикл стихотворений.

Понятие цикла используется в математике, химии, биологии, геологии, музыке, литературе, информатике и других науках.
Пример 10.1. Приготовление пельменей.

-
- Вскипятить воду.
- Для i = 1..10 повторять:
- 2.1.
Достать пельмень из упаковки. - 2.2.
Бросить пельмень в кипящую воду.
В данном примере параметр цикла i изменяется от 1 до 10. Действия «достать пельмень из упаковки» и «бросить пельмень в кипящую воду» выполняются 10 раз и составляют тело цикла.
Блок-схема данного алгоритма будет выглядеть следующим образом:

Пример 10.2. Вычислим a n (например, 3 5 = 243). Алгоритм возведения числа в степень может быть описан следующим образом:
-
- Ввести значения a и n .
- Определить начальное значение результата r = 1.
- Для i = 1.. n повторять:
- 3.1.Умножить результат на a .
Пример 10.3. В фольклорных произведениях часто встречается многоголовый Змей Горыныч (количество голов может быть, например, 7). Алгоритм победы над Змеем Горынычем может быть описан следующим образом: