Знакомство со средой программирования Code::Blocks. Отчёт по лабораторной работе №1 (ЯП). Отчет по лабораторной работе 1 Знакомство со средой программирования Code Blocks
Скачать 65.43 Kb.
|
Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования ″Уфимский государственный авиационный технический университет″ Кафедра вычислительной техники и защиты информации Дисциплина «Языки программирования» Отчет по лабораторной работе № 1 «Знакомство со средой программирования Code::Blocks» Выполнил: студент гр. ИБ-127 Чертова К.С Проверил: доцент, к.т.н. Селиванова М.В. Уфа – 2020 Цель работы Целью работы является изучение языка программирования С++ и овладение навыками работы в среде программирования Code::Blocks. Задание 1 Ввести значение x с клавиатуры, проверить допустимость введенного значения для полученного варианта формулы (исключить деление на 0, появление отрицательных значений под корнем...). Для проверки корректности значений, введенных с клавиатуры, можно использовать следующие подходы: вывод сообщения о недопустимости введенного значения и завершение работы программы; приведение введенного значения к допустимому виду (например, путем взятия его модуля, если требуется использование только положительных значений), при этом необходимо вывести сообщение пользователю о произведенной замене; обеспечение корректного ввода с помощью цикла dowhile. Определить значение по формуле и вывести его на экран с точностью до 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 Проанализировать формулу, полученную по варианту. Произвести разделение исходной формулы на отдельные компоненты с целью исследования точности расчетов с использованием разных типов float и double. Формулы для расчета отдельных компонент формулы полученного варианта свести в таблицу по аналогии с таблицами 2, 3; вычислить значение выражения согласно варианту, используя разные вещественные типы данных: float и double. Значения переменных a и b указаны в задании. Результаты вычислений по формуле из варианта вывести на экран; заполнить таблицу значениями промежуточных величин (отдельных компонент формулы по варианту), определенных с помощью переменных разных типов по аналогии с таблицей 4. Объяснить причины наличия или отсутствия различий в полученных результатах; проанализировать результаты расчетов, сделать выводы о возможности применения каждого из использованных типов данных для решения поставленной задачи. 28 вариант Таблица 1 - Переменные типа float и формулы определения их значений
Таблица 2 - Переменные типа double и формулы определения их значений
Код программы 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. Таким образом, можно сказать, что тип данных float занимает меньший объем памяти, но имеет не такую высокую точность вычислений, как тип данных double, который занимает больший объем памяти. Вывод В ходе выполнения лабораторной работы был изучен язык программирования C++ и приобретены навыки работы в среде программирования Code::Blocks. |