
- •Лабораторная работа №1
- •Математическая постановка
- •Содержание результатов работы программы на экране2
- •Выполнил: Петухов п.А., гр. Ут – 11, вариант № 11
- •Текст программы
- •Содержание результатов работы программы на экране
- •Текст программы
- •Разработка программы
- •Содержание результатов работы программы на экране.
- •Текст программы
Лабораторная работа №1
Цель: выработка умений составления, отладки и тестирования программ линейной структуры и оформления отчетов лабораторного практикума по программированию.
Задание: определить площадь и периметр фигуры по заданным радиусу вписанной в трапецию окружности r и углу при основании трапеции .
Математическая постановка
Исходные данные: r, .
Результаты: S - площадь заштрихованной части фигуры,
P
– периметр заштрихованной части фигуры.
O
Периметр состоит из радиуса окружности, половины основания трапеции, боковой стороны трапеции и гипотенузы треугольника катетами которого являются радиус окружности и половина верхнего основания трапеции, следовательно:
Р = r(1+2ctg/2+tg/2+1/cos) ;
Площадь состоит из площади треугольника катетами которого являются половина нижнего основания трапеции и радиус окружности и площади треугольника, основанием которого является боковая сторона трапеции а высотой радиус окружности, значит:
S = r2*(ctg/2+0.5*tg/2)
Допустимые значения r не может быть равным нулю или отрицательным, не может быть равным нулю или больше либо равным 90о. r>0 , 0 о <<90 о
Блок-схема программы1
Составление тестов
(формулы для составления тестов смотри в Математическая постановка)
Тест:
r1 = 1 ; 1 = 60 ; P1 = 7.041 ; S1 = 1.723
r2 = 2 ; 2 = 60 ; P2 = 14.083 ; S2 = 6.928
r3 = 3 ; 3 = 30 ; P3 = 29.660 ; S3 = 33.588
Разработка алгоритма
Алгоритм вычисления площади и периметра фигуры имеет последовательную структуру. Схема алгоритма показана на блок-схеме.
Разработка программы
(для просмотра результатов программы перейдите в Рисунок 1)
Таблица идентификаторов
Имя переменной |
Тип пере-менной |
Пояснение |
Специ-фикация формата |
||||
Алгоритм |
Программа |
||||||
Исходные данные |
Ввод |
Вы- вод |
|||||
r |
r |
float |
Радиус окружности |
%f |
%.3f |
||
a |
a |
float |
Угол при нижнем осоновании трапеции |
%f |
%.3f |
||
Результаты |
|
|
|||||
s |
s |
float |
Площадь фигуры |
- |
%.3f |
||
p |
p |
float |
Периметр фигуры |
- |
%.3f |
Таблица 1
Содержание результатов работы программы на экране2
Рисунок 1
Выполнил: Петухов п.А., гр. Ут – 11, вариант № 11
Введите значения r,
Исходные данные: r1 = 1.000 cm; 1=60.0000
Результаты: S1 = 1.732 cm2, P1 = 7.041 cm.
Исходные данные: r2 = 2.000 cm; 2=60.0000
Результаты: S2 = 6.928 cm2, P2 = 14.083 cm.
Исходные данные: r3 = 3.000 cm; 3=30.0000
Результаты: S3 = 33.588 cm2, P3 = 29.660 cm.
Текст программы
(см. значение переменных в Таблица 1)
//---------------------------------------------------------------------------
#include <vcl.h>
#include <conio.h>
#include <stdio.h>//подключение библиотеки ввода/вывода,scanf(),printf()
#include <math.h>//прототипы математических функций,константы
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc,char* argv[])
{ float r,s,p,a;
printf ("\n\n\t *** RABOTA1 ***");
printf ("\n Vypolnil: Petukhov P.A.,gruppa UT-11,variant 11\n");
printf (" Vvedite r,a:\t");
scanf ("%f%f",&r,&a);
printf (" Ishodniye danniye: \n r=%.3f a=%.3f\n", r,a);
s=r*r*(1/tan((a/2)*M_PI/180)+(1/2)*tan((a/2)*M_PI/180));
p=r*(1+2/tan((a/2)*M_PI/180)+tan((a/2)*M_PI/180)+1/cos((a)*M_PI/180));
printf (" Rezultaty: s=%.3f p=%.3f\n",s,p);
getch();
return 0;
}
//---------------------------------------------------------------------------
Выводы по работе
Тестирование программы прошло успешно.
Ошибки отладки, побочные эффекты при работе программы.
Проблемы возникли с переводом угла из градусной меры в радианы.
Лабораторная работа №2
Цель: выработка умений программирования арифметических выражений с вещественными переменными и константами и использования библиотечных функций языка Си, закрепление умений отладки и тестирования программ линейной структуры и составления отчета по разработанной программе.
Задание: составить программу для вычисления значения арифметического выражения. Значение х вводит пользователь программы.
№11
При: x1= -1,285 Ответ: y1= -0,27442*102
x2= 0,65 y2= -0,48982*101
x3= 6,161 y3= -0,18694*101
Математическая постановка
Исходные данные: x.
Результаты: y.
Решим при значении х=0.65:
y=(3x2+lxl / log2(sin2(lxl+29o)))+ *ltg xl/2=(3x2+lxl / log2(4.07*10-4))+ *0.011/2= -4.8982
Существует ограничение: sin2(lxl+29o)1, sin2(lxl+29o)0 откуда находим, что x 1.047+6.283k; 4.189+6.283k; 5.760+6.283k, kZ
Блок-схема программы
Составление тестов
Тест:
x1= -1,285 y1= -0,27442*102;
x2= 0,65 y2= -0,48982*101;
x3= 6,161 y3= -0,18694*101.
Разработка алгоритма
Алгоритм имеет последовательную структуру.
Смотри Блок-схема программы
Разработка программы
(для просмотра результатов программы перейдите в Рисунок 2 )
Таблица идентификаторов
Имя переменной |
Тип пере-менной |
Пояснение |
Специ-фикация формата |
||||
Алгоритм |
Программа |
||||||
Исходные данные |
Ввод |
Вы- вод |
|||||
|
M_PI |
float |
Константа |
- |
- |
||
X |
x |
double |
Заданное число |
%le |
%.4le |
||
Результаты |
|
|
|||||
Y |
y |
double |
Результат вычисления |
- |
%.4le |
Таблица 2