Как построить блок схему системы уравнений

Основные блок-схемы решения линейных и квадратичных задач с параметрами

Разделы: Математика

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

В данной статье предпринята попытка систематизации и формализации (в форме блок-схем) наиболее часто встречающихся и наиболее типичных ЗсП. При этом выделены классы задач, решаемых по единой методике.

Рассматриваются аналитические методы решения ЗсП, сводящиеся к исследованию линейных или квадратных уравнений (неравенств), а также квадратного трехчлена. Такой выбор обусловлен тем, что курс школьной математики ограничен «вглубь», по существу, «теорией квадратичного».

Линейные уравнения

Определение. Уравнение вида ax=b, где a, b принадлежат множеству всех действительных чисел, будем называть стандартным видом линейного уравнения. Всевозможные варианты, возникающие при решении линейных уравнений, отразим в блок–схеме I.

Количество корней линейного уравнения отразим в блок-схеме II:

Пример 1. Для всех действительных значений параметра m решите уравнение m 2 x–2=4x+m.

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

m 2 x–2=4x+m, m 2 x–4x=m+2, (m 2 –4)x=m+2.(1)

Следуя схеме I, рассмотрим два случая для коэффициента при x:

1)если m 2 – 4 не равно 0, m не равно ±2, то x=(m+2)/(m 2 -4), x=1/(m–2);

а) при m = –2 уравнение (1) примет вид 0х=0, отсюда х – любое действительное число;

б) при m = 2 уравнение (1) примет вид 0х= 4, отсюда следует, что корней нет.

Ответ. Если m 2 то x=1/(m–2); если m= – 2, то x – любое действительное число; если m=2, то корней нет.

Пример 2. При каких значениях параметра k уравнение 2(k–2x)=kx+3 не имеет корней?

Решение. 2(k–2x)=kx+3, (k+4)x=2k–3. В силу схемы II уравнение не имеет корней, если k+4=0 и 2k–3 не равно 0 => k= –4 и k не равно 1,5 => k = –4.

Ответ. k=–4.

Системы линейных уравнений

Определение 1. Система называется совместной, если она имеет хотя бы одно решение.

Определение 2. Система называется несовместной, если она не имеет ни одного решения.

Количество решений системы линейных уравнений отразим в блок-схеме III.

Замечание. Так как уравнение прямой y=kx+b в общем виде записывается следующим образом ax+by+c=0, то взаимное расположение двух прямых отразим в блок-схеме IV.

Пример. При каких значениях параметра c система из двух уравнений c 2 x+(2–c)y–4=c3 и (2c–1)y+cx+2=c 5 совместна?

Решение. Запишем систему в стандартном виде: c 2 x+(2–c)y=c 3 +4 и cx+(2c–1)y=c 5 –2. Сначала найдем значения c, при которых эта система не имеет решений. В силу схемы III имеем условие,

c 2 /с=(2-с)/(2с–1), с не равно (c 3 +4)/(c 5 –2),

которое равносильно системе из уравнения и неравенства

с=(2–с)/(2с–1) и с не равно (c 3 +4)/(c 5 –2).

Решением системы является с=1. Итак, система имеет решения при всех действительных значениях с, кроме с=1.

Ответ. с — любое действительное число, с не равно 1.

Линейные неравенства

Определение. Неравенство вида ax>b, ax b, ax b, отразим в блок-схеме V.

Пример. Для всех значений параметра m решите неравенство 5x–m>mx–3.

Решение. 5x–m>mx–3, (5–m)x>m–3.

Следуя схеме V, рассмотрим три случая для коэффициента при х:

2)если 5–m 5, то x 2. Откуда следует, что решений нет.

Ответ. Если m (m–3)/(5–m); если m=5, то решений нет; если m>5, то х 2 +bx+c=0, где a, b, c — любые действительные числа, a>0, называется квадратным уравнением относительно действительного переменного x.

Ситуации, возникающие при решении квадратных уравнений, отразим в блок–схеме VI.

Пример. При каких значениях параметра c уравнение (c–2)x 2 +2(с–2)x+2=0 не имеет корней?

Решение. Рассмотрим два случая:

1) если с–2 не равно 0, c не равно 2, то D 2 –2(c–2) 2 +(c+4)x+c+7=0 имеет только отрицательные корни?

