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

  • ЗНАКОМСТВО СО СРЕДОЙ ПРОЕКТИРОВАНИЯ ПРОГРАММНЫХ ПРОДУКТОВ VISUAL C++.

  • Индивидуальные задания.

  • Практикум по дисциплине Технология разработки программного обеспечения


    Скачать 2.49 Mb.
    НазваниеПрактикум по дисциплине Технология разработки программного обеспечения
    Дата16.02.2022
    Размер2.49 Mb.
    Формат файлаpdf
    Имя файлаTRPO.pdf
    ТипПрактикум
    #364104
    страница3 из 3
    1   2   3
    Индивидуальные задания.
    Ниже приведено 15 вариантов задач. По указанию преподавателя выберите свое индивидуальное задание. Уточните условие задания, количество, наименование, типы исходных данных.
    Во всех заданиях скалярные переменные вводить с помощью компонента TEdit с соответствующим пояснением в виде компонента TLabel. Скалярный результат выводить в виде компонента ExcelApplication в файл табличного процессора Excel или WordApplication в файл
    Word.
    1. Дан массив из k символов. Вывести на в файл табличного процессора сначала все цифры, входящие в него, а затем все остальные символы, сохраняя при этом взаимное расположение символов в каждой из этих двух групп.
    2. Дан массив, содержащий от 1 до k символов, за которым следует точка. Напечатать этот текст в файл Word в обратном порядке.
    3. Дан непустой массив из цифр. Вывести в файл Excel цифру, наиболее часто встречающуюся в этом массиве.
    4. Отсортировать элементы массива X по возрастанию. Результат напечатать в файл Excel.
    30

    5. Элементы массива X расположить в обратном порядке. Результат напечатать в файл Excel.
    6. Элементы массива X циклически сдвинуть на k позиций влево. Результат напечатать в файл
    Excel.
    7. Элементы массива X циклически сдвинуть на k позиций вправо. Результат напечатать в файл
    Excel.
    8. Преобразовать массив X по следующему правилу: все отрицательные элементы массива перенести в начало, а все остальные ­ в конец, сохраняя исходное взаимное расположение как среди отрицательных, так и среди остальных элементов. Результат напечатать в файл Excel.
    9. Элементы каждого из массивов X и Y упорядочены по неубыванию. Объединить элементы этих двух массивов в один массив Z так, чтобы они снова оказались упоряченными по неубыванию. Результат напечатать в файл Excel.
    10. Дан массив из 4 символов. Определить, симметричен ли он, т.е. читается ли он одинаково слева направо и справа налево. Если симметричен, то вывести его в файл Word.
    11. Дано два массива. Найти наименьшее среди тех элементов первого массива, которые не входят во второй массив. Напечатать эти наименьшие числа в файл Word.
    12. Определить количество инверсий в этом массиве X (т.е. таких пар элементов, в которых большее число находится слева от меньшего: х{i}>х{j} при i13. Дан массив из строчных латинских букв. Вывести в файл Word этот массив в алфавитном порядке все буквы, которые входят в этот текст по одному разу.
    14. Вывести в файл Excel заданный массив из k символов, удалив из него повторные вхождения каждого символа.
    15. Определить, сколько различных символов входит в заданный текст (текст вводится в файл
    Word и открывается посредством соответствующей компоненты), содержащий не более k символов и оканчивающийся точкой (в сам текст точка не входит).
    31

    Лабораторная работа 5.
    ЗНАКОМСТВО СО СРЕДОЙ ПРОЕКТИРОВАНИЯ ПРОГРАММНЫХ
    ПРОДУКТОВ VISUAL C++.
    Цель работы: познакомиться с принципами объектно­ориентированного программирования в средеVisual C++.
    Задание:
    1) Создать проект программы
    2) Визуально спроектировать диалоговую панель
    3) Связать элементы управления с событиями
    4) Сохранить и выполнить программу
    Порядок выполнения работы.
    Теперь рассмотрим все пункты по порядку.
    1) Вначале запустим Visual C++. Зайдем в меню FILE ­> NEW..., выберем там Project. Ваша панель должна выглядеть теперь так:
    Рис.1.
    Затем выбираем MFC AppWizard(exe). В окне редактирования Project Name задаем имя программы и нажимаем OK.
    Шаг 1. Теперь выбираем Dialog based, как показано на рис 2. Вы задали компилятору, что программа ваша будет основана на диалоговых окнах.
    32

    Рис. 2.
    Шаг 2. В этой панели введите название программы как показано на рис 3 . Рассмотрим здесь группу "What features would you like to include".
    Рис. 3.
    Первое включение говорит о использовании справки (небольшой диалоговой панели, которая всплывает при нажатии на иконку).
    Теперь щелкаем NEXT.
    Шаг 3. Вы видите, что диалоговая панель задает два вопроса:
    1) Нужно ли вставлять комментарии в исходный текст, который будет являться каркасом вашей программы?
    2) Программа, которую создает для вас MFC AppWizard, будет иметь библиотеку с динамической компоновкой (DLL), а не статической? Dll дает преимущество в том, что EXE файл будет меньшего размера, а рядом к нему будет прилагаться DLL файл.
    Выбираем всё как показано на рис 4.
    33

    Рис. 4.
    Затем нажимаем NEXT и щелкаем FINISH, посмотрите, чтобы было выбрано все, как показано на рис. 5.
    Рис.5.
    Вы закончили создание проекта программы!
    Все каркасные файлы для вашей программы написал Visual C++, с помощью мастера настроек MFC AppWizard. MFC ­ это вещь очень полезная, с помощью нее можно быстро создавать программы, так как все дежурные файлы он пишет сам, что сильно облегчает работу программиста, ведь не писать стандартный набор текста каждый раз!
    А теперь мы спроектируем диалоговую панель.
    34

    Сейчас мы визуально спроектируем диалоговую панель. Для этого вначале выберите закладку "Resourse View" и раскройте пункт Hello Resource, как показано на рис. 6.
    Рис.6.
    Здесь вы видите две записи:
    1) IDD_ABOUTBOX
    2) IDD_HELLO_DIALOG
    1) ­ это название диалоговой панели ABOUT, а 2)­ название главной диалоговой панели.
    Выполните щелчок по второй строчке(2) и справа появится, диалоговая панель. В этом режиме можно ее редактировать (см. рис. 7).
    Рис.7.
    Удалите из диалоговой панели текст: "TODO:.." и две кнопки, для этого щелкните на эти элементы и нажмите DEL. Теперь у вас чистая панель и вы можете спроектировать ее на свой вкус.
    Cправа от диалоговой панели находятся элементы управления(если вы их не видите, то зайдите в TOOLS­>CUSTOMIZE, в закладке TOOLBARS, CONTROLS ­ поставьте флажок). Вы можете редактировать панель в полном экране, для этого зайдите в VIEW­>FULLSCREEN.
    Сейчас выберите в элементах управления Button,
    35
    и щелкните мышкой на диалоговую панель, которая должна выглядет, как показано на рис.
    8 .
    Рис.7.
    Теперь выделите кнопку мышкой, для этого нажмите на нее и отбуксируйте маркеры, чтобы кнопка стала такой же, как на рис 6. После этого опять выделите кнопку левым щелчком мыши, затем нажмите правую кнопку и в расрывшемся меню выбирете Properties(настройки).
    Выведется такая диалоговая панель (рис 7).
    Вместо текста
    IDC_BUTTON1 введите
    IDC_SAYHELLO_BUTTON, зададим идентификатор, по которому VC будет распознавать элемент. В строке Captions(надпись), введите название кнопки Say Hello.
    Вставьте теперь еще одну кнопку такого же размера, c ID ­ IDC_EXIT_BUTTON и
    Captions(надпись) Exit. Диалоговая панель должна выглядеть, как показано на рис. 1.8
    Все свойства диалогового окна будут задавать таблицей, где будут указываться свойства элементов диалога. Свяжем элементы управления с событиями. Два элемента ­ это две кнопки:
    Say Hello и Exit. Теперь воспользуемся еще одним мастером ClassWizard, он сильно облегчит нам работу. Зайдите в VIEW­>ClassWizard, появится такая диалоговая панель
    36

    Рис.1.8.
    Рассмотрим эту панель.
    1) Project­ здесь вы выбираете свой проект.
    2) ClassName ­ название класса, элементы которого вы будете связывать с событиями, проверьте, чтобы там было установлено CHelloDlg ­ это класс, который связан с главным диалоговым окном.
    3) Object IDs ­ это идентификаторы(названия) элементов управления, в нашем случае это две кнопки. Первый идентификатор ­ это название самого класса, оно туда включено, так как с ним связаны многие события( это такие значения, которые возвращаются Windows, при совершении какого­нибудь действия).
    4) Messages ­ а это как раз те самые события, которые генерирует программа. К примеру, если вы нажали на кнопку, то генерируется событие BN_CLICKED, а если два раза ­ то
    BN_DOUBLECLICKED.
    5) Members function ­ это список функций, которые вы включили, и соответствующие им события.
    Теперь свяжем кнопку EXIT с событием BN_CLICKED ­ оно возникает при нажатие на кнопку. Для этого щелкнем в Object IDs на IDC_EXIT_BUTTON, справа появится события, с которыми можно связать эту кнопку. Выбираем там BN_CLICKED. И щелкаем на кнопке Add
    Function , которая находится справа. Этим нажатием вы говорите Visual C++, что вам необходимо связать это событие с функцией. Выведется такая диалоговая панель, где вам предложат выбрать название функции. Оставьте все по умолчанию и нажмите кнопку OK.
    В Members function появилась запись о том, что связали кнопку (c итендификатором
    IDC_EXIT_BUTTON) с функцией OnExitButton. Теперь щелкаем по кнопке Edit Code, которая
    37
    находится ниже кнопки Add Fucnction. При нажатии на эту кнопку мы переходим в режим редактирования исходного текста. В окошке появится тест: void CHelloDlg::OnExitButton()
    {
    // TODO: Add your control notification handler code here
    }
    Коментарий // TODO: Add your control notification handler code here говорит, что после него можно ставлять свой код.
    Начало вашего кода будет обозначаться
    ///Здесь начинается ваш код///
    А конец вашего кода ­
    ///Здесь заканчивается ваш код///
    Теперь введем код, для этого вам надо переписать его void CHelloDlg::OnExitButton()
    {
    // TODO: Add your control notification handler code here
    ///Здесь начинается ваш код///
    OnOK();
    ///Здесь заканчивается ваш код///
    }
    Напишем OnOK();, эта функция будет выполняться при каждом нажатии на кнопку EXIT, и она предназначена для завершения программы. Проверьте, чтобы в написании OnOK, OK было написано с большой буквы, иначе, при компиляции программы, Visual C++ сообщит вам об ошибке, так символы верхнего и нижнего регистра в VC имеют распознаются по­разному.
    Итак вы связали кнопку EXIT с событием BN_CLICKED, а его с функцией OnExitButton, которая будет выполняться при каждом нажатии на кнопку EXIT.
    Теперь свяжем кнопку Say Hello с событием BN_CLICKED. Для этого зайдем в меню
    VIEW­>ClassWizard.
    Выберем в Object IDs IDC_SAYHELLO_BUTTON.
    Щелкнем на BN_CLICKED в Messages (этим связываете кнопку Say Hello с событием
    BN_CLICKED).
    Нажимаем на Add function, этим связываете событие BN_CLICKED с функцией.
    В раскрывшемся окне оставляем все по умолчанию и нажимаем кнопку OK.
    38

    Затем нажимаем на кнопку Edit Code, для редактирование исходного текста.
    И в раскрывшемся окне пишем следующий код: void CHelloDlg::OnSayhelloButton()
    {
    // TODO: Add your control notification handler code here
    ///Здесь начинается ваш код///
    MessageBox("Say Hello");
    ///Здесь заканчивается ваш код///
    }
    Функция MessageBox("Say Hello"); вызывает окно сообщений, в котором написан текст Say
    Hello, который и является параметром этой функции.
    Итак, связали кнопки Say Hello и EXIT с событием BN_CLICKED. При нажатии на кнопку
    Exit программа завершается, а при нажатии на кнопку Say Hello выводится сообщение "Say
    Hello".
    Теперь осталось построить и выполнить программу. Нажимаем Далее...
    Компиляция и запуск программы
    Для того, чтобы выполнить программу надо ее вначале сохранить. Зайдите в меню File и там нажмите на Save All. Затем надо ее построить (скомпилировать).
    Зайдем в меню Build­>Build Hello.exe, начнется построение программы. Если компилятор не выдал сообщение об ошибке, которые можно посмотреть в появившемся внизу окошке, то можно смело запускать программу.
    39

    Теперь осталось только выполнить программу, для этого зайдите в меню Build­>Execute
    Hello.exe
    Ваша программа должна будет выглядеть так:
    А окно сообщений при нажатии на кнопку Say Hello:
    Проект программы создан, визуально спроектирована диалоговая панель, элементы управления связаны с событиями с помощью мастера ClassWizard, программа выполняется.
    Индивидуальные задания.
    Ниже приведено 15 вариантов задач. По указанию преподавателя выберите свое индивидуальное задание. Уточните условие задания, количество, наименование, типы исходных данных. В соответствии с
    40
    этим установите количество окон, тексты заголовков на форме, размеры шрифтов, а также типы переменных и функции преобразования при вводе и выводе результатов.
    С помощью инспектора объектов измените цвет формы, шрифт выводимых символов.
    Задание: составить программу вычисления арифметического выражения по вариантам:

    вариа нта
    Программируемая формула
    A
    B
    C
    D
    Результ ат
    1
    (
    )
    D
    C
    B
    B
    A
    sin
    2 2
    2
    +


    π
    10 5
    5 2
    2.5 1.95862
    E+2 2
    |
    |
    ln
    5 3
    )
    ln
    *
    2
    (
    D
    C
    B
    C
    D
    A
    +

    10 4
    10 0.1 -3
    -1.48774
    E+1 3
    5 3
    75 1
    88
    ln
    2














    B
    D
    D
    A
    π
    10 4
    10 0.2 3
    1.79615
    E+1 4
    (
    )
    (
    )
    2 25 1 0 9
    3
    D
    C
    B
    D
    A
    π
    +
    +

    10
    -2
    -1.5 4.1 -3 1.61778
    E-2 5
    (
    )
    (
    )









    +

    CosC
    SinB
    C
    B
    A
    D
    C
    B
    A
    exp
    4
    ln
    10 1
    -1.7 3.9 -3
    -3.83304
    E+0 6
    (
    )
    5 3
    ln



















    +
    +
    D
    C
    D
    C
    A
    D
    C
    B
    A
    10 3
    3.5 4.1 -3 1.06442
    E+1 7
    (
    )
    D
    B
    A
    D
    C
    B
    A
    π
    4
    exp
    1
    

    

    

    



    +

    10 1
    -0.5 1.1 -1 9.65643
    E-1 8
    (
    )













    +
    D
    C
    B
    A
    87 41 1
    exp
    98 5
    25 1
    5 0
    10 2
    -20.
    5 5.1 -1.5 1.36556
    E+3 9













    +
    D
    C
    B
    A
    D
    1 2
    60
    exp
    4 25 0
    10
    -1 2.5 5.1 -1.5
    -5.55037
    E-1 41

    10 2
    ln
    4
    exp
    6 21 5
    sin
    25 0
    D
    C
    C
    B
    e
    A
    π

    

    




    10
    -1 1.2 5.1 2.05 1.42678
    E+3 11
    (
    )
    (
    )
    ( )
    4 3
    exp
    1 0
    *
    2 34
    lg cos ln sin
    28 6
    C
    B
    A

    +

    10 3
    12 7.2 1
    -
    2.79759
    E-1 12
    C
    B
    D
    A
    cos
    5 0
    13 1
    1 2
    10
    +
    +

    +
    π
    10 1.3 0.1 -.05 4.66048
    E+0 13
    (
    )
    (
    )
    D
    C
    B
    A
    A
    π
    +

    +




    ln cos
    1
    sin
    2 5
    5 10 7
    7 5
    10
    -2 1.3 9
    3.1 0.55 1.39860
    E-4 14






    +


    

    







    +
    +
    A
    D
    B
    C
    B
    A
    3
    cos
    80 3 0
    4
    sin
    41 7
    1 2 10
    -3 21.
    39 23.
    1
    -0.1 2
    -4.73017
    E+0 15
    D
    B
    A
    C
    C
    B
    A
    A
    B
    +


    +
    2
    lg ln
    10
    -1 2.1 0.1
    -3.1 2
    -2.24257
    E+0 42
    1   2   3


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