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

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

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






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

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.

 







Дата добавления: 2015-10-15; просмотров: 475. Нарушение авторских прав; Мы поможем в написании вашей работы!



Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Studopedia.info - Студопедия - 2014-2024 год . (0.044 сек.) русская версия | украинская версия