Решение. В силу условия задачи необходимо рассмотреть два случая (линейный и квадратичный):

1) если c–1=0, c=1, то уравнение примет вид 5x+8=0, x= –5/8 – отрицательный корень;

2) если c–1 не равно 0, c не равно 1, то, следуя схеме VII, получим систему

Решением ее являются промежутки –22/3 2 +bx+c, где a не равно 0, называется квадратичной. График квадратичной функции называется параболой.

Абсциссы точек пересечения параболы y=ax 2 +bx+c с осью (Ox) являются корнями уравнения ax 2 +bx+c=0.

Учитывая это, отразим взаимное расположение параболы и оси (Ox) в следующей схеме:

Замечание. Если уравнение параболы имеет вид y=a(x–p) 2 +q, то (p; q) – координаты вершины параболы.

Пример 1. При каких значениях параметра a вершина параболы y=(x–7a) 2 +a 2 –10+3a лежит в III координатной четверти?

Решение. Пусть (x0, y0) – координаты вершины параболы. В силу замечания имеем x0=7a, y0=a 2 –10+3a. Так как вершина параболы лежит в третьей четверти, то

Ответ. –5

Пример 2. При каких значениях параметра b график функции y=(4–b 2 )x 2 +2(b+2)x–1 лежит ниже оси (Ox)?

Решение. Рассмотрим два случая.

1. Пусть 4–b 2 =0, b= + 2;

1) если b=2, то прямая y=8x–1 не лежит ниже оси (Ox);

2) если b= –2, то прямая y= –1 лежит ниже оси (Ox).

2. Пусть 4–b 2 не равно 0. Тогда в соответствии со схемой VIII получим

Объединяя ответы, получим b 2 +bx+c=0. Введем функцию y(x)= ax 2 +bx+c. Тогда расположение корней этого уравнения на числовой оси отразим в блок–схеме IX.

Следствие. С учетом схемы IX схема VII для знаков корней квадратного уравнения примет следующий вид:

Пример. При каких значениях параметра a корни уравнения x 2 –2(a+3)x+a 2 +6,25a+8=0 больше 2?

Решение. Введем функцию y(x)=x 2 –2(a+3)x+a 2 +6,25a+8; x0 – абсцисса вершины этой параболы. Так как корни уравнения находятся справа от числа 2, то в соответствии со схемой IX имеем:

Решение. Данная задача равносильна следующей: при каких значениях параметра b система

имеет одно решение?

Решим неравенство (2): 2x 2 –2x–1>0, x1,2=0,5(1±(3) 1/2 ), x 1/2 ) или x>0,5(1+(3) 1/2 ).

Найдем корни уравнения (1): D=(2b–7) 2 , x1=2, x2=2b–5. Поскольку корень x1=2 удовлетворяет неравенству (2), то система имеет одно решение в следующих случаях:

1) если x2=2b–5 не удовлетворяет неравенству (2), то 0,5(1–(3) 1/2 ) 1/2 ) или 0,25(11–O3) 1/2 );

Ответ. 0,25(11–(3) 1/2 ) 1/2 ), b=3,5.

Пример 2. При каких значениях параметра p уравнение 5–4sin 2 x–8cos 2 (x/2)=3p имеет корни?

Решение. Преобразуем заданное уравнение:

5– 4sin 2 x–8cos 2 (x/2)=3p => 5–4(1–cos2x)–4(1+cosx)=3p => 4cos 2 x–4cosx–3p–3=0.

Сделаем замену cosx=t. Тогда заданная задача равносильна следующей: при каких значениях p система

4t2–4t–3p–3=0, (1)
-1 2 –4t–3p–3; t0–вершина этой параболы. В силу схемы IX случаи 1, 2 и 3 описываются следующей совокупностью:

Курсовая работа: Программирование системы уравнений

1 Постановка задачи

2 Решение системы уравнения методом Гаусса

3 Решение уравнения методами Ньютона, Хорд

4 Разработка блок схемы решения системы уравнения методом Гаусса

5 Разработка блок схемы решения уравнения методом Ньютона

6 Разработка блок схемы решения уравнения методом Хорд

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

8 Разработка программы решения системы уравнения методом Гаусса при помощи Turbo Pascal

9 Разработка программы решения уравнения методом Ньютона при помощи Turbo Pascal

10 Разработка программы решения уравнения методом Хорд при помощи Turbo Pascal

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

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

