Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 210; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.201.29 (0.005 с.) |