МІНІСТЕРСТВО ОСВІТИ І НАУКИ, молоді та спорту УКРАЇНИ
Національний аерокосмічний університет ім. М.Є. Жуковського
“Харківський авіаційний інститут”
Кафедра
комп’ютерних систем та мереж
Лабораторна робота
з дисципліни “Програмування”
Розробка розрахункової
програми
Виконав Момот О.О.
Перевірив Шпак О. С.
Оглавление
Задание №1
Цель работы
Ход работы
Алгоритм преобразования градусы - радианы
Тесты для проверки корректности преобразований
Код программы преобразования градусы - радианы
Результат тестов программы на проверку корректности преобразований
Задание №2
Цель работы
Ход работы
Код программы ограничения (максимальные и минимальные значения) для целочисленных и вещественных типов данных
Алгоритм по решению расчетной задачи
Код программы расчета математических выражений на основе вводимых пользователем данных
Вывод
Задание №1
Изучить принципы построения линейных алгоритмов и простых расчетных
программ на языке программирования C, а также овладеть навыками создания
консольных приложений в среде Microsoft Visual Studio.
1. Сформулировать задание на разработку программы преобразования единиц измерения градусы - радианы (Вариант №11). Найти и записать формулу (коэффициенты) для преобразования.
. Разработать в Microsoft Visio алгоритм по решению задачи преобразования единиц измерения.
. Разработать от 5 до 8 тестов для проверки корректности преобразований, согласно разработанному алгоритму (для расчетов могут использоваться Microsoft Excel и программа Convert). Как минимум 3 теста должны быть направлены на выявление заведомо ошибочного поведения программы (при делении на ноль, при работе с очень большими или очень маленькими числами, при вводе некорректных данных).
. Разработать программу преобразования единиц измерения согласно номеру варианта. Программа должна содержать комментарии поясняющие операторы или группы операторов программы (желательно наличие комментариев, соответствующих текстовым описаниям из алгоритма).
. Провести тестирование программы с использованием тестов, разработанных в пункте 3.
. Оформить отчет в редакторе Microsoft Word, используя для рисования схем редактор Microsoft Visio.
. Отчет сдать преподавателю.
Рисунок 1.Алгоритм преобразования единиц измерения градусы - радианы
Таблица 1.Тесты для проверки корректности преобразований
|
№ теста |
Угол в градусах |
Ожидаемый результат в радианах |
|
1 |
180 |
3,141592654 |
|
2 |
0 |
0 |
|
3 |
360 |
6,283185307 |
|
4 |
1200 |
20,94395102 |
|
5 |
5000 |
87,2664626 |
Код программы преобразования градусы - радианы
#include <locale.h>
#include <stdio.h>
#define _USE_MATH_DEFINES
#include <math.h>
#include <windows.h>main ()
{
//локальные переменные для хранения исходных данныхa, x;
// включить русский язык("M_PI = %.16lf\n", M_PI);(LC_CTYPE, "rus");
// ввод данных("Введите угол в градусах: ");("%f", &a);
// пересчет угла= a * M_PI / 180;
// расчет и вывод результата("%f", x);("pause");0;
}
программирование расчетный линейный консольный
Результат тестов программы на проверку корректности
преобразований
Таблица 2.Результат тестов программы на проверку корректности преобразований
Угол в градусах
Ожидаемый результат в радианах
Результат
Вывод
1
180
3,141592654
3,141593
Тест пройден
2
0
0
0
Тест пройден
3
360
6,283185307
6,283185
Тест пройден
4
1200
20,94395102
20,943951
Тест пройден
5
5000
87,2664626
87,2664
Тест пройден
Задание №2
Изучить стандартные типы данных языка С (их диапазоны значений и другие
ограничения связанные с объемом выделяемой для хранения памяти), получить
навыки разработки расчетных программ с использованием стандартных библиотек
языка С (библиотеки ввода-вывода, математических функций и т.д.).
.Ознакомится с возможностями форматированного ввода и вывода данных с применением функций scanf и printf. Под руководством преподавателя подготовить программу шаблон для вывода различных числовых значений в различных форматах.
.Изучив пример данный в листинге 1, создать программу, которая выводит
заданные в заголовочных файлах limits.h и float.h ограничения (максимальные и
минимальные значения) для целочисленных и вещественных типов данных.
|
Номер варианта |
Целочисленные типы данных |
Вещественный тип данных |
|
11 |
short, unsigned short, int |
double |
. Вывод информации организовать в виде двух таблиц, формируемых с использованием функции printf(). Для целочисленных типов данных в таблице должны отражаться размер в байтах, минимальные и максимальные значения в десятичной и шестнадцатеричной системе. Вторая таблица для чисел с плавающей точкой показывает длину переменной в байтах, минимальные и максимальные ее значения в десятичной системе счисления.
. Разработать в Microsoft Visio алгоритм по решению расчетной задачи.
|
Номер варианта |
Вычисляемые функции |
Формат вывода результатов |
11
Форма представления чисел:
Десятичное с плавающей точкой
Точность:
|
знаков после десятичной точки |
|
. Разработать программу расчета математических выражений на основе
вводимых пользователем данных (задание из таблицы 2). За основу программы можно
взять пример приведенный в листинге 2. Для хранения данных в программе нужно
использовать только локальные переменные.
#include <stdio.h>
#include <limits.h>
#include <float.h>
#include <locale.h>
#include <windows.h>main()(LC_CTYPE, "rus");("Таблица для целочисленных типов данных\n");("+--------------+-----+-----------+---------+-----------+-----------+\n");("|Type |Bytes| Min DEC | Min HEX | Max DEC | Max HEX |\n");("+--------------+-----+-----------+---------+-----------+-----------+\n");("|short");(" |%d |%d |%x |%d |%x |\n", sizeof(short), SHRT_MIN, SHRT_MIN, SHRT_MAX, SHRT_MAX);("+--------------+-----+-----------+---------+-----------+-----------+\n");("|unsigned short");("|%d | | |%u |%x |\n", sizeof(unsigned short), USHRT_MAX, USHRT_MAX);("+--------------+-----+-----------+---------+-----------+-----------+\n");("|int");(" |%d |%d|%x |%d |%x |\n", sizeof(int), INT_MIN, INT_MIN, INT_MAX, INT_MAX);0;
}
Алгоритм по решению расчетной задачи
Рисунок 2.Алгоритм по решению расчетной задачи
Код программы расчета математических выражений на основе
вводимых пользователем данных
#include <locale.h>
#include <stdio.h>
#define _USE_MATH_DEFINES
#include <math.h>
#include <windows.h>main()
{
// локальные переменные для хранения исходных данныхa; // угол в градусахx; // угол в радианахz, w;
// включить русский язык(LC_CTYPE, "rus");("M_PI = %.16lf\n", M_PI);
// ввод данных("Введите угол в градусах: ");("%if", &a);
// пересчет угла= a * M_PI / 180;
}
Вывод
Я изучил принципы построения линейных алгоритмов и простых расчетных программ на языке программирования C, а также овладел навыками создания консольных приложений в среде Microsoft Visual Studio, стандартные типы данных языка С (их диапазоны значений и другие ограничения связанные с объемом выделяемой для хранения памяти), получить навыки разработки расчетных программ с использованием стандартных библиотек языка С (библиотеки ввода-вывода, математических функций и т.д.).
Ограничения изученных типов данных и проблем (ошибок в расчетах), которые могут возникнуть в следствие этих ограничений:
) вещественные типы данных в языке С не могут быть без знаковыми.
) при выполнении арифметических операций и присваиванья целых значений возможен выход за приделы значений. Такое нарушение в работе называется целочисленным переполнением.
) числам с плавающей точкой свойственно округление значений при вычислениях. В некоторых случаях могут быть получены некорректный результат вычислений по причине переполнения и потери значимости.
) ошибки в программе могут возникнуть при явном и не явном преобразовании типов.