Исторически первой была идея структурирования программ, в соответствии с которой программист должен был решить, какие именно процедуры он будет использовать в своей программе, а затем выбрать наилучшие алгоритмы для реализации этих процедур. Появление этой идеи было следствием недостаточной изученности алгоритмической стороны вычислительных процессов, столь характерной для ранних программных разработок (сороковые — пятидесятые годы). Типичным примером процедурно-ориентированного языка является Фортран – первый и всё ещё один из наиболее популярных языков программирования. Последовательное использование идеи процедурного структурирования программ привело к созданию обширных библиотек программирования, содержащих множество сравнительно небольших процедур, из которых, как из кирпичиков, можно строить «здание» программы.

По мере прогресса в области вычислительной математики акцент в программировании стал смещаться с процедур в сторону организации данных. Оказалось, что эффективная разработка сложных программ нуждается в действенных способах контроля правильности использования данных. Контроль должен осуществляться как на стадии компиляции, так и при прогоне программ, в противном случае, как показала практика, резко возрастают трудности создания крупных программных проектов. Отчётливое осознание этой проблемы привело к созданию Ангола-60, а позже Паскаля, Модулы-2, Си и множества других языков программирования, имеющих более или менее развитые структуры типов данных. Логическим следствием развития этого направления стал модульный подход к разработке программ, характеризующийся стремлением «спрятать» данные и процедуры внутри модуля.

Начиная с языка Симула-67, в программировании наметился новый подход, который получил название объектно-ориентированного программирования (в дальнейшем ООП). Его руководящая идея заключается в стремлении связать данные с обрабатывающими эти данные процедурами в единое целое – объект. Характерной чертой объектов является инкапсуляция (объединение) данных и алгоритмов их обработки, в результате чего и данные, и процедуры во многом теряют самостоятельное значение.

1 Постановка задачи

Цель решения задачи курсовой работы – автоматизация решения системы уравнения методом Гаусса, а так же решения уравнения методами Хорд и Ньютона.

Выходная информация задачи выводиться на экран монитора.

Входная информация задачи поступает путем ввода пользователем данных для решения поставленной задачи

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

2 Решение системы уравнения методом Гаусса

Метод Гаусса— классический метод решения системы линейных алгебраических уравнений (СЛАУ). Состоит в постепенном понижении порядка системы и исключении неизвестных.

Хотя в настоящее время данный метод повсеместно называется методом Гаусса, он был известен и до К. Ф. Гаусса. Первое известное описание данного метода — в китайском трактате «Математика в девяти книгах», составленном между I в. до н.э. и II в. н. э.

Описание метода

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

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

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

Если , то рассматриваемая система несовместна.

Предположим, что .

Перенесём свободные переменные за знаки равенств и поделим каждое из уравнений системы на свой коэффициент при самом левом (, где — номер строки):

,

где

Если свободным переменным системы (2) придавать все возможные значения и вычислить через них главные переменные, то мы получим все решения. Так как эта система получена путём элементарных преобразований над исходной системой (1), то по теореме об эквивалентности при элементарных преобразованиях полученное нами решение является решением системы (1).

1: Если в совместной системе все переменные главные, то такая система является определённой.

2: Если количество переменных в системе превосходит число уравнений, то такая система является либо неопределённой, либо несовместной.

Условие совместности.

Упомянутое выше условие может быть сформулировано в качестве необходимого и достаточного условия совместности:

Напомним, что рангом совместной системы называется ранг её основной матрицы (либо расширенной, так как они равны).

Алгоритм решения СЛАУ методом Гаусса подразделяется на два этапа.

1) На первом этапе осуществляется так называемый прямой ход, когда путём элементарных преобразований над строками систему приводят к ступенчатой или треугольной форме, либо устанавливают, что система несовместна. А именно, среди элементов первого столбца матрицы выбирают ненулевой, перемещают его на крайнее верхнее положение перестановкой строк и вычитают получавшуюся после перестановки первую строку из остальных строк, домножив её на величину, равную отношению первого элемента каждой из этих строк к первому элементу первой строки, обнуляя тем самым столбец под ним. После того, как указанные преобразования были совершены, первую строку и первый столбец мысленно вычёркивают и продолжают пока не останется матрица нулевого размера. Если на какой-то из итераций среди элементов первого столбца не нашёлся ненулевой, то переходят к следующему столбцу и проделывают аналогичную операцию.

