Российская Федерация
Тюменская область
ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ – ЮГРА
Департамент образования и науки
Сургутский государственный университет
Ханты-Мансийского автономного округа
Инженерно-физический факультет Кафедра автоматики и компьютерных систем |
Отчет
По лабораторной работе № 2
По дисциплине «Структурное программирование»
Выполнил: студент группы 12-11а
Заика Д.В.
Проверил: ассистент
Щербаков А.М.
Сургут
2012 г.
Задача 1) Заданы три числа. Определить, могут ли они являться длинами сторон треугольника и, если да, является ли этот треугольник равнобедренным и равносторонним.
1).Треугольник является равносторонним, если длины всех его сторон равны.
Треугольник является равнобедренным, если длины двух его сторон равны.
2).Блок-схема:
1) Основная часть программы на языке C++:
4)
#include "stdafx.h"
|
|
#include "math.h"
int _tmain(int argc, _TCHAR* argv[])
{
float x, y, z;
printf("vvedite storonu treugol'nika");
scanf ("%f",&x);
printf("\nVvedite vtoruu storonu: ");
scanf("%f",&y);
printf("\nVvedite tret'u storonu: ");
scanf("%f",&z);
if (x+y>z)
{
Printf("sushestvyet takoy treugol'nik");
if ((abs(x-y)<0.0001)&&(abs(y-z)<0.0001))
{
printf("Treugolnik ravnostoronniy");
}
else
{
if ((x==y)||(x==z)||(y==z))
{
printf("treugolnik ravnobedrenniy");
}
}
}
else
{
printf("ne sushestvyet takoy treugol'nik");
}
return 0;
}
4).Условные операторы:
Конструкция для проверки существования треугольника
if (x+y>z)
Если треугольник равносторонний то используем конструкцию
if ((abs(x-y)<0.0001)&&(abs(y-z)<0.0001))
Если треугольник равнобедренный то используем конструкцию
if ((x==y)||(x==z)||(y==z))
Задача 16) Заданы коэффициенты квадратного уравнения. Найти его действительные корни, если они существуют..
Для решения задачи необходимо выяснить действительные корни.
Если они существуют то используем формулу дискриминанта (D>0), (D==0)
1) Блок-схема:
2) Основная часть программы на языке C++:
#include "stdafx.h"
#include "math.h"
int _tmain(int argc, _TCHAR* argv[])
{
float a, b, c, D, x, y;
printf("vvedite perviy koefficient");
scanf ("%f",&a);
printf("vvedite vtoroy koefficient");
scanf("%f",&b);
printf("vvedite tretiy koefficient");
scanf("%f",&c);
D=b*b - (4*a*c);
if (D<0)
{
printf("korney net");
}
else if (D==0)
{
x=-b/(2*a);
printf("koren' raven %f", x);
} else if (D>0)
{
x=((-b)+ sqrt(D))/(2*a);
y=((-b)- sqrt(D))/(2*a);
printf("perviy koren' raven %f\n",x);
printf("vtoroy koren' raven %f\n",y);
}
return 0;
}
3) Обоснование выбора условных операторов:
Если корней нет то if (D<0),
Если один корен то if (D==0), вычесляем по формуле x=-b/(2*a);
Если два корня то if (D>0), вычесляем по формуле x=((-b)+ sqrt(D))/(2*a);
|
|
y=((-b)- sqrt(D))/(2*a);