Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Изображение алгоритма в виде блок-схемы




Блок-схемой называется наглядное графическое изображение алгоритма.

В блок-схеме отдельные этапы алгоритма изображают при помощи различных геометрических фигур – блоков.

Последовательность выполнения этапов указываются при помощи стрелок, соединяющих эти фигуры. Блоки сопровождаются надписями.

Типичные действия алгоритма изображаются следующими геометрическими фигурами:

 

 

Блок начала (конца) алгоритма

Надпись: «начало» («конец»).

Блок ввода-вывода данных

Надпись: «ввод» («вывод»)

и список переменных вводимых (выводимых).

Блок решения (арифметический)

Надпись: операция или группа операций.

Условный блок

Надпись: логическое условие.

2.3. Составной оператор

Это группа операторов, отделенных друг от друга точкой с запятой, начинающихся с открывающей фигурной скобки { и заканчивающихся закрывающейся фигурной скобкой }.

 

{

оператор_1;

...

оператор_n

}

Транслятор воспринимает составной оператор как один оператор.

2.4. Операторы ветвления

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

Условный оператор, соответствующий приведенной блок-схеме, имеет вид:

if (выражение) оператор_1;

else оператор_2;

Вычисляется выражение. Если оно не равно нулю, т.е. имеет значение true, выполняется оператор_1, в противном случае (выражение равно нулю, т.е. false) – оператор_2.

Если в зависимости от некоторого условия выполняется некоторое действие, а в противном случае ничего не происходит, то алгоритм имет вид:

Условный оператор в этом случаеимет конструкцию:

if (выражение) оператор;

Эту запись можно назвать «пропуск оператора else».

Здесь оператор либо выполняется, либо пропускается, в зависимости от значения выражения.

Если в какой-либо ветви условного процесса требуется выполнить несколько операторов, следует использовать составной оператор.


2.5. Примеры программ

Задача 2. Известны коэффициенты а, b и с квадратного уравнения ax2+bx+c=0. Вычислить корни квадратного уравнения.

Входные данные: a, b, c.

Выходные данные: х1, х2.

 

#include <stdio.h>

#include <math.h>

void main()

{

float a,b,c,d,x1,x2;

printf("\n vvedite a \n");

scanf("%f",&a);

printf("\n vvedite b \n");

scanf("%f",&b);

printf("\n vvedite c \n");

scanf("%f",&c);

d=b*b-4*a*c;

if (d<0) printf("reshenij net \n");

else

{

x1=(-b+sqrt(d))/(2*a);

x2=(-b-sqrt(d))/2/a;

printf("x1=%f \n", x1);

printf("x2=%f \n", x2);

}

}

 

Задача 2. Решить ax4+bx2+c=0 биквадратное уравнение (y=x2).

Дано: a,b,c.

Найти: х1, х2, х3, х4.

Алгоритм:

1. Вычисление дискриминанта уравнения d.

2. Если d ³ 0, определяются y1 и y2, а иначе корней нет.

3. Если y1, y2 < 0, то корней нет.

4. Если y1, y2 ³0, то вычисляются четыре корня по формулам и выводятся значения корней.

5. Если условия 3) и 4) не выполняются, то необходимо проверить знак y1. Если y1³0, то вычисляются два корня по формуле . Если же y2³0, то вычисляются два корня по формуле . Вычисленные значения корней выводятся.

#include <iostream.h>

#include <math.h>

void main()

{

float a,b,c,d,y1,y2,x1,x2,x3,x4;

cout<<"\n a="; cin>>a;

cout<<"\n b="; cin>>b;

cout<<"\n c="; cin>>c;

d=b*b-4*a*c;

if (d<0) cout<<"resh.net"<<endl;

else

{

y1=(-b+sqrt(d))/2/a;

y2=(-b-sqrt(d))/2/a;

if (y1<0 && y2<0)

cout<<"resh.net"<<endl;

else

if (y1>=0 && y2>=0)

{

x1=sqrt(y1); x2=-x1;

x3=sqrt(y2); x4=-sqrt(y2);

cout<<"x1="<<x1<<endl;

cout<<"x2="<<x2<<endl;

 

cout<<"x3="<<x3<<endl;

cout<<"x4="<<x4<<endl;

}

else

if (y1>=0)

{

x1=sqrt(y1); x2=-x1;

cout<<"x1="<<x1<<endl;

cout<<"x2="<<x2<<endl;

}

else

{

x1=sqrt(y2); x2=-x1;

cout<<"x1="<<x1<<endl;

cout<<"x2="<<x2<<endl;

}

}

}

Задача 3. Решить кубическое уравнение:

(1)

После деления на a уравнение (1) принимает канонический вид:

(2)

где , , .

В уравнении (2) сделаем замену и получим приведенное уравнение (3)

, (3)

Где , .

Число действительных корней приведенного уравнения (3) зависит от знака дискриминанта :

Количество корней кубического уравнения

Дискриминант Кол-во действительных корней
D≥0  
D<0  

 

При положительном дискриминанте кубического уравнения (3) действительный корень вычисляется по формулам:

(4)

где .

При отрицательном дискриминанте уравнение (3) имеет 3 действительных корня:

, (5)

Где , .

После расчета корней приведенного уравнения (3) по формулам (4) или (5) необходимо перейти к корням заданного кубического уравнения (1):

 


[1] Текстовые файлы, в которых содержится описание используемых в программе элементов.

[2] Служат для уточнения внутреннего представления и диапазона значений стандартных типов

[3] Поток – виртуальный канал связи, создаваемый в программе для передачи данных





Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 624 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Неосмысленная жизнь не стоит того, чтобы жить. © Сократ
==> читать все изречения...

2280 - | 1986 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.