2) На втором этапе осуществляется так называемый обратный ход, суть которого заключается в том, чтобы выразить все получившиеся базисные переменные через небазисные и построить фундаментальную систему решений либо, если все переменные являются базисными, то выразить в численном виде единственное решение системы линейных уравнений. Эта процедура начинается с последнего уравнения, из которого выражают соответствующую базисную переменную (а она там всего одна) и подставляют в предыдущие уравнения, и так далее, поднимаясь по «ступенькам» наверх. Каждой строчке соответствует ровно одна базисная переменная, поэтому на каждом шаге, кроме последнего (самого верхнего), ситуация в точности повторяет случай последней строки.

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

3) Обратный ход. Из последнего ненулевого уравнения выражаем базисную переменную через небазисные и подставляем в предыдущие уравнения. Повторяя эту процедуру для всех базисных переменных, получаем фундаментальное решение.

Помимо аналитического решения СЛАУ, метод Гаусса также применяется для:

1) нахождения матрицы, обратной к данной (к матрице справа приписывается единичная такого же размера, что и исходная: , после чего приводится к виду единичной матрицы методом Гаусса—Жордана; в результате на месте изначальной единичной матрицы справа оказывается обратная к исходной матрица: );

2) определения ранга матрицы (согласно следствию из теоремы Кронекера—Капелли ранг матрицы равен числу её главных переменных);

3) численного решения СЛАУ в вычислительной технике (ввиду погрешности вычислений используется Метод Гаусса с выделением главного элемента, суть которого заключена в том, чтобы на каждом шаге в качестве главной переменной выбирать ту, при которой среди оставшихся после вычёркивания очередных строк и столбцов стоит максимальный по модулю коэффициент).

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

Система т линейных уравнений с п неизвестными имеет вид:

bi — свободные члены (или правые части)

Система линейных уравнений называется совместной , если она имеет решение, и несовместной , если она не имеет решения.

Совместная система называется определенной , если она имеет единственное решение и неопределенной , если она имеет бесчисленное множество решений.

Две совместные системы называются равносильными , если они имеют одно и то же множество решений.

К элементарным преобразованиям системы отнесем следующее:

1) перемена местами двух любых уравнений;

2) умножение обеих частей любого из уравнений на произвольное число, отличное от нуля;

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

Элементарные преобразования переводят систему уравнений в равносильную ей.

Элементарные преобразования системы используются в методе Гаусса.

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

( 1 )

1-ый шаг метода Гаусса.

На первом шаге исключим неизвестное х1 из всех уравнений системы (1), кроме первого. Пусть коэффициент . Назовем его ведущим элементом. Разделим первое уравнение системы (1) на а11 . Получим уравнение:

( 2 )

где

Исключим х1 из второго и третьего уравнений системы (1). Для этого вычтем из них уравнение (2), умноженное на коэффициент при х1 (соответственно а 21 и а 31 ).

Система примет вид:

( 3 )

Верхний индекс (1) указывает, что речь идет о коэффициентах первой преобразованной системы.

2-ой шаг метода Гаусса.

На втором шаге исключим неизвестное х2 из третьего уравнения системы (3). Пусть коэффициент . Выберем его за ведущий элемент и разделим на него второе уравнение системы (3), получим уравнение:

( 4 )

где

Из третьего уравнения системы (3) вычтем уравнение (4), умноженное на Получим уравнение:

Предполагая, что находим

В результате преобразований система приняла вид:

(5)

Система вида (5) называется треугольной.

Процесс приведения системы (1) к треугольному виду (5) (шаги 1 и 2) называют прямым ходом метода Гаусса.

Нахождение неизвестных из треугольной системы называют обратным ходом метода Гаусса.

Для этого найденное значение х3 подставляют во второе уравнение системы (5) и находят х2 . Затем х2 и х3 подставляют в первое уравнение и находят х1 .

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

Отсюда другое называние метода Гаусса – метод последовательного исключения неизвестных.

Если в ходе преобразований системы получается противоречивое уравнение вида 0 = b, где b¹ 0, то это означает, что система несовместна и решений не имеет.

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

Треугольная система имеет вид:

Такая система имеет единственное решение, которое находится в результате проведения обратного хода метода гаусса.

Ступенчатая система имеет вид:

