Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Разветвляющая структура (ветвление)Содержание книги
Поиск на нашем сайте
Разветвляющийся алгоритм предполагает выполнение вычислений по одному из возможных направлений в зависимости от исходных данных или промежуточных результатов. Ветвление в таких алгоритмах производится при проверке некоторых условий. Условный оператор Условный оператор позволяет выбрать и выполнить один из двух входящих в него операторов в зависимости от значения логического выражения. Он имеет следующий вид: IF < логическое выражение> then <Оператор 1> [ Else <Оператор 2>;] Здесь IF, then, Else – зарезервированные слова языка, означающие соответственно ЕСЛИ, ТО, ИНАЧЕ, квадратные скобки означают, что конструкция Else <Оператор 2> может отсутствовать. Например, оператор if X<>0 then Y:= A/X Else Y:= A; Соответствует следующий ход вычислений: Если в момент выполнения программы окажется, что X ≠ 0, то будет вычислено Y = A/X. Если же окажется, что X = 0, то будет вычислено Y = А. Оператор IF, then, Else – это один оператор, поэтому "; " после оператора 1, т.е. перед Else, не ставится. Порядок выполнения условного оператора приведен на рисунке 4.1. Рисунок 4.1 – Схема полного условного оператора Если условный оператор не имеет конструкции Else, то тогда он называется сокращенным условным оператором. Если логическое выражение принимает значение ЛОЖЬ, сразу выполняется оператор, следующим за условным (рисунок 4.2). Например, оператор If X>0 Then K:= K+1; {увеличение К на 1 (подсчет числа положительных Х)} Рисунок 4.2 –Схема неполного условного оператора Оператор выбора (варианта) Оператор If позволяет выбрать один из двух возможных путей решения. В ряде случаев таких путей бывает гораздо больше. При этом также необходимо выбрать один из них. Применение оператора If для таких задач неэффективно. В Паскале для выбора одного из нескольких путей решения используется оператор Case (вариант из) – обобщение условного оператора. В общем виде он записывается так: Case выражение Of Значения1: Оператор1; Значения2: Оператор2; .......... ЗначенияN: ОператорN; End; { Конец списка выбора } Выражение записывается относительно специальной переменной выбора (селектора), которая может быть любого перечисляемого типа (Integer, Char). Значения1,..., Значения N – значения выражения, при которых выполняются Оператор1,..., Оператор N соответственно. Если селектор принял значение, не принадлежащее ни одному из перечисленных, то оператор Case пропускается и выполняется следующий за ним оператор (как при неполном If). Например: Case Num Mod 2 Of 0: Writeln('Четное'); 1: Writeln('Нечетное'); End; или Case Month Of 1,2,3: Writeln('Первый квартал'); 4,5,6: Writeln('Второй квартал'); End; Если после Значений i необходимо выполнять несколько операторов, они заключаются в блок: Значенияi: Begin операторы_i End; Пример 4.3 Перевести цифру римской системы счисления в ее десятичный эквивалент. Римская цифра вводится c клавиатуры (в виде похожей на нее латинской буквы), а затем на экране должен появиться ее десятичный эквивалент. Программа будет иметь вид Program Rim; Var R: Char; N: Integer; Begin Writeln('Введите римскую цифру'); Readln(R); Case R Of 'M': N:= 1000; 'D': N:= 500; 'C': N:= 100; 'L': N:= 50; 'X': N:= 10; 'V': N:= 5; ‘I': N:= 1 End; { Case } Write ('Десятичное число:', N); End.
|
||||
Последнее изменение этой страницы: 2017-02-17; просмотров: 202; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.244.34 (0.009 с.) |