Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Практические работы по программированию ветвленийСтр 1 из 4Следующая ⇒
Приемы программирования основных алгоритмических структур на языке Паскаль Программирование ветвящихся алгоритмов Алгоритмическая структура ветвления программируется в Паскале с помощью условного оператора, имеющего вид
If < Условие> Then < Оператор 1> Else < Оператор 2>; Кроме того, возможно использование неполной формы условного оператора:
If < Условие> Then < Оператор >;
Строгое описание условного оператора в форме синтаксической диаграммы показано на рис. 1
Условием в условном операторе является логическое выражение, которое вычисляется в первую очередь. Если его значение равно True, то будет выполняться < Оператор 1> (после Then), если же его значение равно False, будет выполняться < Оператор 2> (после False) для полной формы или сразу оператор, следующий после условного, для неполной формы (без False). < Условный оператор> If < Логическое выражение> Then < Оператор> Else < Оператор> Рис. 1. Синтаксическая диаграмма условного оператора
+ -
+ -
+ -
+ -
Рис. 2 Блок-схема алгоритма перевода пятибалльной оценки в ее наименование
Структуру вложенных ветвлений можно запрограммировать с помощью одного оператора выбора, имеющегося в языке Паскаль.
Program Marks; Var N: Integer; Begin Writeln (‘Введите оценку: ’) Readln (N); Case N Of 5: Writeln (‘Отлично’) 4: Writeln (‘ Хорошо’) 3: Writeln (‘Удовлетворительно’); 2: Writeln (‘Неудовлетворительно’); Else Writeln (‘Нет такой оценки’) End. Формат оператора выбора описывается синтаксической диаграммой показано на рис. 3, где < Селектор> - это выражение любого порядкового типа, < Константа> - постоянная величина того же типа, что и селектор, а < Оператор> - любой простой или составной оператор. Выполнение оператора выбора происходит следующим образом: вычисляется выражение – селектор, в списках констант находится значение, совпадающее с полученным значением селектора, а далее исполняется оператор, помеченный данной константой. Если такой константы не найдено, происходит переход к выполнению оператора, следующего после Else. Покажем на примере использование списка констант в операторе выбора. Следующая программа сообщает, сдал студент экзамен или не сдал, т.е если он получил оценку 3, 4 или 5, то экзамен сдан, а если – 2, то экзамен не сдан:
< Оператор выбора>
Case < Селектор> Of
< Константа>: < Оператор> Else < Оператор> End
; Рис. 3 Синтаксическая диаграмма оператора выбора.
Case N Of 3, 4, 5: Writeln (‘Экзамен сдан’) 2: (‘Экзамен не сдан’) Else Writeln (‘Нет такой оценки’);
Так же, как условный оператор, оператор выбора может использоваться в форме, т.е без ветви Else.
Практические работы по программированию ветвлений Пример: Требуется составить программу вычисления площади треугольника по длинам трех сторон a, b, c. Для решения задачи используется формула Герона где p=(a+b+c)/2 – полупериметр треугольника. Исходные данные должны удовлетворять основному соотношению для сторон треугольника: длина каждой стороны должна быть меньше суммы длин двух других сторон. Имея возможность в одном условном операторе записывать достаточно сложные логические выражения, можно сразу «отфильтровать» все варианты неверных исходных данных:
Program Geron; Var A, B, C, P, S: Real; Begin Writeln (‘Проверка программы’); A: = 3; B: = 4; C: = 5; Writeln (‘Для а=’, A: 4: 2); Writeln (' b=', B: 4: 2); Writeln (' c=', C: 4: 2); If (A> 0) And (B> 0) And (C> 0) And (A+B> C) And (B+C> A) And (A+C> B)
|