Такая система имеет бесчисленное множество решений. Чтобы найти эти решения, во всех уравнениях системы члены с неизвестными хk +1 , … , xk переносят в правую часть. Эти неизвестные называются свободными и придают им произвольные значения. Из полученной треугольной системы находим х1 , … , xk , которые будут выражаться через свободные неизвестные. Подробнее об этом можно узнать в рекомендуемой литературе.

Рассмотренный метод Гаусса легко программируется на ЭВМ и является более экономичным (по числу действий), чем другие методы.

3 Решение уравнения методами Ньютона, Хорд

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

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

линейный уравнение хорда гаусс ньютон

, , если

, , если

, ,

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

Название: Программирование системы уравнений
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа Добавлен 14:01:42 05 февраля 2011 Похожие работы
Просмотров: 5189 Комментариев: 21 Оценило: 3 человек Средний балл: 4.7 Оценка: неизвестно Скачать
Рис. 1. Метод хордРис.2. Метод касательных

Здесь вычисляются значения функции на концах отрезка и строится “хорда”, соединяющая точки (a, f(a)) и (b, f(b)). Точка пересечения ее с осью абсцисс

принимается за очередное приближение к корню. Анализируя знак f(z) в сопоставлении со знаком f(x) на концах отрезка, сужаем интервал до [a,z] или [z,b] и продолжаем процесс построения хорд до тех пор, пока разница между очередными приближениями не окажется достаточно малой (в пределах допустимой погрешности) |Zn -Zn-1 | * — корень уравнения, Zn и Zn+1 — очередные приближения, m и M – наименьшее.

Пусть корень уравнения отделен на отрезке [a, b], причем и непрерывны и сохраняют определенные знаки при . Если на некотором произвольном шаге n найдено приближенное значение корня , то можно уточнить это значение по методу Ньютона. Положим

(1)

где считаем малой величиной. Применяя формулу Тейлора, получим:

Внеся эту поправку в формулу (1), найдем следующее (по порядку) приближение корня

Геометрически метод Ньютона эквивалентен замене дуги кривой касательной, проведенной в некоторой точке кривой. В самом деле, положим для определенности, что при и (см. рис.).

Выберем, например, , для которого . Проведем касательную к кривой в точке B0 с координатами.

В качестве первого приближения корня возьмем абсциссу точки пересечения касательной с осью Ox. Через точку снова проведем касательную, абсцисса точки пересечения которой даст второе приближение корня и т.д.

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

Имеем

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

Тогда

или для любого шага n

.

В качестве начальной точки можно принять либо один из концов отрезка [a, b], либо точку внутри этого интервала. В первом случае рекомендуется выбирать ту границу, где выполняется условие

т.е. функция и ее вторая производная в точке должны быть одного знака.

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

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

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

4 Разработка блок схемы решения системы уравнения методом Гаусса

5 Разработка блок схемы решения уравнения методом Ньютона

6 Разработка блок схемы решения уравнения методом Хорд

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

Turbo Pascal является реализацией Pascal’я. Самая первая версия Pascal быля разработана на кафедре информатики Стэндфордского университета швейцарским ученым Николаусом Виртом в 1968 году.

С момента появления Pascal на рынке продуктов прошло много времени прежде чем он получил всеобщее признание. В середине 80-х годов американской фирмой Borland International, Inc была создана реализация языка Pascal, известная и по сей день под именем Turbo Pascal. Эта фирма объединила очень быстрый компилятор с редактором текста и добавила к стандартному Паскалю мощное расширение, что способствовало успеху первой версии этого языка.

В 1985 году на рынке ПЭВМ появился язык программирования Турбо Паскаль (версия 3.0) с компилятором стандартного Паскаля. С тех пор Паскаль стал применяться в общеобразовательных, профессионально-технических школах и в сфере высшего образования в качестве «первого» языка программирования. Благодаря простоте использования язык Турбо Паскаль получил широкое распространение и в любительских кругах. Повышению популярности Турбо Паскаля способствовал набор небольших сопутствующих программ (Toos), позволяющих получать чрезвычайно компактную, быструю и легко читаемую программу. Эти качества Турбо Паскаля были высоко оценены и в среде профессиональных программистов. Встроенный редактор текста использует достаточно широко распространенную систему команд, берущую начало от пакета WordStar и хорошо знакомую каждому, кто интенсивно использует ПЭВМ.

