Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Краткие теоретические сведения. При составлении программ разветвляющейся структуры необходимо соблюдать следующие правила:






При составлении программ разветвляющейся структуры необходимо соблюдать следующие правила:

1. Программа должна правильно выполняться при любых значениях начальных данных.

2. Правильность работы всех ветвей программы должна быть проверена на тестах.

3. При отсутствии решения или бесчисленном множестве решений должен быть напечатан соответствующий текст.

 

Решение уравнений

1. Решить уравнение ax = b. Если корней нет, то выдать соответствующее сообщение.

Этап 1. Математическое описание решения задачи.

Из курса математики известно, что такое уравнение имеет один корень, если а ¹ 0, который вычисляется по формуле x = b/a. Если а = 0, то возможны два варианта: при b=0 любое число является корнем уравнения, при b ¹ 0 уравнение не имеет корней.

Этап 2. Определение входных и выходных данных.

Входными данными являются коэффициенты уравнения a и b, выходными данными - значения корней уравнения, сообщение об отсутствии корней или сообщение о множественности корней.

Этап 3. Разработка алгоритма решения.

Схема алгоритма представлена на рис.1.

Этап 4. Программа.

#include < stdio.h>

#include < conio.h>

void main(void)

{ double a, b, x;

clrscr(); // очистка экрана

puts(“Введите значения a и b”);

printf(“%lf%lf”, & a, & b);

if (a==0)

if (b==0) puts(“Любое число”);

else puts(“Нет решения”);

else

{

x=b/a;

printf(“x=%lf\n”, x);

}


getch();

}

 

Рис.1. Схема алгоритма решения уравнения ax = b

 

2. Найти действительные корни квадратного уравнения вида ax2+bx+c=0. Если действительных корней нет, то выдать соответствующее сообщение.

Этап 1. Математическое описание решения задачи.

Из курса математики известно, что такое уравнение имеет два корня, которые вычисляются по формулам:

где X1 и X2 - первый и второй корни уравнения соответственно;

D = b2 - 4ac - дискриминант уравнения (D ³ 0).

Если D < 0, уравнение не имеет действительных корней.

Этап 2. Определение входных и выходных данных.

Входными данными являются коэффициенты уравнения a, b, c, выходными данными - значения корней уравнения или сообщение об отсутствии действительных корней. Для вычисления корней уравнения необходимо знать дискриминант уравнения.

Этап 3. Разработка алгоритма решения.

 

Решение неравенств

1. Решить неравенство ax + b ³ 0.

Этап 1. Математическое описание решения задачи

 

a b Множество решений
> 0 Любое [ -b/a; +∞ [
< 0 Любое ]- ∞; -b/a]
=0 ³ 0 Любое число
=0 < 0 Решений нет

 

Этап 2. Определение входных и выходных данных.

Входными данными являются коэффициенты неравенства a и b, выходными - сообщения о множестве решений или об их отсутствии.

Этап 3. Разработка алгоритма решения.

 

2. Решить неравенство ax2+ bx + c > 0.

Этап 1. Математическое описание решения задачи.

D - дискриминант; X1, X2 - корни квадратного уравнения ax2+ bx + c > 0.

 

D a Множество решений
> 0 > 0 X< X1 или X> X2
> 0 < 0 X2< X< X1
=0 > 0 Любое число, кроме X1
=0 < 0 Решений нет
< 0 > 0 Любое число
< 0 < 0 Решений нет

 

Этап 2. Определение входных и выходных данных.

Входными данными являются коэффициенты неравенства a, b, c, выходными - сообщения о множестве решений или об их отсутствии.

Этап 3. Разработка алгоритма решения.

Этап 4. Программа:

 

#include < stdio.h>

#include < conio.h>

#include < math.h>

void main(void)

{

char T1[]=”Любое число”;

char T2[]=”Решений нет”;

float A, B, C, D, X1, X2;

puts(“Введите значения A, B, C”);

printf(“%f%f%f”, & A, & B, & C);

D=pow(B, 2) - 4*A*C;

if (D> 0)

{

X1=(-B-sqrt(D))/(2*A);

X2=(-B+sqrt(D))/(2*A);

if (A> 0)

printf(“X< %5.2f или X> %5.2f\n”, X1, X2);

else printf(“%5.2f< X< %5.2f\n”, X2, X1);

}

else

{

if (D==0)

{

X1=-B/(2*A);

if (A> 0)

printf(“Любое число кроме X1=%5.2f\n”, X1);

else puts(“Решений нет”);

}

else

if (A> 0) puts(“Любое число”);

else puts(“Решений нет”);

}

getch();

}

3. Решить систему неравенств

 

при a ≠ 0

.

Математическое описание решения задачи.

При a > 0 система неравенств сводится к системе

 

 

Если b/a≥ 0, то система не имеет решения; в противном случае множество решений системы принадлежит промежутку b/a< x< с.

При a < 0 исходная система неравенств сводится к следующей:

 

 

Если b/a≥ 0, то все x< c являются решениями системы, в противном случае - все x< b/a.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.