Разработка расчетной программы
МІНІСТЕРСТВО
ОСВІТИ І НАУКИ, молоді та спорту
УКРАЇНИ
Національний
аерокосмічний університет ім. М.Є. Жуковського
“Харківський
авіаційний інститут”
Кафедра
комп’ютерних систем та мереж
Лабораторна
робота
з дисципліни “Програмування”
Розробка розрахункової
програми
Виконав Момот О.О.
Перевірив Шпак О. С.
Оглавление
Задание №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, стандартные типы данных
языка С (их диапазоны значений и другие ограничения связанные с объемом
выделяемой для хранения памяти), получить навыки разработки расчетных программ
с использованием стандартных библиотек языка С (библиотеки ввода-вывода,
математических функций и т.д.).
Ограничения изученных типов данных и проблем (ошибок в расчетах), которые
могут возникнуть в следствие этих ограничений:
) вещественные типы данных в языке С не могут быть без знаковыми.
) при выполнении арифметических операций и присваиванья целых
значений возможен выход за приделы значений. Такое нарушение в работе
называется целочисленным переполнением.
) числам с плавающей точкой свойственно округление значений при
вычислениях. В некоторых случаях могут быть получены некорректный результат
вычислений по причине переполнения и потери значимости.
) ошибки в программе могут возникнуть при явном и не явном
преобразовании типов.