Практические / Отчеты студентов 2011-2012 / ВТ-12 ЛР / Соколов / Laba2
.docМОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЛЕСА
Факультет электроники и системотехники
Лабораторная работа № 2
по программированию на языке высшего уровня С
Тема: «Линейная программа»
Выполнил студент: Соколов В.И.
Группа: ВТ-12
Проверил: Ларионов Н.В.
Москва 2012 г.
1. Условия задания:
Определить Y.
2. Математическое решение :
Y = 0, при X <= -2 и при X >= 2
Y = -X-2, при X < -1
Y = X, при X < 1
Y = -X+2, при X < 2
3. Данные:
3.1) Входные данные : X
3.2) Выходные данные: Y
4. Блок-схема программы:
5. Листинг программы:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main ()
{
float x, y;
printf (“ Введите х\n”);
scanf (“%f”,&x);
if (x<-2 || x>=2) printf (“y=0\n”);
else if (x>=-1 && x<1) printf (“y= x\n”);
else if (x>=-2 && x<-1) printf(“y= -x-2\n”);
else printf (“y=-x+2\n”);
system(“pause”);
return 0;
}
6. Тестовая задача:
Введем x=5, y=0.
x=-2, y=0.
X=1.5, y=0.5
II)
1. Условия задания:
Определить, попадает ли точка в выделенную область.
2. Математическое решение :
Зададим окружность (X*X+Y*Y<=1) и треугольник (X<=0, Y<= 0, Y >= -X-3).
3. Данные:
3.1Входные данные: X, Y, R
4. Блок-схема программы:
5. Листинг программы:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define r 1
int main ()
{
float x, y;
printf (“ Введите х, у\n”);
scanf (“%f%f”,&x,&y);
if(x*x+y*y<=1 || x<=0 && y<=0 && y>=-x-2 ) printf ( “вы попали в мишень\n”);
else printf (“Вы не попали в мишень\n”);
system(“pause”);
return 0;
}
6. Тестовая задача:
x=-2, y=-2 – попали в выделенную область.
X=10, y= 7 – не попали в выделенную область.