Алгоритм решения системы уравнений информатика

Курсовая работа: Разработка программы решения системы линейных уравнений

Дальневосточная академия государственной службы

Факультет государственного и муниципального управления

по курсу: Информатика

Разработка программы решения системы линейных уравнений

1 курса 3 годичной

заочной формы обучения

Воищев Алексей Юрьевич

г. Хабаровск 2005

1. Описание математических методов решения систем линейных уравнений

1.1 Метод Гаусса

1.2 Матричный метод

1.3 Вычисление определителей второго и третьего порядка

2. Язык программирования Паскаль

2.1 Структура программы

2.2 Описание переменных

2.3 Основные конструкции языка

2.4 Структуры данных

2.4 Процедуры и функции

3. Описание программы

3.1 Работа программы

3.2 Блок-схема программы

Список используемых источников и литературы

Введение

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

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

Чтобы быстро справится с решением системы линейных уравнений, можно воспользоваться средствами вычислительной техники — составить программу на языке программирования.

1 . Описание математических методов решения систем линейных уравнений

1.1 Метод Гаусса

Идея метода Гаусса состоит в последовательном исключении неизвестных. Алгоритм решения системы уравнений этим методом проследим на примере.

Пример 1.

Выбирается ведущее уравнение с коэффициентом при х1 , равным 1. В нашем примере ведущим уравнением будет второе. Систему лучше переписать, поставив это уравнение на первое место:

Умножаем первое уравнение на 6 и вычитаем из полученного второе, чтобы исключить из второго неизвестное х1 . Первое уравнение записываем, а на место второго — результат вычитания.

Затем первое уравнение умножим на 3 и складываем с третьим уравнением. Тогда получаем систему

Или

первое уравнение переписываем без изменения, а второе умножаем на 7 и вычитаем из него третье уравнение, умноженное на 15, чтобы избавиться от х2 в третьем уравнении. При этом второе записываем без изменения, на месте третьего — результат вычитания. Тогда

Из третьего следует х3 =-3, подставим его во второе, получим х2 = — 2. Далее подставим найденные х2 и х3 в первое уравнение, получим х1 = 1.

Примечание: если система уравнений не содержит уравнения с коэффициентом 1 при х1 , тогда исключение х1 из второго и третьего достигается умножением сначала первого на коэффициент второго, а второго на коэффициент первого. Затем умножаем первое на коэффициент третьего, а третье на коэффициент первого. Таким образом при вычитании исключаем х1 .

1.2 Матричный метод

Запишем систему линейных 3 уравнений с 3 неизвестными

Составим матрицу из коэффициентов при неизвестных

А =

Введем в рассмотрение матрицы — столбцы для неизвестных и свободных членов:

Х = ; В = .

Тогда систему (2) можно переписать в матричной форме

Умножив это уравнение на слева, получим , откуда =или

Следовательно, матрица — решение Х находится как произведение на В .

Пример 2. Решить систему уравнений матричным методом

Решение: определитель матрицы

А=

∆=-1, значит, существует обратная матрица .

Матрица — столбец при неизвестных:

Х =

Матрица — столбец из свободных членов:

В =

Тогда решение запишется в виде

==

1.3 Вычисление определителей второго и третьего порядка

Число (а 11 а 22а 12 а 21 ) называется определителем второго порядка и обозначается символом

Определитель второго порядка содержит две строки и два столбца. Числа а 11 , а 12 , а 21 , а 22 называются элементами определителя. Диагональ определителя, на которой расположены числа а 11 , а 22 — главная, а элементы а 12 , а 21 составляют побочную диагональ.

Определитель 3-го порядка содержит три строки и три столбца:

Для вычисления определителя третьего порядка существует несколько способов.

Рассмотрим метод вычисления определителя разложением по элементам первой строки.

Введем понятие минора и алгебраического дополнения.

Минором некоторого элемента определителя называется определитель, полученный из данного вычеркиванием той строки и того столбца в которых этот элемент расположен. Обозначается Мij ( i — номер строки, j — номер столбца).

