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

Автор работы: Пользователь скрыл имя, 10 Февраля 2011 в 19:43, курсовая работа

Описание работы

Основной целью написания этой курсовой работы была разработка программного продукта осуществляющего решение систем линейных уравнений. Для написания программного продукта была выбрана среда программирования Delphi от компании Borland версии 7.

Файлы: 1 файл

Курсовая 1 кан.doc

— 95.00 Кб (Скачать файл)

Министерство  образования и науки Российской Федерации

Филиал  Владивостокского государственного университета

экономики и сервиса в г. Артеме

Кафедра информационных систем и компьютерных технологий 
 
 
 
 
 
 
 

Курсовая  работа

по дисциплине: высокоуровневые методы обработки информации и

программирования 
 

тема:    Решение систем линейных уравнений 
 
 
 

              Выполнил: студент группы ИПИ-05-01

                    Вербицкий М.С. 

              Проверил: ассистент кафедры ИСКТ

                    Кан Н.Э. 
               
               
               
               
               
               
               
               

Артем 2007 

Техническое задание

Общая часть:

  1. Разработать алгоритм решения поставленной задачи, используя методы объектно-ориентированного программирования.
  2. Описать объектную модель поставленной задачи.
  3. Предоставить исходный программный код.

Задание:

Написать  программу осуществляющую решение систем линейных уравнений. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Содержание

Приложение №1 (дискета с программным продуктом)………………………..

Приложение  №2 (текст программы на языке Borland Delphi 7)………………. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение

     Основной целью  написания этой курсовой работы была разработка программного продукта осуществляющего решение систем линейных уравнений.   Для написания программного продукта была выбрана среда программирования  Delphi от компании Borland версии 7. 

 

1. Среда программирования

     MS-Windows предоставляет пользователям оболочку  графического интерфейса (GUI), которая  обеспечивает стандартную среду  пользователя и программиста. (GUI) предлагает более сложное и  дружелюбное окружение пользователя, чем командно-управляемый интерфейс DOS. Работа в Windows основана на интуитивно понятных принципах. Вам легко переключиться с задачи на задачу и осуществлять обмен информацией между ними. Однако разработчики приложений традиционно сталкиваются с трудностями программирования, поскольку организация среды Windows является чрезвычайно сложной.

     Delphi - язык и среда программирования, относящаяся к классу RAD- (Rapid Application Development - “Средство быстрой разработки приложений”) средств CASE - технологии. Delphi сделала разработку мощных приложений Windows быстрым процессом, доставляющим вам удовольствие. Приложения Windows, для создания которых требовалось большое количество человеческих усилий например в С++, теперь могут быть написаны одним человеком, использующим Delphi.

     Интерфейс Windows обеспечивает полное перенесение CASE-технологий в интегрированную систему поддержки работ по созданию прикладной системы на всех фазах жизненного цикла работы и проектирования системы.

     Delphi обладает широким набором возможностей, начиная от проектировщика форм и кончая поддержкой всех форматов популярных баз данных. Среда устраняет необходимость программировать такие компоненты Windows общего назначения, как метки, пиктограммы и даже диалоговые панели. Работая вы неоднократно видели одинаковые “объекты” во многих разнообразных приложениях. Диалоговые панели (например Choose File и Save File) являются примерами многократно используемых компонентов, встроенных непосредственно в Delphi, который позволяет приспособить эти компоненты к имеющийся задаче, чтобы они работали именно так, как требуется создаваемому приложению. Также здесь имеются предварительно определенные визуальные и невизуальные объекты, включая кнопки, объекты с данными, меню и уже построенные диалоговые панели. С помощью этих объектов можно, например, обеспечить ввод данных просто несколькими нажатиями кнопок мыши, не прибегая к программированию. Это наглядная реализация применений CASE-технологий в современном программировании приложений. Та часть, которая непосредственно связана с программированием интерфейса пользователя системой получила название визуальное программирование

     Выгоды  от проектирования АРМ в среде Windows с помощью Delphi:

  • Устраняется необходимость в повторном вводе данных;
  • Обеспечивается согласованность проекта и его реализации;
  • Увеличивается производительность разработки и переносимость программ.

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

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

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

