Главная страница
Навигация по странице:

  • Операции сравнения

  • Логические операции

  • Тернарная (условная) операция

  • методичка. метода по ООП для практики. Лабораторная работа 1. Линейный вычислительный процесс 2 Общие теоретические сведения 2 Создание оконного приложения 6


    Скачать 1.1 Mb.
    НазваниеЛабораторная работа 1. Линейный вычислительный процесс 2 Общие теоретические сведения 2 Создание оконного приложения 6
    Анкорметодичка
    Дата11.01.2022
    Размер1.1 Mb.
    Формат файлаdoc
    Имя файламетода по ООП для практики.doc
    ТипЛабораторная работа
    #328342
    страница5 из 19
    1   2   3   4   5   6   7   8   9   ...   19

    Лабораторная работа №2. Реализация разветвляющихся алгоритмов




    Цель работы: изучить операции сравнения, логические операции, операторы передачи управления if, switch, break, научиться пользоваться простейшими компонентами организации переключений (СheckBox, RadioGroup). Написать и отладить программу с разветвлениями.

    2.1. Общие теоретические сведения

    Оператор условной передачи управления if


    Для выбора одной из ветвей вычислений применяется оператор условного перехода:

    if (выражение) оператор 1;

    else оператор 2;

    вычисляется выражение, и если его значение не равно 0 (истинно), то выполняется оператор 1, иначе – оператор 2, например:

    if(x>y) max = x;

    else max = y;

    Если операторы 1, 2 содержат более одного оператора, то они заключаются в фигурные скобки { }, т.е. применяется блок.

    Конструкция else может отсутствовать и такую форму называют сокращенной, тогда в случае ложности условия управление передается на следующий за if оператор.

    Если операторы 1, 2 в свою очередь являются операторами if, то такой оператор называют вложенным, при этом ключевое слово else принадлежит ближайшему предшествующему if.

    Например, найти наибольшее значение из трех чисел x, y, z:

    if (x>y)

    if (x>z) max=x;

    else max=z;

    else if(y>z) max=y;

    else max=z;

    Операции сравнения: < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), != (не равно), = = (равно). Пары символов разделять нельзя.

    Операции сравнения бинарные, их общий вид:

    Операнд 1 знак операции Операнд 2

    Операндами операций сравнения могут быть данные любых базовых типов, значения которых перед сравнением преобразуются к одному типу.

    Логические операции используются в качестве условий при составлении более сложных выражений. Приведем их перечень в порядке убывания приоритета:

    ! (отрицание или логическое НЕ – унарная операция), && (конъюнкция или логическое И), || (дизъюнкция или логическое ИЛИ).

    Например: (0
    ((!x)&&(y>0)||((z==1)&&(k>0))

    Выражения вычисляются слева направо, причем их вычисление прекращается, как только результат становится известен.

    Тернарная (условная) операция ?:

    Ее общая форма:

    Операнд 1 ? Операнд 2 : Операнд 3

    Если значение операнда 1 истинно (не равно 0), то результатом операции является операнд 2, иначе – операнд 3.

    Например, найти наибольшее из двух чисел: max = a>b ? a : b;

    Оператор выбора switch


    Общая форма оператора выбора (переключателя):

    switch(выражение) {

    case const_1: операторы; break;



    case const_N: операторы; break;

    default: операторы;

    }

    Вычисляется выражение и проверяется, совпадает ли его результат со значением одной из констант. При совпадении выполняются операторы этого case. Значениями const_1,…, const_N могут быть только целые или символьные константы. Конструкция default выполняется, если результат выражения не совпал ни с одной из констант, и может отсутствовать. Оператор break выполняет досрочный выход из switch (после выполнения ветви case все остальные будут опущены). Если оператор break в case не записан, то будут выполняться операторы следующих ветвей case до появления оператора break, либо до завершения оператора switch.

    Например:

    switсh(i) {

    case 1: f=pow(x,2); break;

    case 2: f=fabs(x); break;

    case 3: f=sqrt(x); break;

    default: printf(“Ошибка!”); exit(1);

    }

    f=f+5;

    2.2. Создание оконного приложения


    При создании оконного приложения для организации разветвлений используются компоненты в виде кнопок-переключателей. Состояние такой кнопки (включено/выключено) визуально отражается на форме. На форме (рис. 2.1) представлены кнопки-переключатели двух типов TCheckBox и TRadioGroup.

    Компонента CheckBox создает кнопку независимого переключателя, с помощью которой Пользователь может указать свое решение типа да/нет. В программе состояние кнопки связано со значением булевой переменной, которая проверяется с помощью оператора if.

    Компонента Radiogroup создает группу кнопок – зависимых переключателей. При нажатии одной из кнопок группы все остальные кнопки отключаются. В программу передается номер включенной кнопки (0,1,2,…), который анализируется с помощью оператора switсh.

    В языке C++ используются переменные типа bool, которые могут принимать только два значения – true и false (истина – 1, ложь – 0).

    1   2   3   4   5   6   7   8   9   ...   19


    написать администратору сайта