Например, минором элемента а12 является определитель

Алгебраическим дополнением данного элемента определителя называется его минор, умноженный на (-1) i+ j . Алгебраические дополнения обозначаются буквами Аij, и тогда Аy = (-1) i+ j My .

Определитель вычисляется так:

=.

Так же можно разложить определитель по любой строке или столбцу.

Изложенный метод применим к вычислению определителей 4-го и т.д. порядков.

Пример3. Вычислить определитель разложением по элементам первой строки

Решение: Элементы первой строки

А11 = (-1) 1+1 . М11 ==4+1=5.

М11 получили, вычеркнув первую строку и первый столбец.

А12 = (-1) 1+2 . М12 = — = — (8+3) = — 11.

М12 получили, вычеркнув первую строку и второй столбец.

А13 = (-1) 1+3 . М13 = = 2-3 = — 1.

М13 получили, вычеркнув первую строку и третий столбец.

= 1.5+2. (-11) — 2. (-1) = — 15

2. Язык программирования Паскаль

2.1 Структура программы

Язык Паскаль, начиная с момента своего создания Н. Виртом в 1971г., играет особую роль м в практическом программировании, и в его обучении. С непревзойденной четкостью в нем реализованы принципы структурного программирования. Трансляторы для программ, написанных на Паскале, разработаны для различных компьютеров и в настоящее время имеют множество разновидностей. Они являются компиляторами, обрабатывающими разработанные программистами тексты программ.

Существует много версий языка Паскаль. Различия между ними порой весьма велики. Так, базовая версия Вирта имеет многократно меньше возможностей, чем версия Турбо-Паскаль 7.0. (первая, фактически — язык для обучения будущих программистов, а вторая — орудие профессиональных разработчиков прикладного программного обеспечения) Тем не менее, это версии одного языка.

Любая Паскаль — программа является текстовым файлом с собственным именем и с расширением. pas. Паскаль — программа имеет вид последовательности символов латинских и русских букв, арабских цифр, знаков операций, скобок, знаков препинания и некоторых дополнительных символов. В нем можно выделить описания данных и операторы, описывающие действия, которые надо выполнить машине над этими данными.

Схематически программа представляется в виде последовательности восьми разделов:

описание внешних модулей, процедур и функций;

описание типов переменных;

описание функций и процедур;

Каждый раздел начинается со служебного слова, назначение которого зафиксировано в Паскале так, что его нельзя употреблять для других целей. Так например, описание заголовка начинается со служебного слова program, описание констант -const, описание переменных — var, раздел операторов начинается с begin. Программа заканчивается служебным словом end, после которого ставится точка. Описания величин и операторы друг от друга отделяются знаком «точка с запятой».

2.2 Описание переменных

Для обозначения величин используются имена. Они состоят из латинских букв и цифр, причем первым символом должна быть буква.

Постоянные величины (константы) чаще всего бывают числовыми или символьными. Значения символьных констант заключаются в апострофы.

Постоянные величины описываются в разделе констант по схеме:

Данные, обрабатываемые программой, могут быть различных типов (числовые, символьные, строки, массивы и т.д.). Тип определяет область допустимых значений, а также операции и функции, применяемые к величинам этого типа. В Паскале имеется несколько встроенных простых типов со стандартными именами.

Группа типов, значения каждого из которых можно перечислить в некотором списке — скалярные типы. Для них определен порядковая функция ord (x) — номер значения х в списке; функция pred (x) -значение в списке, предшествующее х, и succ (x) — значение в списке, следующее за х.

Упорядоченный тип — это тип, значения которого упорядочены в обычном смысле.

Переменные описываются в раздел описания переменных по схеме:

Имена в списке разделяются запятой. В этом разделе может быть описано несколько переменных разного типа, например:

Var a,b,c,: real; k, i: integer; p: Boolean;

