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

  • 1. Как оформляется комментарий

  • ЛР_2_Управление потоком выполнения в программе. Лабораторная работа управление потоком выполнения


    Скачать 360 Kb.
    НазваниеЛабораторная работа управление потоком выполнения
    Дата16.09.2022
    Размер360 Kb.
    Формат файлаpdf
    Имя файлаЛР_2_Управление потоком выполнения в программе.pdf
    ТипЛабораторная работа
    #679937

    22
    ЛАБОРАТОРНАЯ РАБОТА 2. УПРАВЛЕНИЕ ПОТОКОМ ВЫПОЛНЕНИЯ
    В ПРОГРАММЕ
    1. Цель и содержание
    Цель лабораторной работы: изучить операторы, позволяющие организовывать непоследовательное выполнение программного кода.
    Задачи лабораторной работы:
    – научиться применять условныq оператор if .. else;
    – научиться применять операторs цикла for, while, do … while;
    – научиться применять операторы выбора switch.
    2. Формируемые компетенции
    Лабораторная работа направлена на формирование следующих компетенций:
    – способность к проектированию базовых и прикладных информационных технологий (ПК-11);
    – способность разрабатывать средства реализации информационных технологий (методические, информационные, математические, алгоритмические, технические и программные) (ПК-12).
    3. Теоретическая часть
    3.1 Условный оператор
    В предыдущих лабораторных работах были рассмотрены вопросы программирования на языке C# с использованием только последовательного выполнения операторов программы.
    В языке C# (как и в большинстве языков) можно вводить условия, циклы, ветвления.

    23
    Условный оператор в С# позволяет организовать условие типа «если …, то …, иначе …».
    Синтаксис условного оператора:
    ]
    else
    )
    (
    if
    [else
    )
    (
    if
    оператор
    оператор
    условие
    оператор
    условие
    В данном синтаксисе
    оператор
    может быть составным оператором (группа операторов языка, заключенные в фигурные скобки). Условный оператор содержит только одно обязательное зарезервированное слово – if. Все остальные конструкции не являются обязательными (в синтаксическом описании на это указывают скобки [ ]).
    Пример использования условного оператора:
    В представленном примере сначала проверяется является ли значение переменной a равным 100.

    24 1. Если «Да», то выполняется единственный оператор (увеличение b на 1000).
    На этом выполнение всего условного оператора завершено и программа переходит к выполнению операторов, следующих за ним, то есть к выводу значения a.
    2. Если первое условие не выполнилось, проверяется второе – является ли a меньше 100 (конструкция else if). Если это утверждение истинно, то выполняется составной оператор, состоящий из двух – изменение значений переменных d и e.
    Затем осуществляется переход к выводу переменной a.
    3. Если не выполнилось ни одно условие с оператором if, то выполняется оператор, указанный после зарезервированного слова else. В данном случае это несоставной оператор (a увеличивается на 1), поэтому фигурные скобки можно не писать.
    Во всей этой конструкции только оператор if является обязательным.
    Конструкций else if может быть любое количество, а if и else – только по одному.
    Еще один пример условного оператора:
    В данном случае вывод в консоль выполнится только если a больше либо равно 100.Иначе условный оператор ничего не выведет. Фигурные скобки в данном примере можно опустить.
    Обратите внимание, что для проверки на равенство используется оператор
    ==, а не =. Знак «равно» используется в C# для присваивания значений. Следует понимать, что условное выражение, стоящее в конструкции if должно возвращать булево значение.
    Например, следующий условный оператор всегда будет выполняться:

    25 3.2 Оператор выбора
    Синтаксис оператора:
    }
    ;
    break
    ;
    _
    :
    default
    ;
    break
    ;
    2
    _
    :
    2
    case
    ;
    break
    ;
    1
    _
    :
    1
    case
    {
    )
    (
    switch
    n
    оператор
    оператор
    константа
    оператор
    константа
    перем
    В данном операторе осуществляется выбор оператора (который может быть составным) в зависимости от значения переменной
    перем
    . Если
    перем
    равна значению
    1
    константа
    , то выполнится
    1
    _
    оператор
    , если
    2
    константа

    2
    _
    оператор
    , и т.д. Если ни одно значение, указанное в каком-либо операторе case, не совпало со значением
    перем
    , то выполнится оператор, указанный в секции default
    . Внутри каждой секции case следует указать оператор break, который предотвращает проверку других условий после выполнения данного оператора.
    Следует обратить внимание, что в секциях case следует использовать только константы (переменные не допускаются).
    Пример использование оператора switch … case:

    26
    Изучите представленный пример самостоятельно.
    3.3 Цикл for
    Циклы позволяют выполнять определенную последовательность операторов до тех пор, пока выполняется некоторое условие. Каждый «круг» выполнения этого блока называется итерацией.
    Синтаксис оператора:
    оператор
    итератор
    условие
    тор
    инициализа
    )
    ;
    ;
    (
    for
    тор
    инициализа
    – выражение, выполняемое перед первой итерацией цикла.
    условие
    – выражение булевого типа, которое проверяется перед каждой итерацией. Если оно истинно то итерация выполняется, иначе – цикл завершается.
    итератор
    – выражение, вычисляемое после каждой итерации.
    Пример применения оператора цикла for (пример 1.1):

    27
    Изучите код самостоятельно (создайте такую программу в VS). Еще один пример для самостоятельного изучения (пример 1.2):
    Пример, отображающий возможность применения итератора (пример 1.3):
    Обратите внимание, что примеры 2 и 3 решают одну и ту же задачу.
    3.4 Цикл while
    Цикл while похож на for тем, что является конструкцией с предварительной проверкой условия продолжения цикла. Но синтаксис цикла while более лаконичен:
    оператор
    условие)
    (
    while
    В данном синтаксисе
    оператор
    может быть составным оператором (группа операторов языка, заключенные в фигурные скобки).
    Следует понимать, что while используется для заранее неизвестного количества повторных выполнений операторов.
    Пример выполнения цикла (пример 2.1):

    28
    Оператор break уже встречался в конструкции case оператора switch для выхода из case. Но break часто применяется внутри циклов for, while и do … while.
    Данный оператор прерывает выполнение цикла и передает управление оператору, следующему за циклом.
    Пример 2.2, выполняющий то же самое, что и пример 2.1:
    Следует обратить внимание, что цикл является бесконечным (логическая переменная Stop всегда является true), но выполнение цикла все равно прервется, если пользователь введет 0.
    Оператор continue также применяется внутри цикла – он останавливает выполнение текущей итерации и немедленно переходит к выполнению следующей итерации.

    29 3.5 Цикл do … while
    Цикл do … while полностью повторяет функциональные возможности while, но предполагает проверку условия окончания цикла после выполнения тела цикла.
    То есть блок операторов тела цикла всегда выполнится хотя бы один раз.
    Синтаксис оператора:
    );
    (
    while
    }
    )
    (
    {
    do
    условие
    операторы
    оператор
    Пример использования цикла (пример 3.1):
    4. Оборудование и материалы
    Для выполнения лабораторной работы рекомендуется использовать персональный компьютер со следующими характеристиками: 64-разрядный (x64) процессор с тактовой частотой 1 ГГц и выше, оперативная память – 1 Гб и выше, свободное дисковое пространство – не менее 1 Гб, графическое устройство
    DirectX 9. Программное обеспечение: операционная система WINDOWS 7 и выше,
    Microsoft Visual Studio 2013 и выше.

    30 5. Указания по технике безопасности
    Техника безопасности при выполнении лабораторной работы определяется общепринятой для пользователей персональных компьютеров. Самостоятельно не производить ремонт персонального компьютера, установку и удаление программного обеспечения; в случае неисправности персонального компьютера сообщить об этом обслуживающему персоналу лаборатории; не касаться электрических розеток металлическими предметами; рабочее место пользователя персонального компьютера должно содержаться в чистоте; не разрешается возле персонального компьютера принимать пищу, напитки.
    6. Методика и порядок выполнения работы
    1. Создайте консольное приложение.
    2. Выполните индивидуальное задание. Пользователю предлагается выбрать метод расчета значения выражения: 1) с помощью цикла for; 2) с помощью цикла while; или 3) с помощью цикла do ... while. После выбора способа расчета, запрашиваются входные данные и производится расчет с использованием данного вида цикла.
    3. Во всех заданиях переменные X, Y являются вещественными и вводятся пользователем. Количество слагаемых также вводится пользователем. Программа должна вывести сумму заданного числа членов последовательности.
    Индивидуальное задание.
    Перед выполнением задания требуется самостоятельно определить закономерность изменения членов последовательности, чтобы применить цикл, условный оператор или, если потребуется, оператор выбора.
    Вариант
    Выражение для вычисления
    1 9
    7
    )
    (
    sin
    7 5
    )
    (
    sin
    5 3
    )
    (
    sin
    3 1
    )
    (
    sin
    4 9
    3 7
    2 5
    3










    X
    Y
    X
    Y
    j

    31 2
    9 7
    5 8
    6 4
    7 5
    3 6
    4 2
    5 3
    1 1
    4 3
    2
















    Y
    X
    Y
    X
    Z
    3 9
    7 7
    5 5
    3 3
    1 8
    6 4
    2









    Y
    X
    Y
    X
    Z
    4 8
    6 4
    2 6
    8 6
    4 4
    2 2









    Y
    X
    Y
    X
    X
    Y
    X
    Y
    Z
    5
    !
    7
    )
    cos(
    )
    ln(
    !
    5
    )
    lg(
    )
    sin(
    !
    3
    )
    cos(
    )
    ln(
    !
    1
    )
    lg(
    )
    sin(
    4 7
    3 5
    2 3










    Y
    X
    Y
    X
    Y
    X
    Y
    X
    A
    6 120 24 6
    2 1
    4 3
    2






    Y
    X
    Y
    X
    Z
    (в знаменателе факториал)
    7 6
    4 5
    3 4
    2 3
    1 5
    4 3
    2














    Y
    X
    X
    Y
    Y
    X
    X
    Y
    s
    8 5
    )
    cos(
    4
    )
    sin(
    3
    )
    cos(
    2
    )
    sin(
    1 5
    4 3
    2






    Y
    X
    Y
    X
    Z
    9 6
    4 5
    3 4
    2 3
    1 1
    3 2









    X
    X
    X
    Z
    10 9
    7 7
    5 5
    3 3
    1 8
    6 4
    2









    Y
    X
    Y
    X
    Z
    11 8
    7
    )
    cos(
    6 5
    )
    sin(
    4 3
    )
    cos(
    2 1
    )
    sin(
    4 7
    3 5
    2 3














    Y
    X
    Y
    X
    Y
    X
    Y
    X
    p
    12 9
    8 7
    7 6
    5 5
    4 3
    3 2
    1 7
    5 3














    Y
    X
    Y
    X
    p
    13 5
    )
    cos(
    4
    )
    sin(
    3
    )
    cos(
    2
    )
    sin(
    1 5
    4 3
    2










    X
    Y
    Y
    X
    X
    Y
    Y
    X
    Z
    14 8
    6 6
    4 4
    2 2
    1 6
    8 6
    4 4
    2 2













    Y
    X
    Y
    X
    X
    Y
    X
    Y
    Z
    15 6
    5
    )
    (
    sin
    )
    (
    cos
    4 3
    )
    (
    sin
    )
    (
    cos
    2 1
    )
    (
    sin
    )
    cos(
    1 6
    5 3
    4 2











    Y
    X
    Y
    X
    Y
    X
    p
    16 6
    4
    )
    cos(
    5 3
    )
    sin(
    4 2
    )
    cos(
    3 1
    )
    sin(
    5 4
    3 2














    Y
    X
    X
    Y
    Y
    X
    X
    Y
    s
    17 6
    4
    )
    (
    )
    (
    5 3
    )
    (
    )
    (
    4 2
    )
    (
    )
    (
    3 1
    )
    (
    )
    (
    5 4
    3 2














    Y
    ctg
    X
    tg
    X
    ctg
    Y
    tg
    Y
    ctg
    X
    tg
    X
    ctg
    Y
    tg
    Z
    18
    !
    5
    !
    4
    !
    3
    !
    2
    !
    1 1
    4 3
    2






    Y
    X
    Y
    X
    Z
    19
    !
    4
    )
    (
    cos
    !
    3
    )
    (
    cos
    !
    2
    )
    (
    cos
    !
    1
    )
    cos(
    4 3
    2









    Y
    X
    Y
    X
    X
    Y
    Y
    X
    Z
    20 6
    8 4
    6 2
    4 1
    2 6
    8 6
    4 4
    2 2













    Y
    X
    Y
    X
    X
    Y
    X
    Y
    Z
    21 8
    6 4
    )
    (
    cos
    7 5
    3
    )
    (
    cos
    6 4
    2
    )
    (
    cos
    5 3
    1
    )
    cos(
    1 1
    4 3
    3 2
    2


















    X
    Y
    Y
    X
    X
    Y
    Y
    Z

    32 22 6
    4 5
    3 4
    2 3
    1 4
    4 3
    3 2
    2













    X
    Y
    Y
    X
    X
    Y
    Y
    X
    Z
    23 8
    6 4
    )
    (
    cos
    7 5
    3
    )
    (
    cos
    6 4
    2
    )
    (
    cos
    5 3
    1
    )
    cos(
    1 1
    4 3
    3 2
    2


















    X
    Y
    Y
    X
    X
    Y
    Y
    Z
    24 9
    7
    )
    (
    7 5
    )
    (
    5 3
    )
    (
    3 1
    )
    (
    8 6
    4 2













    X
    Y
    Y
    X
    X
    Y
    Y
    X
    Z
    25 8
    )
    cos(
    6
    )
    sin(
    4
    )
    cos(
    2
    )
    sin(
    8 6
    6 4
    4 2
    2









    X
    Y
    Y
    X
    X
    Y
    X
    Y
    Z
    7. Содержание отчета и его форма
    Отчет по лабораторной работе должен содержать:
    1. Номер и название лабораторной работы.
    2. Цели лабораторной работы.
    3. Ответы на контрольные вопросы.
    4. Экранные формы и листинг программного кода, показывающие порядок выполнения лабораторной работы, и результаты, полученные в ходе её выполнения.
    Отчет о выполнении лабораторной работы в письменном виде сдается преподавателю.
    8. Контрольные вопросы

    1. Как оформляется комментарий?
    2. Опишите синтаксис условного оператора. Какие части данного оператора являются обязательными?
    3. Опишите синтаксис оператора выбора. Поясните почему следует использовать оператор break внутри каждого выбора.
    4. Можно ли с помощью for реализовать бесконечный цикл? Поясните ответ на примерах.

    33 5. В разделе «Теоретическое обоснование» приведены примеры 1.1, 1.2 и 1.3.
    Почему в примерах 1.2 и 1.3 для переменной Sum выбран тип long, хотя в примере
    1 для Sum выбран тип int? Обоснуйте ответ.
    6. Опешите синтаксис оператора цикла for.
    7. Опишите синтаксис оператора while.
    8. Поясните назначение операторов break и continue.
    9. Опешите синтаксис оператора do … while.
    9. Список литературы
    Для выполнения лабораторной работы, при подготовке к защите, а также для ответа на контрольные вопросы рекомендуется использовать следующие источники: [2-4].

    107
    СПИСОК ЛИТЕРАТУРЫ
    Основная литература
    1. Павлова, Е. А. Технологии разработки современных информационных систем на платформе Microsoft .NET : учебное пособие / Павлова Е. А. - Москва :
    Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. - 128 с. -
    Книга находится в базовой версии ЭБС IPRbooks. - ISBN 978-5-9963-0003-7.
    2. Пугачев, С. В.
        Разработка приложений для
    Windows 8 на языке C# / С. Пугачев, А. Шериев, К. Кичинский. - СПб. : БХВ-
    Петербург, 2013. - 416 с. : ил. - (Профессиональное программирование). - ISBN
    978-56-9775-0846-9.
    Дополнительная литература
    1. Зиборов, В. В. Visual C# 2012 на примерах / Виктор Зиборов. - Санкт-
    Петербург : БХВ-Петербург, 2013. - 473 с. : ил. ; 24 см. - ISBN 978-5-9775-0888-9.
    2. Прайс, Д. Visual C#2.0.NET. Полное руководство : [учеб. пособие] : пер. с англ. / Дж. Прайс, М. Гандрэрлой. - СПб. : КОРОНА-век, 2011. - 736 с. : ил. - Прил.: с. 673. - ISBN 978-5-7931-0555-2.
    3.
    Чеповский, А. Common Intermediate Language и системное программирование в Microsoft .NET / А. Чеповский ; А. Макаров ; С. Скоробогатов.
    - 2-е изд., исправ. - Москва : Национальный Открытый Университет «ИНТУИТ»,
    2016. - 399 с. - (Основы информатики и математики). - ISBN 5-94774-410-4.
    Перечень Интернет-ресурсов
    1. http://metanit.com - сайт посвящен различным языкам и технологиям программирования, компьютерам, мобильным платформам и ИТ-технологиям.
    2. https://msdn.microsoft.com/magazine/ - Интернет-журнал о технологиях разработки Microsoft.
    3. https://professorweb.ru - информационный ресурс, посвященный разработке приложений на основе технологии .NET.


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