![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Составной оператор и пустой операторСодержание книги
Поиск на нашем сайте
Составной оператор – это последовательность произвольных операторов программы, заключенная в операторные скобки – зарезервированные слова BEGIN … END. Составные операторы – важный инструмент Pascal, дающий возможность писать программы по современной технологии структурного программирования (без операторов перехода GOTO). Pascal допускает произвольную глубину вложенности составных операторов: BEGIN …… BEGIN …… BEGIN …… END; …… END; …… END. Поскольку BEGIN и END представляют собой структурные скобки, то после BEGIN и перед END ставить знак «;» не обязательно. В программе может применяться пустой оператор, не выполняющий никакого действия. Метка и оператор перехода Метка – это произвольный идентификатор, позволяющий именовать некоторый оператор программы и таким образом ссылаться на него. В Паскале метка – это целое без знака. Метка располагается непосредственно перед помеченным оператором и отделяется от него двоеточием. Описание меток состоит из зарезервированного слова Label. Оператор перехода указывает, что дальнейшая работа должна продолжится в другой части текста программы, а именно с того места, где находилась метка. Структура оператора перехода имеет вид: GOTO < метка >, где GOTO – зарезервированное слово(«перейти на метку») < метка >- произвольный идентификатор. Циклическая структура (повторение) Основными задачами, решаемыми на ЭВМ являются такие, в которых необходимо выполнять одни и те же операции над различными данными. Программы таких задач содержат гораздо меньше операторов, чем в действительности выполняет ЭВМ. Это достигается за счет того, что некоторые операторы выполняются много раз. Определение 1. Группа многократно повторяющихся операторов называется циклом, а содержащая их программа – циклической. Количество повторений цикла определяется значением некоторой управляющей переменной. Определение 2. Переменная, управляющая повторением цикла, называется параметром цикла. Общая схема циклического участка программы (алгоритма) может быть представлена в следующем виде (рис. 2.4).
По типу параметра и условию окончания циклы делятся на: 1) циклы с параметром;
2) итерационные: - цикл с постусловием; - цикл с предусловием.
Оператор цикла с параметром Для реализации циклического процесса с известным числом повторений целесообразно использовать оператор цикла с параметром. Для их организации в Паскале используется оператор For (для), который в общем виде записывается так: For Параметр:= НачальноеЗначение to КонечноеЗначение do Оператор1; или For Параметр:= НачальноеЗначение Downto КонечноеЗначение do Оператор1; Параметром цикла в этом операторе может служить переменная так называемого перечисляемого типа: 1) целого; 2) символьного. Оператор 1 работает в соответствии со схемой, приведенной на рис. 4.4,а. Параметр пробегает значения от начального до конечного через 1. При этом конечное значение должно быть больше или равно начальному. В противном случае оператор не выполняется. В операторе 2 использовано слово Downto. При этом значения параметра убывают (изменяются от большего – начального значения – до меньшего с шагом -1). Работу оператора иллюстрирует схема рис. 4.4,б.
Если начальное значение равно конечному, то в обоих случаях (при То и Downto) оператор выполняется один раз. В общем случае (если параметр пробегает несколько значений) оператор 1 выполняется несколько раз.
Например: {к величине S прибавляется 10 чисел от 1 до 10} For i:= 1 To 10 Do S:= S+i; Если многократно нужно выполнить несколько операторов, то они помещаются в блок операторов – между служебными словами Begin и End. Необходимо придерживаться следующих правил организации циклической структуры с параметром: 1) Параметр цикла, начальное и конечное значение должны быть одного типа; 2) Запрещено изменять внутри цикла (в теле цикла) значения <имя>, <выражение 1>, <выражение 2>; 3) Запрещено передавать управление в тело цикла извне минуя заголовок for, так как начальное и конечное значение вычисляются один раз при первоначальном входе в цикл; 4) Тело цикла не выполняется, если начальное значение <имя> не определено и не может быть использовано в дальнейших вычислениях; 5) После выхода из цикла for значение <имя> не определено и не может быть использовано в дальнейших вычислениях; 6) После служебного слова do может быть записан только один оператор, поэтому в случае, когда в теле цикла содержится несколько операторов, их необходимо заключать в операторные скобки begin и end, организуя, составной оператор.
Пример 4.4 Ввести в ЭВМ 10 трёхзначных чисел и распечатать их цифры в обратном порядке, т.е. начиная с младшей.
Program Dig; Const D=10; Var Num,C1,C2,C3: Integrer; {исходное число и цифры} i: Integrer; {номер числа } Begin For I:= 1 To D Do Begin Readln(Num); C1:=Num Mod D; Num:=Num Div D; C2:=Num Mod D; C3:=Num Div D; Writeln(C1:2,C2:2,C3:2) End; End. Пример 4.5 Определение номера буквы в латинском алфавите. Program Lett; Var Bukva, ch:char; K:integer; Begin Write(‘введите букву: ’); Read(bukva); K:=0; For ch:=’A’ to bukva do K:=k+1; Writeln(‘буква ’,bukva, ‘ имеет номер ’,k,’ в латинском алфавите’); End. Пример 4.6 Вычислить значение логической функции Program BOOL; Var F,a:Boolean; Z,y: integer; Begin Write(‘Z= ‘); Read(z); Write(‘Y= ‘); Read(y); Writeln(‘Z= ‘,z,’Y= ‘, y); For a:= true downto false do Begin F:=not a and (y>0) or (y>z); Writeln(‘A=’,a,’F=’,f) End End.
|
||||||||||||||||||
Последнее изменение этой страницы: 2017-02-17; просмотров: 213; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.78.148 (0.009 с.) |