В появившемся со временем пакете Турбо Паскаль 4.0 было устранено большинство подвергавшихся критике ограничений компилятора и была повышена производительность системы. Кроме того, новый компилятор версии 4.0 имел существенные отличия от предыдущей версии. Наиболее важным нововведением была ИNIТ-концепция, заимствованная из языка Модула-2. Это дало возможность реализовать в рамках ТП разработку крупных программных продуктов.

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

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

Кроме того, в ТП 5.0 были расширены возможности отладки программ и обеспечена возможность поддержки расширенной памяти в стандарте Lotus-Intel-Microsoft (SLIMS/EMS 4.0). Сокращение EMS обозначает Expanded Memory Specification (спецификация расширенной памяти). Нельзя путать этот вид дополнительной памяти с другим — Extended Memory. EMS имеется на обычных ПЭВМ класса XT, в то время как Extended Memory — только на машинах АТ-класса (с процессором 286, 386 и выше) при объеме памяти свыше 1 Мбайта.

В этой версии были также исправлены и улучшены библиотеки графических процедур, поставляемые вместе с пакетом ТП и обеспечивающие полную совместимость с графическими адаптерами класса VGA (Video Graphics Array).

В рамках версии ТП 5.5 были осуществлены дальнейшие преобразования в направлении улучшения технических характеристик пакета. Наряду с внутренними улучшениями и новыми возможностями встроенной справочной системы Help, а также большим набором учебных примеров, важным нововведением явилась реализация в языке концепции объектно-ориентированного программирования (ООП).

Через некоторое время на рынке появился ТП 6.0, в котором теоретическая концепция объектно-ориентированного программирования была реализована практически с полным набором объектов, которые могли использоваться для решения прикладных задач. Кроме того, реализация системы меню приведена в соответствие со стандартом SAA (Turbo Vision). В качестве практического примера использования новых возможностей был реализован текстовый редактор, встроенный в IDE

Integrated Development Environment — интегрированную инструментальную оболочку. При этом сторонники программирования на ТП 6.0 получили возможность не только работать со встроенным многооконным текстовым редактором, но и использовать мышь, которая значительно облегчает работу пользователя.

В 1992 году фирма Borland International представила пользователям очередную версию языка Паскаль — Турбо Паскаль 7.0. Наряду со всеми преимуществами, которые унаследованы от предыдущей версии (многооконный режим работы, возможность использования мыши, возможность использования языка программирования низкого уровня Ассемблер, возможность создавать объектно-ориентированные программы), в ТП 7.0 были произведены изменения и улучшения. Во-первых: появилась возможность выделять определенным цветом различные элементы исходного текста (зарезервированные слова, идентификаторы, числа и т. д.), позволяющая даже неопытным пользователям устранять ошибки на этапе ввода исходного текста. Во-вторых: язык программирования ТП 7.0 был расширен (появилась возможность использовать типизированный адресный оператор, открытые массивы и строки и т. д.), что предоставило пользователю дополнительные возможности при решении повседневных задач. В-третьих: был улучшен компилятор, вследствие чего «коды программ» стали более эффективными. В-четвертых: был улучшен интерфейс пользователя. Кроме того, в ТП 7.0 расширены возможности объектно-ориентированного программирования (в частности, расширены и улучшены возможности Turbo Vision).

8 Разработка программы решения системы уравнения методом Гаусса при помощи Turbo Pascal