Над целыми величинами (тип integer) определены арифметические операции: * (умножение), div (деление нацело), mod (вычисление остатка от деления), +, — (сложение и вычитание); операции перечислены в порядке старшинства. Целый результат дают некоторые стандартные функции (аргумент заключается в круглые скобки):

-абсолютная величина целого хж

квадрат значения х;

целая часть вещественной величины х;

целое число, полученное из вещественного ч по правилу округления;

случайное целое число из интервала от 0 до х

Над вещественными величинами определены операции: *, +, -, /, а также стандартные функции, при вещественном или целом аргументе: abs (x), sqr (x), sin (x), cos (x), ln (x), sqrt (x) — квадратный корень из х, int (x) — целая часть из х, random — случайное число от 0 до 1. Указанные операции и функции дают вещественный результат.

Множество всех символов образуют символьные величины (тип char), которые являются упорядоченными.

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

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

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

В Паскале можно вводить с клавиатуры числовые и символьные данные. Имеются две встроенные процедуры (подпрограммы) ввода:

Процедура readln отличается от read только тем, что при завершении ввода курсор перемещается в начало строки.

Программа на Паскале может выводить на экран или на принтер значения числовых или символьных выражений. Имеются две процедуры вывода на экран:

Процедура write (x1,x2,x3,…xn) печатает на экран значения выражения из списка х1, х2,…хn. Для вывода на принтер используются те же процедуры с добавлением служебного слова lst перед списком выражений:

Пример: write (lst,’ нет решений‘);

2.3 Основные конструкции языка

Паскаль — это язык структурного программирования. Это значит, что программа должна выражать свои мысли очень дисциплинированно, с использованием малого числа четко оговоренных конструкций, используя как чередование их, так и вложения друг в друга. Не рекомендуется (хотя и возможно) использовать оператор перехода goto.

Реализация последовательности действий (т.е. структуры следования) выполняется с помощью составного оператора:

Раздел операторов в программе всегда является составным оператором. Служебные слова begin и end часто называют операторными скобками.

Для реализации развилки в Паскале предусмотрены два оператора: условный оператор и оператор варианта (выбора). Они предназначены для выделения из составляющих их операторов одного, который и выполняется.

Структура и действие условного оператора таковы:

Условный оператор может быть неполным, т.е. не содержать часть “else «. В этом случае, если значение логического выражения равно false, условный оператор не вызывает никаких действий.

Оператор варианта имеет следующую форму:

Выражение, стоящее между служебными словами case и of, должно иметь значение ординального типа. Любой список констант может состоять из одной константы.

Оператор варианта вычисляет значение выражения, записанного после case. Если его значение совпадает с одной из констант в некотором списке, то выполняется оператор, стоящий после этого списка. Если значение выражения не совпало ни с одной константой во всех вариантах, то оператор варианта ничего не делает.

Для реализации циклов в Паскале имеются три оператора. Если число повторений известно заранее, то удобно воспользоваться оператором цикла с параметром. В других случаях следует использовать операторы цикла с предусловием (цикл «пока») или с постусловием (цикл «до»).

Цикл с предусловием является наиболее мощным в Паскале. Другие операторы цикла можно выразить через него. Его форма такова:

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

Оператор цикла с постусловием имеет форму:

Действие: выполняется последовательность операторов. Далее вычисляется значение логического выражения. Если оно равно true, то действие заканчивается, в противном случае снова выполняется последовательность операторов цикла и т.д.

Оператор цикла с параметром предусматривает повторное выполнение некоторого оператора с одновременным изменением по правилу арифметической прогрессии значения управляющей переменной (параметра) этого цикла. Оператор цикла с параметром имеет две формы.

Параметр, выражение 1, выражение 2 должны быть одного ординального типа. Параметр в этом цикле возрастает. Действие эквивалентно действию следующего составного оператора:

Если в этом описании отношение =, а функцию succ на pred, то параметр в цикле будет убывать, в этом случае цикл с параметром принимает форму 2.

