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

  • Отчет по лабораторной работе № 1«Знакомство со средой программирования Code::Blocks»

  • Цель работы Целью работы является изучение языка программирования С++ и овладение навыками работы в среде программирования Code::Blocks.Задание 1

  • 28 вариант

  • Результаты работы программы 1 Задача 2

  • 28 вариант Таблица 1

  • Имя переменной Математическая формула расчета (см. формулу) Оператор в программе

  • Результат работы программы 2

  • Имя переменной и её значение Математическая формула расчета тип

  • Знакомство со средой программирования Code::Blocks. Отчёт по лабораторной работе №1 (ЯП). Отчет по лабораторной работе 1 Знакомство со средой программирования Code Blocks


    Скачать 65.43 Kb.
    НазваниеОтчет по лабораторной работе 1 Знакомство со средой программирования Code Blocks
    АнкорЗнакомство со средой программирования Code::Blocks
    Дата06.12.2022
    Размер65.43 Kb.
    Формат файлаdocx
    Имя файлаОтчёт по лабораторной работе №1 (ЯП).docx
    ТипОтчет
    #830902

    Министерство науки и высшего образования Российской Федерации

    Федеральное государственное бюджетное образовательное учреждение

    высшего образования

    ″Уфимский государственный авиационный технический университет″

    Кафедра вычислительной техники и защиты информации

    Дисциплина «Языки программирования»

    Отчет

    по лабораторной работе № 1

    «Знакомство со средой программирования Code::Blocks»

    Выполнил: студент гр. ИБ-127

    Чертова К.С
    Проверил: доцент, к.т.н.

    Селиванова М.В.


    Уфа – 2020

    Цель работы

    Целью работы является изучение языка программирования С++ и овладение навыками работы в среде программирования Code::Blocks.

    Задание 1

    1. Ввести значение x с клавиатуры, проверить допустимость введенного значения для полученного варианта формулы (исключить деление на 0, появление отрицательных значений под корнем...). Для проверки корректности значений, введенных с клавиатуры, можно использовать следующие подходы:

    • вывод сообщения о недопустимости введенного значения и завершение работы программы;

    • приведение введенного значения к допустимому виду (например, путем взятия его модуля, если требуется использование только положительных значений), при этом необходимо вывести сообщение пользователю о произведенной замене;

    • обеспечение корректного ввода с помощью цикла dowhile.

    1. Определить значение по формуле и вывести его на экран с точностью до 3 знаков после запятой.

    28 вариант
    Код программы 1

    #include

    #include

    #include

    using namespace std;

    int main ()

    {

    SetConsoleCP(1251);

    SetConsoleOutputCP(1251);

    float a,b,c,d,x;

    do

    {

    cout <<"Введите значение х:" <
    cin>> x;

    }

    while (x<=0);

    a=abs(x);

    b=pow(a,1/4);

    c=sqrt(x+b);

    d=c+a;

    cout.precision(4);

    cout <<"Значение функции:" << d << endl;

    return 0;

    }

    Результаты работы программы 1



    Задача 2

    1. Проанализировать формулу, полученную по варианту. Произвести разделение исходной формулы на отдельные компоненты с целью исследования точности расчетов с использованием разных типов float и double. Формулы для расчета отдельных компонент формулы полученного варианта свести в таблицу по аналогии с таблицами 2, 3;

    2. вычислить значение выражения согласно варианту, используя разные вещественные типы данных: float и double. Значения переменных a и b указаны в задании. Результаты вычислений по формуле из варианта вывести на экран;

    3. заполнить таблицу значениями промежуточных величин (отдельных компонент формулы по варианту), определенных с помощью переменных разных типов по аналогии с таблицей 4. Объяснить причины наличия или отсутствия различий в полученных результатах;

    4. проанализировать результаты расчетов, сделать выводы о возможности применения каждого из использованных типов данных для решения поставленной задачи.

    28 вариант

    Таблица 1 - Переменные типа float и формулы определения их значений

    Имя переменной

    Математическая формула расчета (см. формулу)

    Оператор в программе

    fa

    a

    fa=1000

    fb

    b

    fb=0,001

    fc

    (a-b)3

    fc=pow(fa-fb,3)

    fd

    a3

    fd=pow(fa,3)

    fe

    (a-b)3-a3

    fe=fc-fd

    ff

    (-b)3

    ff=pow(-b,3)

    fg

    3ab2

    fg=3*fa*pow(fb,2)

    fh

    3a2b

    fh=3*pow(fa,2)*fb

    fi

    (-b)3+3ab2+3a2b

    fi=ff+fg-fh

    fj

    (a-b)3-a3молодой

    (-b)3+3ab2+3a2b

    fj=fe/fi


    Таблица 2 - Переменные типа double и формулы определения их значений

    Имя переменной

    Математическая формула расчета (см. формулу)

    Оператор в программе

    da

    a

    da=1000

    db

    b

    db=0,001

    dc

    (a-b)3

    dc=pow(da-db,3)

    dd

    a3

    dd=pow(da,3)

    de

    (a-b)3-a3

    de=dc-dd

    df

    (-b)3

    df=pow(-b,3)

    dg

    3ab2

    dg=3*da*pow(db,2)

    dh

    3a2b

    dh=3*pow(da,2)*db

    di

    (-b)3+3ab2+3a2b

    di=df+dg-dh

    dj

    (a-b)3-a3молодой

    (-b)3+3ab2+3a2b

    dj=de/di

    Код программы 2

    #include

    #include

    #include

    using namespace std;

    int main()

    {

    SetConsoleCP(1251);

    SetConsoleOutputCP(1251);
    float fa,fb,fc,fd,fe,ff,fg,fh,fi,fj;

    fa=100;

    fb=0.001;

    fc=pow(fa-fb,3);

    fd=pow(fa,3);

    fe=fc-fd;

    ff=pow((-fb),3);

    fg=3*fa*pow(fb,2);

    fh=3*pow(fa,2)*fb;

    fi=ff+fg-fh;

    fj=fe/fi;

    cout.precision(8);

    cout << "Тип float:\n fy=" << fj << endl;

    double da,db,dc,dd,de,df,dg,dh,di,dj;

    da=100;

    db=0.001;

    dc=pow(da-db,3);

    dd=pow(da,3);

    de=dc-dd;

    df=pow((-db),3);

    dg=3*da*pow(db,2);

    dh=3*pow(da,2)*db;

    di=df+dg-dh;

    dj=de/di;

    cout << "Тип double:\n dy= " << dj << endl;
    return 0;

    }
    Результат работы программы 2


    Результаты расчетов промежуточных значений, полученных в режиме пошаговой отладки




    Таблица 3 - Значения переменных и формулы определения их значений


    Имя переменной и её значение


    Математическая формула расчета

    тип float

    типdouble

    fa=100

    da=100

    a

    fb=0.00100000005

    db=0.001

    b

    fc=999970

    dc=999970.00029999891

    (a-b)3

    fd=1000000

    dd=1000000

    a3

    fe=-30

    de=-29.99970000109169

    (a-b)3 - a3

    ff=-1.00000019е-09

    df=-1.00000000000….

    (-b)3

    fg=0.000300000014

    dg=0.00029999999…

    3ab2

    fh=30.0000019

    dh=30

    3a2b

    fi=-29.9997025

    di=-29.9997000010…

    (-b)3 +3ab2- 3a2b

    fj=1.00000989

    1.0000000000030564


    (a-b)3 – a3vvfvffvf

    (-b)3 +3ab2- 3a2b


    Можно заметить, что при использовании типа данных float появляется более заметная погрешность вычислений по сравнению с использованием типа данных double. Таким образом, можно сказать, что тип данных float занимает меньший объем памяти, но имеет не такую высокую точность вычислений, как тип данных double, который занимает больший объем памяти.

    Вывод

    В ходе выполнения лабораторной работы был изучен язык программирования C++ и приобретены навыки работы в среде программирования Code::Blocks.


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