A:array[1..N,1..N] of real = ((9.1, 5.6, 7.8),

Алгоритмы

Алгоритмы. Разработка алгоритма решения задачи

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

Отказ от языка блок-схем при разработке алгоритма и разработка алгоритма сразу на языке программирования приводит к значительным потерям времени, к выбору неоптимального алгоритма. Поэтому необходимо изначально разработать алгоритм решения задачи на языке блок-схем, после чего алгоритм перевести на язык программирования.

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

В процессе разработки алгоритма решения задачи можно выделить следующие этапы:

  • Этап 1 . Математическое описание решения задачи.
  • Этап 2 . Определение входных и выходных данных.
  • Этап 3 . Разработка алгоритма решения задачи.

Базовые алгоритмические конструкции

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

  • следование (линейный алгоритм);
  • ветвление (разветвляющийся алгоритм);
  • цикл-пока (циклический алгоритм).

Линейные алгоритмы

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

Пример

ЗАДАЧА. Разработать алгоритм вычисления гипотенузы прямоугольного треугольника по известным значениям длин его катетов a и b.

На примере данной задачи рассмотрим все три этапа разработки алгоритма решения задачи:

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

Математическим решением задачи является известная формула:

,

где с-длина гипотенузы, a, b – длины катетов.

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

Входными данными являются значения катетов a и b. Выходными данными является длина гипотенузы – c.

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

На данной схеме цифрами указаны номера элементов алгоритма, которые соответствуют номерам пунктов словесного описания алгоритма.

Разветвляющиеся алгоритмы

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

Пример

ЗАДАЧА. Разработать алгоритм вычисления наибольшего числа из двух чисел x и y.

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

Из курса математики известно, если x > y, то наибольшее число x, если x y, то переход к шагу 6, иначе к шагу 7.

  • Вывод информации: число x больше y. Переход к шагу 8.
  • Вывод информации: число y больше x. Переход к шагу 8.
  • Конец алгоритма.
  • В схеме алгоритма решения задачи цифрами указаны номера элементов алгоритма, которые соответствуют номерам шагов словесного описания алгоритма

    В рассматриваемом алгоритме (рис.3) имеются три ветви решения задачи:

    • первая: это элементы 1, 2, 3, 4, 8.
    • вторая: это элементы 1, 2, 3, 5, 6, 8
    • третья: это элементы 1, 2, 3, 5, 7, 8.

    Выбор ветви определяется значениями x и y в элементах 3 и 5, которые являются условиями, определяющими порядок выполнения элементов алгоритма. Если условие (равенство), записанное внутри символа «решение», выполняется при введенных значениях x и y, то следующими выполняется элементы 4 и 8. Это следует из того, что они соединены линией с надписью «да» и направление (последовательность) вычислений обозначена стрелочкой.

    Если условие в элементе 3 не выполняется, то следующим выполняется элемент 5. Он соединен с элементом 3 линией с надписью «нет». Если условие, записанное в элементе 5, выполняется, то выполняется элементы 6 и 8, в противном случае выполняются элементы 7 и 8.

    Циклические алгоритмы

    Циклический алгоритм определяет повторение некоторой части действий (операций), пока не будет нарушено условие, выполнение которого проверяется в начале цикла. Совокупность операций, выполняемых многократно, называется телом цикла.

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

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

    • параметр цикла – величина, с изменением значения которой связано многократное выполнение цикла;
    • начальное и конечное значения параметров цикла;
    • шаг цикла – значение, на которое изменяется параметр цикла при каждом повторении.

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

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

    • начальные значения цикла;
    • конечные значения цикла;
    • шаг цикла.

    В тело цикла входят:

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

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

    Пример

    ЗАДАЧА. Разработать алгоритм вычисления суммы натуральных чисел от 1 до 100.

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

    Обозначим сумму натуральных чисел через S. Тогда формула вычисления суммы натуральных чисел от 1 до 100 может быть записана так:

    где Xi – натуральное число X c номером i, который изменяется от 1 до n, n=100 – количество натуральных чисел.

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

    Входными данными являются натуральные числа: 1, 2, 3, 4, 5, …, 98, 99, 100.

    Выходные данные – значение суммы членов последовательности натуральных чисел.

    Параметр цикла величина, определяющая количество повторений цикла. В нашем случае i – номер натурального числа.

    Подготовка цикла заключается в задании начального и конечного значений параметра цикла.

    • начальное значение параметра цикла равно 1,
    • конечное значение параметра цикла равно n,
    • шаг цикла равен 1.

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

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

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

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

    Введем обозначения: S – сумма последовательности, i – значение натурального числа.

    Начальное значение цикла i=1, конечное значение цикла i =100, шаг цикла 1.


    источники:

    http://www.bestreferat.ru/referat-201710.html

    http://www.turbopro.ru/index.php/osnovy-programmirovaniya/6836-algoritmy-razrabotka-algoritma-resheniya-zadachi

    Словесное описание алгоритмаЗапись алгоритма на языке блок-схем
    1. Начало алгоритма.
    2. Ввод значений длин катетов a и b.
    3. Вычисление длины гипотенузы с по формуле
    4. Вывод значения длины гипотенузы.
    5. Конец алгоритма