Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Практические работы по программированию ветвлений






    Приемы программирования основных алгоритмических структур на языке Паскаль

    Программирование ветвящихся алгоритмов

    Алгоритмическая структура ветвления программируется в Паскале с помощью условного оператора, имеющего вид

     

    If < Условие> Then < Оператор 1> Else < Оператор 2>;

    Кроме того, возможно использование неполной формы условного оператора:

     

     

    If < Условие> Then < Оператор >;

    Изм.
    Лист
    № докум.
    Подпись
    Дата
    Лист
     
    ПП.01.ПМ01 625. 14  


    Строгое описание условного оператора в форме синтаксической диаграммы показано на рис. 1

     

    Условием в условном операторе является логическое выражение, которое вычисляется в первую очередь. Если его значение равно True, то будет выполняться < Оператор 1> (после Then), если же его значение равно False, будет выполняться < Оператор 2> (после False) для полной формы или сразу оператор, следующий после условного, для неполной формы (без False).

    < Условный оператор> If < Логическое выражение>

    Then < Оператор>

    Else < Оператор>

    Рис. 1. Синтаксическая диаграмма условного оператора

     

    Ввод N
    N=5
    N=4
    N=3
    Отлично
    Хорошо
    Удовлетворительно
    N=2
    Неверная оценка
    Неудовлетворительно
    Конец
    Изм.
    Лист
    № докум.
    Подпись
    Дата
    Лист
     
    ПП.01.ПМ01 625. 14  

     


    + -

     

    + -

     

     

    + -

     

    + -

     

     

    Рис. 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, то экзамен не сдан:

     

     

    < Оператор выбора>

    Изм.
    Лист
    № докум.
    Подпись
    Дата
    Лист
     
    ПП.01.ПМ01 625. 14  

    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)






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.