For : = downto do

2.4 Структуры данных

В Паскале кроме простых типов данных: real, integer, boolean, byte, char, программист по своему желанию может определить новый тип путем перечисления его элементов — перечисляемый тип, который относится к простым ординальным типам.

Описание перечисляемого типа выполняется по схеме:

Например, type operator = (plus, minus, multi, divide);

Интервальный тип — это подмножество другого уже определенного ординального типа, называемого базовым. Интервал можно задать в разделе типов указанием наименьшего и наибольшего значений, входящих в него и разделяющихся двумя последовательными точками, например:

Type days = (mon, tue, wed, thu, fri, sat, sun);

Workdays= mon. fri;

Операции и функции — те же, что и для базового типа. Использование интервальных типов в программе позволяет экономить память и проводить во время выполнения программы контроль присваивания.

Естественно и часто очень удобно группировать однотипные данные в последовательности — массивы, строки символов, объединять разнотипные данные в одном и том же объекте в виде записей. Значительное удобство представляются пользователю в Паскале при организации однотипных величин в виде множества с соответствующим набором операций: объединения, пересечения и т.д. Последовательность однотипных величин переменной длины можно представить в Паскале в виде файла данных и хранить на внешних носителях, используя его в разных программах.

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

2.4 Процедуры и функции

В Паскале подпрограммы называются процедурами и функциями и описываются в разделе с тем же названием.

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

Данные для обработки могут передаваться процедуре через глобальные имена или через аргументы процедуры. В процедуре каждый аргумент имеет свое имя — формальный параметр, описываемый в заголовке процедуры по схеме

Описание формальных параметров может иметь вид

Оператор вызова процедуры имеет вид

Указанные выражения называются фактическими параметрами. Их список должен точно соответствовать списку описаний формальных параметров процедуры. Во время вызова процедуры каждому параметру-значению присваивается значение соответствующего фактического параметра и поэтому их используют для передачи входных данных. Параметры — переменные используются для представления результатов процедуры.

Функция — это подпрограмма, определяющая единственное скалярное, вещественное или строковое значение. Отличия подпрограммы — функции от процедуры:

заголовок функции начинается со служебного слова function и заканчивается указанием типа значения функции:

function (список описаний формальных параметров): ;

раздел операторов функции должен содержать хотя бы один оператор присваивания имени функции;

обращение к функции — не оператор, а выражение вида:

3. Описание программы

3.1 Работа программы

Для решения систем линейных уравнений методом Гаусса и матричным методом создана программа на языке Паскаль. Программа запрашивает исходные данные (рис.1):

матрицу коэффициентов при неизвестных х;

столбец свободных членов

способ решения системы линейных уравнений — вариант 1 или 2.

Рисунок 3.1 Ввод исходных данных

В зависимости от выбранного вариант в программе происходит решение системы уравнений методом Гаусса (рис.2) или матричным методом (рис.3) с выдачей на экран результатов:

Рисунок 3.2 Результаты расчетов системы линейных уравнений методом Гаусса.

Рисунок 3.3 Результаты расчетов системы линейных уравнений матричным методом.

Программа состоит из 7 подпрограмм — 6 процедур и одной функции:

процедура Gauss обеспечивает решение системы линейных уравнений по методу Гаусса;

процедура matrica обеспечивает решение системы линейных уравнений матричным методом;

процедура PrintMatr2 предназначена для выдачи на экран исходной и обратной матрицы;

процедура MultString предназначена для умножения строк матрицы на число r;

процедура AddStrings прибавляет к i1-ой строке матрицы i2-ю, умноженную на число r;

процедура MultMatr предназначена для умножения матриц.

Функция Sign используется для изменения знака на противоположный при вычислении обратной матрицы.

Программа настроена на решение системы 3-х линейных уравнений с тремя неизвестными. Чтобы решить систему из 2-х уравнений с 2-мя неизвестными необходимо в программе изменить значение константы N с N=3 на N =2 (рис.4).