2. Разработка программного  продукта

      Объектно-ориентированное  программирование имеет одно неоспоримое  преимущество: способ создания программы путем “сбора ее по кусочкам” очень прост и нагляден. Чтобы использовать объект, достаточно перетащить его на форму и с ним уже можно работать. Визуальный интерфейс прост в освоении, к тому же среда сама создает “скелет” будущего программного продукта, освобождая программиста от необходимости писать все вручную, чем очень упрощает работу. Прежде чем начать писать программу необходимо разместить на форме все компоненты (объекты), которые собираемся использовать и представить приблизительный алгоритм ее работы. Алгоритм работы следующий.

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

      При запуске программы первым делом  происходит создание формы со всем что на ней находится (FormCreate), создание и заполнение таблицы (пустые ячейки заполняются символом “-”) 

      procedure TForm1.FormCreate(Sender: TObject);

      var

      i,j:integer;

      begin

        stringgrid1.Cells[0,0]:=' ';

        stringgrid1.Cells[1,0]:='mi';

        stringgrid1.Cells[2,0]:='X1';

        …

        for j:=1 to 6 do

        begin

          for i:=1 to 7 do

          begin

            stringgrid1.Cells[i,j]:='-';

          end;

        end;

      end; 

      При нажатии кнопки “Выход” – происходит выход из программы (закрытие формы) 

      procedure TForm1.Button2Click(Sender: TObject);

      begin

        Form1.Close;

      end; 

      Далее следует заполнить соответствующие  поля числами. После нажатии кнопки “Считать” происходит зануление используемых переменных, заполнение расчет и заполнение таблицы:

      procedure TForm1.Button1Click(Sender: TObject);

      var

      

      begin

        i:=0;

        j:=0;

        k:=0;

        sto:=0;

        str:=0;

        sto1:=0;

        str1:=0;

        m:=0;

        x1:=0;

        x2:=0;

        x3:=0;

       

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

      1)сначала  в таблицу вносятся введенные  ранее числа (строки А) и  находится наибольшее: 

        stringgrid1.Cells[2,1]:=Edit1.text;

        stringgrid1.Cells[3,1]:=Edit2.text;

        …

        stringgrid1.Cells[5,3]:=Edit12.text;

        …

        for j:=1 to 3 do

        begin

          for i:=2 to 4 do

          begin

            if strtofloat(stringgrid1.Cells[i,j])>m then

            begin

              m:=strtofloat(stringgrid1.Cells[i,j]);

              sto:=i;

              str:=j;

            end;

          end;

        end; 

      2)Заполняет mi и Е в строках А: 

        for j:=1 to 3 do

        begin

          stringgrid1.Cells[1,j]:=floattostr((strtofloat(stringgrid1.Cells[sto,j]))/m);

          stringgrid1.Cells[6,j]:=floattostr((strtofloat(stringgrid1.Cells[2,j]))+(strtofloat

          (stringgrid1.Cells[3,j]))+(strtofloat(stringgrid1.Cells[4,j]))+(strtofloat(stringgrid1.Cells[5,j

        end; 

      3)После  соответствующих вычислений заполняются  строки В: 

        for j:=1 to 3 do

        begin

          for i:=2 to 6 do

          begin

            if (i<>sto) and (j<>str) then

            begin

              k:=k+1;

              if k<=4 then

              begin

                if k=4 then

                begin stringgrid1.Cells[7,4]:=floattostr(strtofloat(stringgrid1.Cells[i,str])*strtofloat(stringgrid1.Cells[1,j])+strtofloat(stringgrid1.Cells[i,j]));

                end

                else

       

      4)Аналогичным методом из значений строк В находится строка С.

      5)После  этого происходит вычисление  X1, X2, X3. В зависимости от того какой X вычисляется первым, программа определяет способ нахождения остальных X: 

        x1:=(strtofloat(stringgrid1.Cells[5,6]))/(strtofloat(stringgrid1.Cells[sto2,6]));

Информация о работе Решение систем линейных уравнений