русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Теоретические сведения


Дата добавления: 2015-07-04; просмотров: 781; Нарушение авторских прав


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

В качестве примеров рассмотрим классические задачи вычисления корней линейного и квадратного уравнений.

 

Пример 1. Составьте программу для решения уравнения вида на множестве действительных чисел. Исходные данные – значения коэффициентов а, b вводятся пользователем с клавиатуры.

Известно, что при разных значениях коэффициентов a и b задача вычисления корней должна решаться по разным правилам. Перечислим возможные варианты:

а!=0 – уравнение имеет единственный корень, который вычисляется по формуле x=a/b;

а==0, b!=0 – уравнение примет вид 0 = b, которое при ненулевом значении b корней не имеет;

а==0, b==0 – уравнение примет вид 0 = 0, решением которого является множество действительных чисел.

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

 

// Программа для решения линейного уравнения

#include <stdio.h>

#include <math.h>

void main () {

float a,b,x;

printf ("Введите коэффициенты линейного уравнения: ");

printf ("\n a = "); scanf ("%f",&a);

printf (" b = "); scanf ("%f",&b);

printf ("\nРешение линейного уравнения: ");

if (a==0)

if (b==0) printf ("Х - любое число");

else printf ("нет решения");

else {

x=-b/a;

printf ("\n X = %f",x);

}

}

Пример 2. Составьте программу для решения квадратного уравнения на множестве комплексных чисел. Исходные данные – действительные значения коэффициентов а, b, с вводятся пользователем с клавиатуры.

Известно, что при разных значениях коэффициентов a, b, с задача вычисления корней должна решаться по разным правилам. Перечислим возможные варианты:

а==0 – линейное уравнение;



а!=0, b*b-4*a*c>0 – два различных действительных корня;

а!=0, b*b-4*a*c=0 – два совпадающих действительных корня;

а!=0, b*b-4*a*c<0 – два комплексных корня.

В случаях, когда a! =0 справедлива формула: .

С ее помощью при положительном дискриминанте вычисляются два действительных корня. При отрицательном дискриминанте, т.е. когда , комплексные корни можно определить так: , где i – мнимая единица.

 

Отметим, что в языке Си комплексную величину можно представить двумя переменными, соответствующими ее действительной и мнимой частям.

 

 

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

 

// Программа для решения квадратного уравнения

#include <stdio.h>

#include <math.h>

void main () {

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

printf ("Введите коэффициенты квадратного уравнения: ");

printf ("\n a = "); scanf ("%f",&a);

printf (" b = "); scanf ("%f",&b);

printf (" c = "); scanf ("%f",&c);

printf ("\nРешение квадратного уравнения: ");

if (a==0)

if (b==0)

if (c==0) printf ("Х - любое число");

else printf ("нет решения");

else {

x1=-c/b;

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

}

else {

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

if (d>0) {

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

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

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

}

else

if (d==0) {

x1=-b/(2*a);

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

}

else{

x=-b/(2*a);

xi=sqrt(-d)/2/a;

printf ("\n X1 = %f + %f i \n X2 = %f - %f i ",

x,xi,x,xi);

}

}

}



<== предыдущая лекция | следующая лекция ==>
Домашние задания | Домашние задания


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.694 сек.