Рисунок 3.4. Фрагмент программы с описанием констант и переменных.

3.2 Блок-схема программы

Название: Разработка программы решения системы линейных уравнений
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа Добавлен 22:38:32 18 июля 2010 Похожие работы
Просмотров: 1002 Комментариев: 21 Оценило: 3 человек Средний балл: 5 Оценка: неизвестно Скачать

Заключение

В данной курсовой работе рассмотрены математические методы решения систем линейных уравнений: матричный метод и метод Гаусса, приводятся основные конструкции языка Паскаль. Рассмотренные теоретические вопросы дают возможность создания программы на Паскале для решения систем линейных уравнений. В курсовой работе приводится текст данной программы, рассматривается структура программы, анализируются все подпрограммы. Данная программа может быть использована в различных областях, где требуется решение систем линейных уравнений.

Список используемых источников и литературы

1. А.В. Могилев, Н.И. Пак, Е.К. Хеннер «Информатика», Москва, ACADEMA, 2000 г.

2. « Турбо Паскаль 7.0″, Киев, Торгово-издательское бюро BHV, 1997г.

3. С.А. Немнюгин, «Турбо ПАСКАЛЬ», Практикум, Питер, 2002г.

Приложение

«Решение систем линейных уравнений матричным способом и методом Гаусса»

type matr=array [1. n,1. n] of real;

mas=array [1. n] of real;

procedure PrintMatr2 (m,m1: matr; n,nz,nd: integer);

for i: =1 to n do

if (i=1) then write (np: 2,’: ‘)

for j: =1 to n do

write (m [i,j]: nz: nd); write (‘ ‘);

for j: =1 to n do

write (m1 [i,j]: nz: nd);

procedure MultString (var a,b: matr; i1: integer; r: real);

for j: =1 to n do

procedure AddStrings (var а,b: matr; i1, i2: integer; r: real);

for j: =1 to n do

a [i1,j]: =a [i1,j] +r*a [i2,j] ;

b [i1,j]: =b [i1,j] +r*b [i2,j] ;

procedure MultMatr (a,b: matr; var c: matr);

for i: =1 to n do

for j: =1 to n do

for k: =1 to n do

function sign (r: real): shortint;

if (r>=0) then sign: =1 else sign: =-1;

procedure GetMatr (a: matr; var b: matr; m, i,j: integer);

var ki,kj,di,dj: integer;

for ki: =1 to m-1 do

if (ki=i) then di: =1;

for kj: =1 to m-1 do

if (kj=j) then dj: =1;

b [ki,kj]: =a [ki+di,kj+dj] ;

procedure gauss (a: matr; b: mas; var x: mas; n: integer);

For k: =1 to N-1 do

For i: =k+1 to n do

For j: =k+1 to N do

writeln (‘Вывод результатов решения системы уравнений методом Гаусса’);

writeln (‘x [‘,n,’] =’,x [n]: 6: 2);

for i: = (n-1) downto 1 do

For j: =i+1 to n do

x [i]: = (b [i] +s) /a [i, i] ;

writeln (‘x [‘, i,’] =’,x [i]: 6: 2);

procedure matrica (a: matr; y: mas; n: integer);

for i: =1 to n do

for j: =1 to n do z [i,j]: =0;

for i: =1 to n do

for j: =1 to n do

for i: =1 to n do

взятую со знаком i-того элемента j-ой строки. Таким образом,

на месте элементова a [i, i] возникает сумма модулей элементов i-того

столбца (ниже i-ой строки) взятая со знаком бывшего элемента a [i, i],

равенство нулю которой говорит о несуществовании обратной матрицы >

for j: =i+1 to n do

AddStrings (a,z, i,j,sign (a [i, i]) *sign (a [j, i]));

if (abs (a [i, i]) >eps) then

MultString (a,z, i,1/a [i, i]);

for j: =i+1 to n do

AddStrings (a,z,j, i,-a [j, i]);

writeln (‘Обратной матрицы не существует. ‘);

if (a [n,n] >eps) then

for i: =n downto 1 do

for j: =1 to i-1 do

AddStrings (a,z,j, i,-a [j, i]);

else writeln (‘Обратной матрицы не существует. ‘);

writeln (‘Начальная матрица, обратная к ней матрица: ‘);

for i: =1 to n do s [i]: =0;

for i: =1 to n do

for j: =1 to n do

s [i]: =s [i] +z [i,j] *y [j] ;

writeln (‘Вывод результатов решения системы уравненй матричным способом’);

for i: =1 to n do write (‘ ‘, s [i]: 5: 2);

writeln (‘ввод матрицы коэффициентов при неизвестных х’);

for i: =1 to N do

for j: =1 to N do

write (‘ введите a [‘, i,’,’,j,’] => ‘);

writeln (‘ввод столбца свободных членов’);

for i: =1 to N do

write (‘ введите b [‘, i,’] => ‘);

writeln (‘введите вариант ‘);

writeln (‘ 1 — решение системы линейных уравнений методом Гаусса ‘);

write (‘ 2 — решение системы линейных уравнений матричным методом => ‘);

Решение систем уравнений в среде Microsoft Excel

обучающие:

  • повторение и закрепление знаний учащихся правил записи арифметических выражений и формул в электронных таблицах;
  • повторение алгоритма решения систем уравнений;
  • формирование знаний и умений в решении систем уравнений, используя возможности электронных таблиц;

развивающие:

  • формирование умений анализировать, выделять главное, сравнивать, строить аналогии;

воспитывающие:

  • осуществление эстетического воспитания;
  • воспитание аккуратности, добросовестности.

Тип урока: урок закрепления изученного материала и объяснения нового.

ХОД УРОКА

I. Организационная часть.

Здравствуйте! Все мы знаем, что одну и ту же информацию можно закодировать любым способом. Перед вами набор чисел. Известно, что каждому числу ставится в соответствие буква в русском алфавите. Расшифруйте эту информацию, кто быстрее!

Ответ: “Знание – сила!”

Молодцы! А знаете, кому принадлежит это выражение? (Если нет, то один ученик ищет ответ в Интернете. Остальные отвечают на вопросы: Для чего предназначена программа Excel? (Программа Excel предназначена для хранения и обработки данных, представленных в табличном виде) Что собой представляет документ в Excel? (Каждый документ в Excel представляет собой набор таблиц – рабочую книгу, которая состоит из одного или многих рабочих листов) Какая функция используется для подсчета суммы чисел? (Функция СУММ). Как определить адрес ячейки? (Excel вводит номера ячеек автоматически. Адрес ячейки составляется как объединение номеров столбца и строки без пробела между ними)

Выражение английского философа Френсиса Бэкона “Знание – сила!” и будет эпиграфом к нашему уроку. («Нравственные и политические очерки», 1597).

II. Повторение пройденного материала.

Мы уже знакомы с программой Microsoft Excel, умеем записывать арифметические выражения и различные формулы, находить значения арифметических выражений и построить графики функций. Чтобы проверить выполнение домашнего задания, предлагаю каждому пройти тестирование. (Приложение 1)

Хорошо, все справились и каждому поставим соответствующие оценки в журнал. А давайте устроим путешествие в математику и вспомним, что мы понимаем под понятием: “Решить систему уравнений”? (Найти такие значения х и у, которые будут удовлетворять и первое уравнение и второе). Какие способы существуют для решения систем уравнений (метод подстановки, метод сложения и графический способ). Сегодня мы с вами научимся решать системы уравнений, используя возможности электронных таблиц.

III. Объяснение нового.

А. Решим систему графическим способом. Преобразуем данную систему . Для решения воспользуемся диаграммой, на которой отобразим графики обеих функций. Заполняем столбец А: заполняем ячейки А2:А22 числами от -5 до 5 с шагом 0,5. (в ячейку А2 заносим число -5, в ячейку А3 – число -4,5, выделяем ячейки А2 и А3, установим курсор мыши на правый нижний угол рамки (указатель примет форму черного крестика) и растягиваем рамку вниз, пока последнее значение не станет равным 5). При заполнении столбца В в ячейку В2 заносим формулу =А2*А2, которую затем копируем до ячейки В22. (протянем формулу за правый нижний угол). При заполнении столбца С в ячейку С2 заносим формулу =1-2*А2, копируем ее до ячейки С22. Выделим блок с данными, с помощью Мастера диаграмм выберем тип диаграммы Точечная и построим графики функций. Координаты точек пересечения графиков – решения системы.

Получены приближенные значения решений. Чем меньше шаг, тем точнее значение координат точек пересечения.

Запишем алгоритм решения систем уравнений графическим способом:

1. Преобразовать систему уравнений, если это необходимо.

2. Задать начальные значения для Х.

3. Найти значение первой функции при заданных Х.

4. Найти значение второй функции при тех же Х.

5. Выделить блок с данными и построить графики функций, используя точечный тип диаграммы.

6. Решение системы — точка пересечения графиков функций.

7. Для нахождения координат точек пересечения с заданной точностью построить новый график на том отрезке, где находится решение, с шагом, равным значению точности.

Б. Решить систему уравнений . Занесем в электронную таблицу исходные данные и расчетные формулы следующим образом:.

Для решения системы уравнений воспользуемся надстройкой Поиск решения, которая запускается через Сервис (-Надстройки) и заполним диалоговое окно следующим образом:

При нажатии на кнопку Выполнить происходит решение системы уравнений и в ячейках B3 и B4 высвечивается результат.

Запишем примерный алгоритм решения системы уравнений, используя Поиск решения

1. Преобразовать систему уравнений, если это необходимо

2. Записать исходные данные (в ячейку А1 ввести текст “Решите уравнение”, в ячейку В1 записать первое уравнение, в ячейку В2 второе уравнение, в ячейку А3 ввести текст “Х=”, в ячейку А4 “Y=”, в ячейку А5 “уравнение 1”, в ячейку А6 “уравнение 2”. В ячейке B3 хотим получить значение Х, в ячейке В4 – значение Y, их оставляем пустыми.

3. В ячейку В5 переписать уравнение 1, используя правило записи арифметических выражений, следующим образом: в левой части вместо Х указывать ячейку В3, вместо Y ячейку В4, правую часть отбросить. Таким же образом переписать левую часть второго уравнения в ячейку В6.

4. Выбрать команду Сервис – Поиск решения.

5. Установить целевую ячейку — ту ячейку, в которой содержится формула, например, В5 и задать значение, равное значению правой части первого уравнения

6. В поле “изменяя ячейки” указать ячейки, в которых хотим увидеть ответ (В3 и В4)

7. Вести ограничение $B$6 = -3. Для этого щелкнуть на кнопке Добавить и в полученном окне установить реквизиты следующим образом: в поле Ссылка на ячейку указать ячейку, в которой записана левая часть другого уравнения, в другом поле выбрать знак “=”, в третьем ввести число, равное значению правой части. Закрыть окно Добавить ограничение, щелкнув кнопкой ОК

8. Решить систему уравнений, щелкнув кнопкой Выполнить

IV. Практическая работа на компьютере.

А. Решите систему уравнений графическим способом

Б. Решите систему уравнения, воспользовавшись командой Поиск решения:

А. Решите систему уравнений графическим способом

Б. Решите систему уравнения, воспользовавшись командой Поиск решения:

V. Подведение итогов.

Повторить алгоритмы решения систем уравнений

Выставить оценки за тестирование в журнал

VI. Домашнее задание.

Решить рациональным способом системы уравнений:

;

Алгоритм решения системы уравнений информатика

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

Задача: Решить систему логических уравнений:

Рассмотрим метод сведения к одному уравнению. Данный метод предполагает преобразование логических уравнений, таким образом, чтобы правые их части были равны истинностному значению (то есть 1). Для этого применяют операцию логического отрицания. Затем, если в уравнениях есть сложные логические операции, заменяем их базовыми: «И», «ИЛИ», «НЕ». Следующим шагом объединяем уравнения в одно, равносильное системе, с помощью логической операции «И». После этого, следует сделать преобразования полученного уравнения на основе законов алгебры логики и получить конкретное решение системы.

Решение 1: Применяем инверсию к обеим частям первого уравнения:

Представим импликацию через базовые операции «ИЛИ», «НЕ»:

Поскольку левые части уравнений равны 1, можно объединить их с помощью операции “И” в одно уравнение, равносильное исходной системе:

Раскрываем первую скобку по закону де Моргана и преобразовываем полученный результат:

Полученное уравнение, имеет одно решение: A =0, B=0 и C=1.

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

Решение 2: Составим таблицу истинности для системы:

Полужирным выделена строчка, для которой выполняются условия задачи. Таким образом, A=0, B=0 и C=1.

Способ декомпозиции. Идея состоит в том, чтобы зафиксировать значение одной из переменных (положить ее равной 0 или 1) и за счет этого упростить уравнения. Затем можно зафиксировать значение второй переменной и т.д.

Решение 3: Пусть A = 0, тогда:

Из первого уравнения получаем B =0, а из второго – С=1. Решение системы: A = 0, B = 0 и C = 1.

В ЕГЭ по информатике очень часто требуется определить количество решений системы логических уравнений, без нахождения самих решений, для этого тоже существуют определенные методы. Основной способ нахождения количества решений системы логических уравнений – замена переменных . Сначала необходимо максимально упростить каждое из уравнений на основе законов алгебры логики, а затем заменить сложные части уравнений новыми переменными и определить количество решений новой системы. Далее вернуться к замене и определить для нее количество решений.

Задача: Сколько решений имеет уравнение ( A → B ) + ( C → D ) = 1? Где A, B, C, D – логические переменные.

Решение: Введем новые переменные: X = A → B и Y = C → D . С учетом новых переменных уравнение запишется в виде: X + Y = 1.

Дизъюнкция верна в трех случаях: (0;1), (1;0) и (1;1), при этом X и Y является импликацией, то есть является истинной в трех случаях и ложной – в одном. Поэтому случай (0;1) будет соответствовать трем возможным сочетаниям параметров. Случай (1;1) – будет соответствовать девяти возможным сочетаниям параметров исходного уравнения. Значит, всего возможных решений данного уравнения 3+9=15.

Следующий способ определения количества решений системы логических уравнений – бинарное дерево. Рассмотрим данный метод на примере.

Задача: Сколько различных решений имеет система логических уравнений:

Приведенная система уравнений равносильна уравнению:

Предположим, что x 1 – истинно, тогда из первого уравнения получаем, что x 2 также истинно, из второго — x 3=1, и так далее до xm = 1. Значит набор (1; 1; …; 1) из m единиц является решением системы. Пусть теперь x 1=0, тогда из первого уравнения имеем x 2 =0 или x 2 =1.

Когда x 2 истинно получаем, что остальные переменные также истинны, то есть набор (0; 1; …; 1) является решением системы. При x 2=0 получаем, что x 3=0 или x 3=, и так далее. Продолжая до последней переменной, получаем, что решениями уравнения являются следующие наборы переменных ( m +1 решение, в каждом решении по m значений переменных):

Такой подход хорошо иллюстрируется с помощью построения бинарного дерева. Количество возможных решений – количество различных ветвей построенного дерева. Легко заметить, что оно равно m +1.


источники:

http://urok.1sept.ru/articles/510787

http://www.sites.google.com/a/gkl-kemerovo.ru/informatics/logic/7-sistemy-logiceskih-uravnenij