Программная реализация методов решения системы линейных уравнений

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    83,18 Кб
  • Опубликовано:
    2012-04-24
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Программная реализация методов решения системы линейных уравнений

Содержание

Введение

Раздел 1. Специальная часть

.1 Системы линейных алгебраических уравнений

.2 Решение линейных алгебраических систем

.3 Матричный метод решения систем линейных уравнений

.4 Решение задачи математическим методом

.5 Блок-схема алгоритма

.6 Характеристика ЭВМ, ОС и алгоритмического языка программирования

.7 Листинг программы

Раздел 2. Охрана труда

.1 Требования безопасности перед началом работы на персональном компьютере

.2 Требования безопасности во время работы на персональном компьютере

.3 Требования безопасности после окончания работы на персональном компьютере

Раздел 3. Экономическая часть

.1 Расчет трудоемкости разработки программы

.2 Расчет себестоимости программы

.2.1 Расчет расходных материалов

.2.2 Расчет заработной платы с начислениями

.2.3 Расчет расходов на электроэнергию

.2.4 Расчет цеховых, общехозяйственных и внепроизводственных расходов

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

.3 Расчет отпускной цены

.4 Расчет показателей экономической эффективности программного продукта

Заключение

Иллюстрация работы программы

Список литературы

Введение


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

Дипломный проект состоит из трех частей:

.        Специальная часть;

.        Охрана труда;

.        Экономическая часть;

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

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

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

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

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

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

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

Условие итерационного процесса:

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

 

Раздел 1. Специальная часть


1.1 Системы линейных алгебраических уравнений


Многие задачи экономического характера сводятся к решению систем линейных уравнений. Систему [1] вида


принято называть системой n линейных алгебраических уравнений (СЛАУ) с n неизвестными. При этом произвольные числа aij (i = 1, 2,…, n; j = 1, 2,…, n) называются коэффициентами системы (коэффициентами при неизвестных), а числа bi (i = 1, 2,…, n) - свободными членами. Такая форма записи (1) алгебраической линейной системы называется нормальной. Решением СЛАУ (1) называется совокупность чисел xi (i = 1, 2,…, n), при подстановке которых в систему каждое из ее уравнений обращается в тождество.

Систему (1) можно записать в матричной форме

A ´ X = B,

где A - матрица коэффициентов при неизвестных (матрица системы):

X - вектор-столбец неизвестных X = (x1, x2, …, xn)T:

- вектор-столбец свободных членов:


или B = (b1, b2,..., bn)T. Целое число n называется размерностью системы.

Система (2) может быть записана в развернутом виде


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

1.2 Решение линейных алгебраических систем


Вопросы исследования СЛАУ (6) на совместность оставим за пределами нашего рассмотрения. Все же методы решения линейных алгебраических систем принято делить на два класса: прямые и итерационные. Прямыми называются методы решения СЛАУ, которые приводят к решению за конечное число арифметических операций. В случае точной реализации операций решение будет точным, поэтому и прямые методы иногда называют точными. Итерационными методами называют такие методы, в которых точное решение может быть получено за счет реализации многократно повторяющихся действий (итераций). Эффективность способов решения системы (6) во многом определяется свойствами матрицы (3) A (размерностью, симметричностью, заполненностью и т.д.). MS Excel располагает рядом возможностей для работы с матрицами.

 

.3 Матричный метод решения систем линейных уравнений.


Пусть дана система линейных уравнений:

Рассмотрим матрицу, составленную из коэффициентов при неизвестных:

Свободные члены и неизвестные можно записать в виде матрицы столбцов:

Тогда, используя правило умножение матриц, эту систему уравнений можно записать так:

или

·x = b. (1)

Равенство (1) называется матричным уравнением или системой уравнений в матричном виде.

Матрица А коэффициентов при неизвестных называется главной матрицей системы.

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

Любую линейную систему уравнений можно записать в матричном виде. Например, пусть дана система:

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

Запишем эту систему в матричном виде:

Здесь главная матрица системы:

Расширенная матрица будет иметь вид:

Решения матричных уравнений.

Матричные уравнения решаются при помощи обратных матриц. Уравнение решается следующим образом. Пусть матрица А - невырожденная (D ? 0), тогда существует обратная матрица А-1. Умножив на нее обе части матричного уравнения, имеем А-1(АХ) = А-1В. Используя сочетательный закон умножения, перепишем это равенство в виде

(А-1А) Х = А-1В.

Поскольку А-1 А = Е и ЕХ = Х, находим:

Х = А-1В.

Таким образом, чтобы решить матричное уравнение, нужно:

. Найти произведение обратной матрицы А-1 на матрицу столбец свободных членов В, т. е А-1В.

Пользуясь определением равных матриц, записать ответ.

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

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

 

.4 Решение задачи математическим методом


Метод Крамера.

При решении систем линейных уравнений по методу Крамера последовательно выполняется следующий алгоритм:

. Записывают систему в матричном виде (если это еще не сделано).

. Вычисляют главный определитель системы:

. Вычисляют все дополнительные определители системы:

. Если главный определитель системы не равен нулю, то выполняют пункт 5. Иначе рассматривают вопрос о разрешимости данной системы (имеет бесчисленное множество решений или не имеет решений). Находят значения всех неизвестных по формулам Крамера для решения системы n линейных уравнений с n неизвестными, которые имеют вид:

Пример 1

Решить по методу Крамера систему из трех уравнений с тремя неизвестными:

Решение

Запишем главный и побочные определители системы:

Вычислим эти определители:

Д = 3*4*(-4)+7*(-3)*5+(-2)*(-8)*5-5*4*5-3*(-3)*(-8)-7*(-2)*(-4) = 48-105+80-100-72-56 = 128-333 = -205.

Д1 = -112+(-45)+(-192)-(-240)-24-168 = -112-45-192+240-24-168 = 240-541 = -301.

Д2 = -36-420-280-75+196-288 = 196-1099 = -903.

Д3 = -144-147-30-140+27-168 = -629+27 = -602.

Главный определитель системы не равен нулю. Находим неизвестные по формулам Крамера.

Подставим найденные значения определителей в формулы Крамера:= Д1/Д = -301/(-205) = 1,468292682927 ? 1,47;= Д2/Д = -903/(-205) = 4,40487804878 ? 4,4;= Д3/Д = -602/(-205) = 2,936585365854 ? 2,93.

Вывод.

При решении систем линейных уравнений по методу Крамера используются формулы, в которых участвуют как главный, так и дополнительные определители системы:

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

Если в главном определителе системы заменить поочередно столбцы коэффициентов при x1, x2,...xn на столбец свободных членов, то получим n дополнительных определителей (для каждого из n неизвестных):

При этом важен вопрос о разрешимости данной системы, который решается сравнением главного и дополнительных определителей системы с нулем:

Метод Гаусса - прямой и обратный ход.

Рассмотрим метод Гаусса. Например, пусть дана расширенная матрица некоторой системы m линейных уравнений c n неизвестными:

Будем считать, что a11 ? 0 (если это не так, то достаточно переставить первую и некоторую другую строку расширенной матрицы местами). Проведем следующие элементарные преобразования:

-(a21/a11)*C1,

...

(am1/a11)*C1,

т.е. Ci-(ai1/a11)*C1, i = 2, 3, ..., m.

Т. е. от каждой строки расширенной матрицы (кроме первой) отнимаем первую строку, умноженную на частное от деления первого элемента этой строки на диагональный элемент а11.

В результате получим матрицу:

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

Теперь наша задача состоит в том, чтобы получить нули подо всеми диагональными элементами матрицы А - aij, где I = j.

Повторим наши элементарные преобразования, но уже для элемента б22.

C1-(a12/б22)*C2,

...(бm2/б22)*C2,

т.е. Ci-(бi2/б22)*C2, i = 3, ..., m.

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

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

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

гmn*xn = дm.

Отсюда легко можно найти значение первого корня - xn = дm/гmn.

Подставив это значение в предыдущее m-1-е уравнение, легко получим значение xn-1-ого корня.

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

Пример 1

Рассмотрим систему уравнений:

Главный определитель данной системы:

Д = [1*(-4)*(-2)+2*2*1+(-1)*(-1)*(-1)]-[1*(-4)*(-1)+2*(-1)*(-2)+2*(-1)*1] = [8+4-1]-[4+4-2] = 11-6 =5,

т. е. Д ? 0.

Т. е. система определена и разрешима. Решим ее по методу Гаусса.

Проведем прямой ход метода Гаусса, выписав предварительно расширенную матрицу системы:

Получим нули под главной диагональю в первом столбце расширенной матрицы. Для получения нуля в элементе a21 (т. е. под диагональю во второй строке матрицы) вторую строку матрицы преобразуем по формуле C2-(a21/a11)*C1 = C2-(2/1)*C1 = C2-2*C1:

Аналогично поступаем и с элементом а31 (т. е. под диагональю в третьей строке матрицы). Третью строку матрицы преобразуем по формуле C3-(a31/a11)*C1 = C3-(-1/1)*C1 = C3+C1:

Таким образом, мы получили нули под главной диагональю в первом столбце расширенной матрицы. Осталось получить нуль под главной диагональю во втором столбце матрицы, т. е. на месте элемента а32. Для этого третью строку матрицы преобразуем по формуле C3-(a32/a22)*C2 = C3-(1/-2)*C2 = C3+1/2C2:

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

Эта матрица эквивалентна системе:

Обратным ходом метода Гаусса найдем корни системы. Из последнего уравнения найдем корень х3:

/2x3 = 3/2,= (3/2):(-5/2) = 3/2*(-2/5) = -3/5.

Корень x3 = -3/5 найден. Подставим его в верхнее (второе) уравнение системы (-2x2-3x3 = 1):

x2-3(-3/5) = 1,

x2+9/5 = 1,

x2 = 1-9/5,

x2 = -4/5,= (-4/5):(-2) = (-4/5)*(-1/2) = 2/5.

Корень x2 = 2/5 найден. Подставим его и корень х3 в верхнее (первое) уравнение системы (x1-x2+x3 = 0):-2/5+(-3/5) = 0,-5/5 = 0,= 5/5 = 1.

Проверка:

т. е.

и т. д.

Вывод.

Итак, метод Гаусса (или, иначе, метод последовательного исключения неизвестных) состоит в следующем:

. Путем элементарных преобразований систему уравнений приводят к эквивалентной ей системе с верхне-треугольной матрицей. Эти действия называют прямым ходом.

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

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

1.5 Блок-схема алгоритма

 

1.6 Характеристика ЭВМ, ОС и алгоритмического языка программирования


Проект был разработан на ЭВМ со следующими техническими характеристиками:

ü  Процессор AMD Athlon 64 x24400+

ü  Оперативная память DDR 2.1 Gb

ü  Жесткий диск Seagate SATA Barracuda 7200 160 Gb

ü  Видеокарта ASUS EN8500GT SILENT 512Mb

ü  Звук АС’97

ü  CD-ROM SONY-NEC AD7173S

Программное обеспечение, установленное на компьютере:

ü  Операционная система Windows XP Professional

ü  Визуальная среда разработки приложений Borland Delphi 6

ü  Язык программирования Турбо-Паскаль 7.0.

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

ü  CPU Pentium\Athlon\Duron 300 МГц

ü  RAM 64 Мб

ü  Windows 95\98\Me\2000\XP

Программа написана на языке Object Pascal с использованием интегрированной среды разработки приложений Borland Delphi 6.это греческий город, где жил дельфийский оракул. И этим именем был назван программный продукт с феноменальными характеристиками. Компания Borland представила на суд программистской общественности программный продукт, о котором к моменту его выхода ходило множество слухов. Первая версия продукта явилась результатом разработки, которая велась компанией в обстановке строжайшей секретности в течение двух с половиной лет.использует структурный объектно-ориентированный язык (Object Pascal), который сочетает с одной стороны выразительную мощь и простоту программирования, характерную для языков 4GL, а с другой стороны эффективность языка 3GL. Программисты немедленно могут начать производить работающие приложения, и им не придется для этого изучать особенности программирования событий в Windows. Delphi полностью поддерживает передовые программные концепции, включая инкапсуляцию, наследование, полиморфизм и управление событиями.это комбинация нескольких важнейших технологий:

·              Высокопроизводительный компилятор в машинный код

·              Объектно-ориентированная модель компонент

·              Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов

·              Масштабируемые средства для построения баз данных

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

В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов. Для начала - неплохо. Но если возникнет необходимость в решении какой-то специфической проблемы на Delphi, советуем, прежде чем попытаться начинать решать проблему “с нуля”, просмотреть список свободно распространяемых или коммерческих компонент, разработанных третьими фирмами, количество этих фирм в настоящее время превышает число 250. На Delphi можно одинаково хорошо писать как приложения к корпоративным базам данных, так и, к примеру, игровые программы. Во многом это объясняется тем, что традиционно в среде Windows было достаточно сложно реализовывать пользовательский интерфейс. Событийная модель в Windows всегда была сложна для понимания и отладки. Но именно разработка интерфейса в Delphi является самой простой задачей для программиста.

Объекты БД в Delphi основаны на SQL и включают в себя полную мощь Borland Database Engine. В состав Delphi также включен Borland SQL Link, поэтому доступ к СУБД Oracle, Sybase, Informix и InterBase происходит с высокой эффективностью. Кроме того, Delphi включает в себя локальный сервер Interbase для того, чтобы можно было разработать расширяемые на любые внешние SQL-сервера приложения в оффлайновом режиме. Разработчик в среде Delphi, проектирующий информационную систему для локальной машины (к примеру, небольшую систему учета медицинских карточек для одного компьютера), может использовать для хранения информации файлы формата .dbf (как в dBase или Clipper) или .db (Paradox). Если же он будет использовать локальный InterBase for Windows 4.0 (это локальный SQL-сервер, входящий в поставку), то его приложение безо всяких изменений будет работать и в составе большой системы с архитектурой клиент-сервер.

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

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

В среде разработки появился новый элемент - дерево объектов (Object TreeView), отображающее иерархию компонентов приложения с точки зрения их принадлежности друг другу. В дереве объектов можно осуществлять операции drag-and-drop, перемещая дочерние компоненты на другие контейнеры, и эти изменения синхронно отображаются в редакторе форм.

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

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

·              Diagram - отображение связей между компонентами доступа к данным наподобие редактора модулей данных из предыдущей версии Delphi);

·              HTML Scrip - отображение кода HTML и JavaScript, сгенерированного компонентами, которые предназначены для создания интерактивных Web-приложений;

·              HTML Result - отображение HTML-кода, сгенерированного при использовании HTML-шаблона;

·              Preview - отображение сгенерированного HTML-вывода так, как он выглядит в клиентском браузере

1.7 Листинг программы


unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Grids, Menus, ExtCtrls;= class(TForm): TStringGrid;: TLabel;: TButton;: TEdit;: TButton;: TStringGrid;: TLabel;: TLabel;: TLabel;: TStringGrid;: TLabel;: TLabel;: TMainMenu;: TPopupMenu;: TMenuItem;: TCheckBox;: TLabel;: TMenuItem;: TLabel;: TEdit;: TMenuItem;Button1Click(Sender: TObject);Button2Click(Sender: TObject);C1Click(Sender: TObject);FormMouseUp(Sender: TObject; Button: TMouseButton;: TShiftState; X, Y: Integer);N2Click(Sender: TObject);CheckBox1Click(Sender: TObject);N5Click(Sender: TObject);N3Click(Sender: TObject);Button3Click(Sender: TObject);N4Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;

{$R *.dfm}TForm1.Button1Click(Sender: TObject);n:integer;:=strtoint(edit1.Text);n=3 then begin.colcount:=n+2;.rowcount:=n+1;.colcount:=n+2;.rowcount:=n+1;.colcount:=n+1;.rowcount:=n+1; end else begin.colcount:=n+2;.rowcount:=n+1;.colcount:=n+2;.rowcount:=n+1;.colcount:=n+1;.rowcount:=n; end;;TForm1.Button2Click(Sender: TObject);n,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14:real;,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,Y1,Y2,Y3,y4,x4,a5,X1,X2,X3,a1,a2,a3,a4,q:real;,m1:real;:=strtofloat(edit1.text);n=3 then:=strtofloat( stringgrid1.cells[1,1]);:=strtofloat( stringgrid1.cells[2,1]);:=strtofloat( stringgrid1.cells[3,1]);:=strtofloat( stringgrid1.cells[2,2]);:=strtofloat( stringgrid1.cells[3,2]);:=strtofloat( stringgrid1.cells[3,3]);:=strtofloat( stringgrid1.cells[4,1]);:=strtofloat( stringgrid1.cells[4,2]);:=strtofloat( stringgrid1.cells[4,3]);t1<0 then:=t1*(-1);.cells[1,1]:=floattostr(sqrt(t1));:=strtofloat (stringgrid2.cells[1,1]);.cells[2,1]:=floattostr (t2/b1);:=strtofloat (stringgrid2.cells[2,1]);.cells[3,1]:=floattostr(t3/b1);:=strtofloat (stringgrid2.cells[3,1]);:=((t4)-sqr(b2)*(-1));m1<0 then:=m1*(-1);.cells[2,2]:=floattostr(sqrt(m1));else begin.cells[2,2]:=floattostr(sqrt((t4)-sqr(b2)*(-1)));;:=strtofloat (stringgrid2.cells[2,2]);.cells[3,2]:=floattostr(((t5-(b3*b2*(-1)))/b4));:=strtofloat (stringgrid2.cells[3,2]);:=( t6-(sqr(b3)*(-1))-(sqr(b5)));m<0 then:=m1*(-1);.cells[3,3]:=floattostr(sqrt( t6-(sqr(b3)*(-1))-(sqr(b5))));else begin.cells[3,3]:=floattostr(sqrt( t6-(sqr(b3)*(-1))-(sqr(b5))));;:=strtofloat (stringgrid2.cells[3,3]);.Cells[1,2]:='0';.Cells[1,3]:='0';.Cells[2,3]:='0';.Cells[1,1]:=FLOATTOSTRF(B1,FFFIXED,4,1);.Cells[2,1]:=FLOATTOSTRF(B2,FFFIXED,4,1);.Cells[3,1]:=FLOATTOSTRF(B3,FFFIXED,4,1);.Cells[2,2]:=FLOATTOSTRF(B4,FFFIXED,4,1);.Cells[3,2]:=FLOATTOSTRF(B5,FFFIXED,3,0);.Cells[3,3]:=FLOATTOSTRF(B6,FFFIXED,3,1);.Cells[1,1]:=FLOATTOSTR(T7/B1);:=strtofloat (stringgrid3.cells[1,1]);.Cells[2,1]:=FLOATTOSTR((t8-(b2*y1))*(-1)/B4);:=strtofloat (stringgrid3.cells[2,1]);.Cells[3,1]:=FLOATTOSTR((t9-(b3*y1)-(b5*y2))*(-1)/B6);:=strtofloat (stringgrid3.cells[3,1]);.Cells[3,2]:=FLOATTOSTR(y3/B6);:=strtofloat (stringgrid3.cells[3,2]);.Cells[2,2]:=FLOATTOSTR((y2-(b5*x3))/B4);:=strtofloat (stringgrid3.cells[2,2]);.Cells[1,2]:=FLOATTOSTR((y1-(x3*b3)-(b2*x2))/B1);:=strtofloat (stringgrid3.cells[1,2]);.Cells[1,1]:=FLOATTOSTRF(y1,FFFIXED,3,1);.Cells[2,1]:=FLOATTOSTRF(y2,FFFIXED,3,1);.Cells[3,1]:=FLOATTOSTRF(y3,FFFIXED,3,1);.Cells[1,2]:=FLOATTOSTRF(x1,FFFIXED,3,1);.Cells[2,2]:=FLOATTOSTRF(x2,FFFIXED,3,1);.Cells[3,2]:=FLOATTOSTRF(x3,FFFIXED,3,1);.cells[4,1]:=floattostr(b1+b2+b3);:=strtofloat (stringgrid2.cells[4,1]);.Cells[4,1]:=FLOATTOSTRF(b7,FFFIXED,2,1);.cells[4,2]:=floattostr(b4+b5);:=strtofloat (stringgrid2.cells[4,2]);.Cells[4,2]:=FLOATTOSTRF(b8,fffixed,5,2);.cells[4,3]:=floattostr(b6);:=strtofloat (stringgrid2.cells[4,3]);.Cells[4,3]:=FLOATTOSTRF(b9,FFFIXED,3,1);.cells[4,1]:=floattostr(b7)+'i';.cells[1,1]:=floattostr(b1)+'i';.cells[2,1]:=floattostr(b2)+'i';.cells[3,1]:=floattostr(b3)+'i';.cells[1,1]:=floattostr(y1)+'i';:=t1*(-1);.Cells[1,3]:=FLOATTOSTR (t1*x1);:=strtofloat (stringgrid3.cells[1,3]);.Cells[2,3]:=FLOATTOSTR (t2*x2);:=strtofloat (stringgrid3.cells[2,3]);.Cells[3,3]:=FLOATTOSTR (t3*x3);:=strtofloat (stringgrid3.cells[3,3]);.Cells[1,3]:=FLOATTOSTRF(a1,FFFIXED,3,1);.Cells[2,3]:=FLOATTOSTRF(a2,FFFIXED,3,1);.Cells[3,3]:=FLOATTOSTRF(a3,FFFIXED,3,1);:=((a3)+(a2)+(a1));.Text:=floattostr(a4);.Text:=FLOATTOSTRF(a4,FFFIXED,5,0);.cells[1,1]:=floattostr(sqrt(t1));:=strtoFLOAT (stringgrid2.cells[1,1]);.cells[2,1]:=floattostr (t2/b1);:=strtofloat (stringgrid2.cells[2,1]);.cells[3,1]:=floattostr(t3/b1);:=strtofloat (stringgrid2.cells[3,1]);:= (t4)-sqr(b2);m1<0 then:=m1*(-1);.cells[2,2]:=floattostr(sqrt((t4)-sqr(b2)));.cells[2,2]:=floattostr(sqrt((t4)-sqr(b2)));;:=strtofloat (stringgrid2.cells[2,2]);.cells[3,2]:=floattostr(((t5-(b3*b2))/b4));:=strtofloat (stringgrid2.cells[3,2]);:=( t6-(sqr(b3))-(sqr(b5)));(m<0) then begin.cells[3,3]:=floattostr(sqrt((-1)*(t6-(sqr(b3))-(sqr(b5)))));.cells[3,3]:=floattostr(sqrt( t6-(sqr(b3))-(sqr(b5))));;:=strtofloat (stringgrid2.cells[3,3]);.Cells[1,2]:='0';.Cells[1,3]:='0';.Cells[2,3]:='0';.Cells[1,1]:=FLOATTOSTRF(B1,FFFIXED,2,1);.Cells[2,1]:=FLOATTOSTRF(B2,FFFIXED,2,1);.Cells[3,1]:=FLOATTOSTRF(B3,FFFIXED,2,1);.Cells[2,2]:=FLOATTOSTRF(B4,FFFIXED,2,1);.Cells[3,2]:=FLOATTOSTRF(B5,FFFIXED,3,0);.Cells[3,3]:=FLOATTOSTRF(B6,FFFIXED,3,0);.Cells[1,1]:=FLOATTOSTR(T7/B1);:=strtofloat (stringgrid3.cells[1,1]);.Cells[1,1]:=FLOATTOSTRF(y1,FFFIXED,2,1);.Cells[2,1]:=FLOATTOSTR((t8-(b2*y1))/B4);:=strtofloat (stringgrid3.cells[2,1]);.Cells[2,1]:=FLOATTOSTRF(y2,FFFIXED,2,1);.Cells[3,1]:=FLOATTOSTR((t9-(b3*y1)-(b5*y2))/B6);:=strtofloat (stringgrid3.cells[3,1]);.Cells[3,1]:=FLOATTOSTRF(y3,FFFIXED,2,1);.Cells[3,2]:=FLOATTOSTR(y3/B6);:=strtofloat (stringgrid3.cells[3,2]);.Cells[3,2]:=FLOATTOSTRF(x3,FFFIXED,2,0);.Cells[2,2]:=FLOATTOSTR((y2-(b5*x3))/B4);:=strtofloat (stringgrid3.cells[2,2]);.Cells[2,2]:=FLOATTOSTRF(x2,FFFIXED,2,0);.Cells[1,2]:=FLOATTOSTR((y1-(x3*b3)-(b2*x2))/B1);:=strtofloat (stringgrid3.cells[1,2]);.Cells[1,2]:=FLOATTOSTRF(x1,FFFIXED,2,0);.cells[4,1]:=floattostr(b1+b2+b3);:=strtofloat (stringgrid2.cells[4,1]);.Cells[4,1]:=FLOATTOSTRF(b7,FFFIXED,2,1);.cells[4,2]:=floattostr(b4+b5);:=strtofloat (stringgrid2.cells[4,2]);.Cells[4,2]:=FLOATTOSTRF(b8,FFFIXED,3,0);.cells[4,3]:=floattostr(b6);:=strtofloat (stringgrid2.cells[4,3]);.Cells[4,3]:=FLOATTOSTRF(b9,FFFIXED,3,1);

.Cells[1,3]:=FLOATTOSTR (t1*x1);:=strtofloat (stringgrid3.cells[1,3]);.Cells[2,3]:=FLOATTOSTR (t2*x2);:=strtofloat (stringgrid3.cells[2,3]);.Cells[3,3]:=FLOATTOSTR (t3*x3);:=strtofloat (stringgrid3.cells[3,3]);.Cells[1,3]:=FLOATTOSTRF(a1,FFFIXED,3,0);.Cells[2,3]:=FLOATTOSTRF(a2,FFFIXED,3,0);.Cells[3,3]:=FLOATTOSTRF(a3,FFFIXED,3,0);:=((a3)+(a2)+(a1));.Text:=floattostr(a4);.Text:=FLOATTOSTRF(a4,FFFIXED,3,0);;;;TForm1.C1Click(Sender: TObject);.Visible:=true;;TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;: TShiftState; X, Y: Integer);p:tpoint;:=getclientorigin;button=mbright then popupmenu1.Popup(p.X+x,p.Y+y);;TForm1.N2Click(Sender: TObject);.clear;.clear;.Cells[1,1]:='';.Cells[1,2]:='';.Cells[1,3]:='';.Cells[1,4]:='';.Cells[2,1]:='';.Cells[2,2]:='';.Cells[2,3]:='';.Cells[2,4]:='';.Cells[5,1]:='';.Cells[5,2]:='';.Cells[3,1]:='';.Cells[3,2]:='';.Cells[3,3]:='';.Cells[3,4]:='';.Cells[4,1]:='';.Cells[4,2]:='';.Cells[4,3]:='';.Cells[4,4]:='';.Cells[5,3]:='';.Cells[5,4]:='';.Cells[1,1]:='';.Cells[1,2]:='';.Cells[1,3]:='';.Cells[1,4]:='';.Cells[2,1]:='';.Cells[2,2]:='';.Cells[2,3]:='';.Cells[2,4]:='';.Cells[5,1]:='';.Cells[5,2]:='';.Cells[3,1]:='';.Cells[3,2]:='';.Cells[3,3]:='';.Cells[3,4]:='';.Cells[4,1]:='';.Cells[4,2]:='';.Cells[4,3]:='';.Cells[4,4]:='';.Cells[5,3]:='';.Cells[5,4]:='';.Cells[1,1]:='';.Cells[1,2]:='';.Cells[1,3]:='';.Cells[2,1]:='';.Cells[2,2]:='';.Cells[2,3]:='';.Cells[3,1]:='';.Cells[3,2]:='';.Cells[3,3]:='';.Cells[4,1]:='';.Cells[4,2]:='';.Cells[4,3]:='';;TForm1.CheckBox1Click(Sender: TObject);checkbox1.Checked then.Visible:=false;;TForm1.N5Click(Sender: TObject);

begin('Вы действительно хотите выйти?');

if closequery then close;;TForm1.N3Click(Sender: TObject);

begin('Вы действительно хотите выйти?');

if closequery then close;;TForm1.Button3Click(Sender: TObject);n,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14:real;,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,Y1,Y2,Y3,y4,x4,a5,X1,X2,X3,a1,a2,a3,a4,q:real;,m1,z,z1,z2:real;:=strtoint(edit1.text);n=4 then:=strtofloat( stringgrid1.cells[1,1]);:=strtofloat( stringgrid1.cells[2,1]);:=strtofloat( stringgrid1.cells[3,1]);:=strtofloat( stringgrid1.cells[4,1]);:=strtofloat( stringgrid1.cells[5,1]);:=strtofloat( stringgrid1.cells[2,2]);:=strtofloat( stringgrid1.cells[3,2]);:=strtofloat( stringgrid1.cells[4,2]);:=strtofloat( stringgrid1.cells[5,2]);:=strtofloat( stringgrid1.cells[3,3]);:=strtofloat( stringgrid1.cells[4,3]);:=strtofloat( stringgrid1.cells[5,3]);:=strtofloat( stringgrid1.cells[4,4]);:=strtofloat( stringgrid1.cells[5,4]);t1<0 then:=t1*(-1);.cells[1,1]:=floattostr(sqrt(t1));:=strtofloat (stringgrid2.cells[1,1]);.cells[2,1]:=floattostr (t2/b1);:=strtofloat (stringgrid2.cells[2,1]);.cells[3,1]:=floattostr(t3/b1);:=strtofloat (stringgrid2.cells[3,1]);.cells[4,1]:=floattostr (t4/b1);:=strtofloat (stringgrid2.cells[2,1]);.cells[2,2]:=floattostr(sqrt((t6)-(sqr(b2)*(-1))));:=strtofloat (stringgrid2.cells[2,2]);.cells[3,2]:=floattostr(((t7-(b3*b2*(-1)))/b6)*(-1));:=strtofloat (stringgrid2.cells[3,2]);.cells[4,2]:=floattostr((((((t8)-(b4)*(b2))*(-1))/(b6))*(-1)));:=strtofloat (stringgrid2.cells[4,2]);.cells[3,3]:=floattostr(sqrt((t10)-((sqr(b3))*(-1))-sqr(b7)));:=strtofloat (stringgrid2.cells[3,3]);.cells[4,3]:=floattostr(((t11-(b4*b3*(-1))-(b7*b8))/b10));:=strtofloat (stringgrid2.cells[4,3]);.cells[4,4]:=floattostr(sqrt((t13-sqr(b11)-sqr(b8)+sqr(b4))*(-1)));:=strtofloat (stringgrid2.cells[4,4]);.Cells[1,2]:='0';.Cells[1,3]:='0';.Cells[1,4]:='0';.Cells[2,3]:='0';.Cells[2,4]:='0';.Cells[3,4]:='0';.Cells[1,1]:=FLOATTOSTRF(B1,FFFIXED,5,2);.Cells[2,1]:=FLOATTOSTRF(B2,FFFIXED,5,2);.Cells[3,1]:=FLOATTOSTRF(B3,FFFIXED,5,2);.Cells[4,1]:=FLOATTOSTRF(B4,FFFIXED,5,2);.Cells[2,2]:=FLOATTOSTRF(B6,FFFIXED,5,2);.Cells[3,2]:=FLOATTOSTRF(B7,FFFIXED,5,2);.Cells[4,2]:=FLOATTOSTRF(B8,FFFIXED,5,2);.Cells[3,3]:=FLOATTOSTRF(B10,FFFIXED,5,2);.Cells[4,3]:=FLOATTOSTRF(B11,FFFIXED,5,2);.Cells[4,4]:=FLOATTOSTRF(B13,FFFIXED,5,2);.Cells[1,1]:=FLOATTOSTR(T5/B1);:=strtofloat (stringgrid3.cells[1,1]);.Cells[2,1]:=FLOATTOSTR(-1*(t9-(b2*y1*-1))/b6);:=strtofloat (stringgrid3.cells[2,1]);.Cells[3,1]:=FLOATTOSTR((t12-(b3*y1*(-1))-(b6*y2))/B10);:=strtofloat (stringgrid3.cells[3,1]);.Cells[4,1]:=FLOATTOSTR((t14-(b4*y1*(-1))-(b8*y2)-(b4*y3))/B13*(-1));:=strtofloat (stringgrid3.cells[4,1]);.cells[5,1]:=floattostr(b1+b2+b3+b4);:=strtofloat (stringgrid2.cells[5,1]);.Cells[5,1]:=FLOATTOSTRF(b5,FFFIXED,5,2);.cells[5,2]:=floattostr(b6+b7+b8);:=strtofloat (stringgrid2.cells[5,2]);.Cells[5,2]:=FLOATTOSTRF(b9,FFFIXED,5,2);.cells[5,3]:=floattostr(b10+b11);:=strtofloat (stringgrid2.cells[5,3]);.Cells[5,3]:=FLOATTOSTRF(b12,FFFIXED,5,2);.cells[5,4]:=floattostr(b13);:=strtofloat (stringgrid2.cells[5,4]);.Cells[5,4]:=FLOATTOSTRF(b14,FFFIXED,5,2);.Cells[3,2]:=FLOATTOSTR(b14/b13);:=strtofloat (stringgrid3.cells[3,2]);.Cells[3,2]:=FLOATTOSTR(((b12-b11*x4))/b10);:=strtofloat (stringgrid3.cells[3,2]);.Cells[2,2]:=FLOATTOSTR((b9-b8*x4-b7*x3)/b6);:=strtofloat (stringgrid3.cells[2,2]);.Cells[1,2]:=FLOATTOSTR((b5-b4*x4-b3*x3-b2*x2)/b1);:=strtofloat (stringgrid3.cells[1,2]);.Cells[1,1]:=FLOATTOSTRF(y1,FFFIXED,5,2);.Cells[2,1]:=FLOATTOSTRF(y2,FFFIXED,5,2);.Cells[3,1]:=FLOATTOSTRF(y3,FFFIXED,5,2);.Cells[4,1]:=FLOATTOSTRF(y4,FFFIXED,5,2);.Cells[1,2]:=FLOATTOSTRF(x1,FFFIXED,5,2);.Cells[2,2]:=FLOATTOSTRF(x2,FFFIXED,5,2);.Cells[3,2]:=FLOATTOSTRF(x3,FFFIXED,5,2);.Cells[4,2]:=FLOATTOSTRF(x4,FFFIXED,5,2);.cells[4,1]:=floattostr(b1)+'i';.cells[1,1]:=floattostr(b2)+'i';.cells[2,1]:=floattostr(b3)+'i';.cells[3,1]:=floattostr(b4)+'i';.cells[1,1]:=floattostr(y1)+'i';.cells[4,1]:=floattostr(y4)+'i';begin.cells[1,1]:=floattostr(sqrt(t1));:=strtofloat (stringgrid2.cells[1,1]);.cells[2,1]:=floattostr (t2/b1);:=strtofloat (stringgrid2.cells[2,1]);.cells[3,1]:=floattostr(t3/b1);:=strtofloat (stringgrid2.cells[3,1]);.cells[4,1]:=floattostr (t4/b1);:=strtofloat (stringgrid2.cells[4,1]);:=((t6)-(sqr(b2)*(-1)));z<0 then begin:=z*(-1);.cells[2,2]:=floattostr(sqrt(z));:=strtofloat (stringgrid2.cells[2,2]); endbegin.cells[2,2]:=floattostr(sqrt((t6)-(sqr(b2)*(-1))));:=strtofloat (stringgrid2.cells[2,2]);end;.cells[3,2]:=floattostr(((t7-(b3*b2))/b6)*(-1));:=strtofloat (stringgrid2.cells[3,2]);.cells[4,2]:=floattostr(((t8-((b4)*(b2)))/(b6))*(-1));:=strtofloat (stringgrid2.cells[4,2]);:=((t10)-(sqr(b3))-(sqr(b7)*(-1)));z1<0 then begin:=z1*(-1);.cells[3,3]:=floattostr(sqrt(z1));endbegin.cells[3,3]:=floattostr(sqrt((t10)-(sqr(b3))-(sqr(b7)*(-1)))); end;:=strtofloat (stringgrid2.cells[3,3]);.cells[4,3]:=floattostr(((t11-(b4*b3)-(b7*b8*(-1)))/b10));:=strtofloat (stringgrid2.cells[4,3]);:=(t13-sqr(b11)-(sqr(b8)*(-1))+sqr(b4));z2<0 then begin:=z2*(-1);.cells[4,4]:=floattostr(sqrt(z2));endbegin.cells[4,4]:=floattostr(sqrt(t13-sqr(b11)-(sqr(b8)*(-1))+sqr(b4)));;:=strtofloat (stringgrid2.cells[4,4]);.Cells[1,2]:='0';.Cells[1,3]:='0';.Cells[1,4]:='0';.Cells[2,3]:='0';.Cells[2,4]:='0';.Cells[3,4]:='0';.Cells[1,1]:=FLOATTOSTRF(B1,FFFIXED,5,1);.Cells[2,1]:=FLOATTOSTRF(B2,FFFIXED,5,1);.Cells[3,1]:=FLOATTOSTRF(B3,FFFIXED,5,1);.Cells[4,1]:=FLOATTOSTRF(B4,FFFIXED,5,1);.Cells[2,2]:=FLOATTOSTRF(B6,FFFIXED,5,1);.Cells[3,2]:=FLOATTOSTRF(B7,FFFIXED,5,1);.Cells[4,2]:=FLOATTOSTRF(B8,FFFIXED,5,1);.Cells[3,3]:=FLOATTOSTRF(B10,FFFIXED,5,1);.Cells[4,3]:=FLOATTOSTRF(B11,FFFIXED,5,1);.Cells[4,4]:=FLOATTOSTRF(B13,FFFIXED,5,1);.Cells[1,1]:=FLOATTOSTR(T5/B1);:=strtofloat (stringgrid3.cells[1,1]);.Cells[2,1]:=FLOATTOSTR(-1*(t9-(b2*y1))/b6);:=strtofloat (stringgrid3.cells[2,1]);.Cells[3,1]:=FLOATTOSTR((t12-(b3*y1)-(b6*y2*(-1)))/B10);:=strtofloat (stringgrid3.cells[3,1]);.Cells[4,1]:=FLOATTOSTR((t14-(b4*y1)-(b8*y2*(-1))-(b4*y3))/B13*(-1));:=strtofloat (stringgrid3.cells[4,1]);.Cells[1,1]:=FLOATTOSTRF(y1,FFFIXED,3,1);.Cells[2,1]:=FLOATTOSTRF(y2,FFFIXED,3,1);.Cells[3,1]:=FLOATTOSTRF(y3,FFFIXED,3,1);.Cells[4,1]:=FLOATTOSTRF(y4,FFFIXED,3,1);.cells[5,1]:=floattostr(b1+b2+b3+b4+y1);:=strtofloat (stringgrid2.cells[5,1]);.Cells[5,1]:=FLOATTOSTRF(b5,FFFIXED,3,1);.cells[5,2]:=floattostr(b6+b7+b8+y2);:=strtofloat (stringgrid2.cells[5,2]);.Cells[5,2]:=FLOATTOSTRF(b9,FFFIXED,3,1);.cells[5,3]:=floattostr(b10+b11+y3);:=strtofloat (stringgrid2.cells[5,3]);.Cells[5,3]:=FLOATTOSTRF(b12,FFFIXED,3,1);.cells[5,4]:=floattostr(b13+y4);:=strtofloat (stringgrid2.cells[5,4]);.Cells[5,4]:=FLOATTOSTRF(b14,FFFIXED,3,1);.Cells[4,2]:=FLOATTOSTR(b14/b13);:=strtofloat (stringgrid3.cells[4,2]);.Cells[3,2]:=FLOATTOSTR(((b12-(b11*x4)))/b10);:=strtofloat (stringgrid3.cells[3,2]);.Cells[2,2]:=FLOATTOSTR((b9-(b8*x4)-(b7*x3))/b6);:=strtofloat (stringgrid3.cells[2,2]);.Cells[1,2]:=FLOATTOSTR((b5-(b4*x4)-(b3*x3)-(b2*x2))/b1);:=strtofloat (stringgrid3.cells[1,2]);.Cells[1,2]:=FLOATTOSTRF(x1,FFFIXED,3,1);.Cells[2,2]:=FLOATTOSTRF(x2,FFFIXED,3,1);.Cells[3,2]:=FLOATTOSTRF(x3,FFFIXED,3,1);.Cells[4,2]:=FLOATTOSTRF(x4,FFFIXED,3,1);.cells[4,1]:=floattostr(b1)+'i';.cells[1,1]:=floattostr(b2)+'i';.cells[2,1]:=floattostr(b3)+'i';.cells[3,1]:=floattostr(b4)+'i';.cells[1,1]:=floattostr(y1)+'i';.cells[4,1]:=floattostr(y4)+'i';.Cells[1,3]:=FLOATTOSTR (t1*x1);:=strtofloat (stringgrid3.cells[1,3]);.Cells[2,3]:=FLOATTOSTR (t2*x2);:=strtofloat (stringgrid3.cells[2,3]);.Cells[3,3]:=FLOATTOSTR (t3*x3);:=strtofloat (stringgrid3.cells[3,3]);.Cells[4,3]:=FLOATTOSTR (t4*x4);:=strtofloat (stringgrid3.cells[4,3]);.Cells[1,3]:=FLOATTOSTRF(a1,FFFIXED,3,0);.Cells[2,3]:=FLOATTOSTRF(a2,FFFIXED,3,0);.Cells[3,3]:=FLOATTOSTRF(a3,FFFIXED,3,0);.Cells[4,3]:=FLOATTOSTRF(a4,FFFIXED,3,0);:=((a3)+(a2)+(a1)+(a5));.Text:=floattostr(a4);.Text:=FLOATTOSTRF(a4,FFFIXED,3,0);;;;TForm1.N4Click(Sender: TObject);;;.

Раздел 2. Охрана труда


2.1 Требования безопасности перед началом работы на персональном компьютере


1.  Отрегулировать освещенность на рабочем месте, убедиться в достаточной освещенности и отсутствии отражений и бликов на экране.

2.      Протереть салфеткой поверхность экрана и защитного фильтра.

.        Убедиться в отсутствии дискет в дисководах системного блока персонального компьютера.

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

.        Убедиться в исправности электрооборудования (розеток, вилок, разъемов) до включения компьютера в сеть.

 

.2 Требования безопасности во время работы на персональном компьютере


1.  Работнику во время работы на персональном компьютере запрещается:

ü  касаться одновременно экрана монитора и клавиатуры

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

ü  переключать разъемы интерфейсных кабелей периферийных устройств

ü  допускать попадание влаги на поверхность системного блока, монитора, рабочую поверхность клавиатуры, принтеров и других периферийных устройств

ü  производить самостоятельное вскрытие и ремонт оборудования

2.  Работник обязан соблюдать последовательность включения компьютера:

ü  включить блок питания

ü  включить периферийные устройства (монитор принтер, сканер и т.д.)

ü  включить системный блок

3.  Работник обязан отключить персональный компьютер от электросети:

ü при обнаружении неисправности

ü  при внезапных скачках напряжения в электросети

 

.3 Требования безопасности после окончания работы на персональном компьютере


1.      Работник обязан соблюдать последовательность включения компьютера:

ü  произвести закрытие всех активных задач

ü  убедится, что в дисководах нет дискет

ü  выключить питание системного блока

ü  выключить питание всех периферийных устройств

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

 

Раздел 3. Экономическая часть


Технико-экономическое обоснование программного продукта

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

 

.1 Расчет трудоемкости разработки программы


Трудоемкость продукции - величина, обратная показателю производительности труда. Определяется как отношение количества труда, затраченного в сфере материального производства, к объему произведенной продукции.

Если говорить об определении трудоемкости таких работников, как программисты, то расчет трудоемкости (ТЭ чел/час.) по этой категории можно произвести с использованием следующей формулы:

, где

ТН - затраты труда на изучение материала, включаемого в разработанную программу;

ТА - затраты труда на разработку алгоритма программы;

ТБС - затраты труда на разработку блок схемы;

ТП - затраты труда на программирование (кодирование с использованием алгоритмического языка);

ТОТЛ - затраты труда на отладку программы;

ТД - затраты труда на оформление документации в рукописном виде.

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

,

для всех показателей кроме ТП, который будет рассчитываться, как

, где

Q - предполагаемое число программных команд на данной стадии разработки программы;

ККВ - коэффициент квалификации исполнителя;

П - производительность исполнителя;

КСЛ - коэффициент сложности задачи программы;

q - предполагаемое число программных команд в одном блоке;

t - количество блоков на конкретной стадии разработки программ;

Pn - коэффициент коррекции.

Вычисления:

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

Значения переменных (берутся из своего задания):

ККВ = 0,8; КСЛ = 1,27; Pn = 0,05.

Производительность программиста по отдельным этапам (ком. час):

Изучение материала 78 (q = 30; t = 3; количество коррекций = 2).

Разработка алгоритма 23 (q = 20; t = 4; количество коррекций = 6).

Разработка блок-схемы 12 (q = 12; t = 5; количество коррекций = 5).

Описание программы 21 (q = 7; t = 5; количество коррекций = 10).

Отладка программы 4 (q = 7; t = 1; количество коррекций = 5).

Оформление документации в рукописном виде (8 чел./час).

Количество символов 3308.

. Затраты труда на изучение материала, включаемого в разработанную программу

Q = 30 * 3 * 1,27 * (1 + 0.05 * 2) = 125,73;

.

. Затраты труда на разработку алгоритма программы

Q= 20 * 4 * 1,27 * (1 + 0,05 * 6) = 132,08;

.

. Затраты труда на разработку блок схемы

Q = 20 *5 * 1,27 * (1 + 0,05 * 5) = 158,75;

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

Q = 7 *5 * 1,27 * (1 + 0,05 * 10) = 66,68;

. Затраты труда на отладку программы

Q = 7 * 1,27 * (1 + 0,05 * 5) = 11,11;

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

ТД = 8 чел./час.

ТЭ = 2,56 + 9,53 + 21 + 4,41 + 8 + 5,04 = 50,54 чел./час.

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

Д = ТЭ / 8 = 50,54 / 8 = 6,32 = 6 дней

. Нормативная численность

Ч = ТЭ / (Д * 8) = 50,54 / (6 * 8 ) = 1 чел.

3.2 Расчет себестоимости программы


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

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

Различают следующие виды себестоимости: цеховая, производственная и полная.

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

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

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

 

.2.1 Расчет расходных материалов

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

1.  Материальные затраты (за вычетом стоимости возвратных отходов).

2.      Затраты на оплату труда.

.        Отчисления на социальные нужды.

.        Амортизация основных фондов.

.        Прочие затраты.

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

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

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

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

1.  Сырье и материалы.

2.      Возвратные отходы (вычитаются).

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

.        Топливо и энергия на технологические цели.

.        Заработная плата на производственных рабочих.

.        Отчисления на социальные нужды.

.        Расходы на подготовку и освоение производства.

.        Общехозяйственные расходы.

.        Общепроизводственные расходы.

.        Потери от брака.

.        Прочие производственные расходы.

.        Коммерческие расходы.

Итог первых 11 статей образует производственную себестоимость продукции, итог всех 12 статей - полную себестоимость продукции.

Общепроизводственные и общехозяйственные расходы относятся к накладным расходам. Общепроизводственные накладные расходы - это расходы на обслуживание и управление производством.

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

1.  Цена дискет, бумаги, картриджа по формуле: Цена без НДС = цена с НДС - (Цена с НДС * 18%/118%). Сумма получившихся цифр будет составлять стоимость материальных затрат (МЗ).

2.      Стоимость канцелярских товаров и прочих расходов по формуле: (МЗ* процент по условию) / 100%.

В представленных выше формулах будем использовать следующие значения:

1.  Диски шт./цена в руб.      2/20.

2.      Бумага пач./цена в руб.        1/300.

.        Картридж шт./цена в руб.    1/2100.

.        Канцелярские товары (в % к стоимости материальных затрат) 3%.

.        Прочие расходы ( в % стоимости материальных затрат) 1%.

Вычисления:

Цена дискет = 40 - (40 * 18% / 118%) = 33,9 руб.

Цена бумаги = 300 - (300 * 18% / 118%) = 254,2 руб.

Для диплома: использовано 80 листов, поэтому получаем по формуле возвратных материалов.

Цена бумаги для диплома

Цена картриджа = 2100 - (2100 * 18% / 118%) = 1779,66 руб.

А для диплома цена картриджа

МЗ = 33,9 + 25,42 + 35,59 = 94,92 руб.

Канцелярские товары = 94,92 * 3% / 100% = 2,85 руб.

Прочие расходы = 94,92 * 1% / 100% = 0,95 руб.

МЗ = 94,92 + 2,85 + 0,95 = 98,71 = 99 руб.

3.2.2 Расчет заработной платы с начислениями

Заработная плата (ЗП) - доход в денежной или натуральной форме, получаемый наемным работником. Основные формы заработной платы: тарифная (повременная и сдельная), бестарифная и смешанная (комиссионная, дилерская и т.п.).

Заработанная плата - это вознаграждение за труд.

Оплата труда работников - это цена трудовых ресурсов, задействованных в производственном процессе.

Можно сказать и так, что заработанная плата - это часть издержек на производство и реализацию продукции, идущую на оплату труда работников предприятия.

Вычисления производятся по следующим формулам:


ЕСН - единый социальный налог, равный 26 %.

Вычисления:

Основная ЗП = (4300 / 25,6) * 6 = 1061,18

Дополнительная ЗП = (1061,18 * 10%) /100% = 106,12

ЗП = 1061,18 + 106,12 = 1167,29 - заработная плата за программу.

РОТЧ = 1167,29 * 26% / 100% = 303,50

3.2.3 Расчет расходов на электроэнергию

Расходы на электроэнергию складываются из следующих показателей:

1.  Количество дней, за которые происходит изготовление программы (12 дней).

2.      Количество часов в рабочем дне (8 часов).

.        Количество рабочих компьютеров (1).

.        Тариф 2,39 руб. - 1 кВ.

.        Расход электроэнергии норма (0,2).

Расходы на электроэнергию рассчитывается по формуле:

Количество дней, за которое происходит изготовление программы * количество часов в рабочем дне * количество рабочих компьютеров * расход электроэнергии / тариф в руб. = 6 * 8 * 1 * 0,2 * 2,39 = 24,16

3.2.4 Расчет цеховых, общехозяйственных и внепроизводственных расходов

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


Вычисления:

Цеховые расходы =  руб.

Общехозяйственные расходы = руб.

Цеховая себестоимость = 24,16 + 1167,29 + 99 + 303,5 = 1593,66 руб.

Производственная себестоимость = 1517,48 + 933,83 + 1593,66 = 4044,98руб.

Внепроизводственные расходы =  = 161,8 руб.

линейный уравнение программа

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

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

Полная себестоимость = 4044,98+ 161,8 = 4206,78 руб.

Далее составляем калькуляцию и определяем структуру затрат.

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

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

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

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

Калькулирование себестоимости программного продукта

Таблица 1

Наименование

Сумма (руб.)

Удельный вес (%)

Материальные затраты

99

2,35

Оплата труда

1167,29

27,75

Начисления

303,50

7,21

Расход на электроэнергию

24,16

0,57

Цеховая себестоимость

1593,66

37,88

Цеховые расходы

1517,48

36,07

Общехозяйственные расходы

933,83

22,20




Производственная себестоимость

4044,98

96,15




Внепроизводственные расходы

161,80

3,85

Итого:

4206,78

100,00


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

Графа «Удельный вес (%)» получается по формуле:

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

3.3 Расчет отпускной цены


Для расчета отпускной цены необходимо рассчитать оптовую цену и сумму НДС, включаемую в цену, по формулам:


Рентабельность равна 10%.

Вычисления:

Прибыль =  = 420,68 руб.

Оптовая цена = 4206,78 +420,68 = 4627,45руб.

 = 832,94 руб.

Отпускная цена = 4627,45 + 832,94 = 5460,4 руб.

 

3.4 Расчет показателей экономической эффективности программного продукта


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

Примем, что организацией было продано две программы.

Выручка = Цена * Количество

Выручка = 5460,4 * 2 = 10920,79 руб.

Себестоимость двух программ = (цеховая стоимость*2) + цеховые расходы + общехозяйственные расходы + внепроизводственные расходы в % от себестоимости = 1593,66*2 +1517,48 + 933,83 + 161,8 = 5800,44 руб.

Экономическая эффективность от продукции одной программы


= 10%

Экономическая эффективность от продукции двух программы


= 31,63%

Вывод: Так как увеличилась рентабельность продукции с 10% до 31,63%, то можно снизить себестоимость.

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

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

Заключение


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

Необходимо решить систему из трех алгебраических уравнений относительно трех неизвестных.

Данный дипломный проект состоит из трех частей:

1.        Специальная часть;

2.      Охрана труда

.        Экономическая часть;

В специальной части изложены основные аспекты теории по теме проекта, блок-схема, текст программы и тестирование программы.

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

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

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

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

Инструкция для пользователя


Запустите программу Решение СЛУ методом квадратных корней. ехе, далее введите размер матрицы в необходимой области и нажмите кнопку «Задать матрицу». Введите значение матрицы в определенную область. Для вывода результата нажмите кнопку «Результат».

 

Список литературы


1. Мальцев А. И. Основы линейной алгебры. М.: Наука, 1975.

. Гельфанд И. М. Лекции по линейной алгебре М.: Наука, 1971.

. Фаддеев Д. К. Лекции по алгебре. М.: Наука, 1984.

. Кострикин А. И. Введение в алгебру, М.: Наука, 1977.

. В. А. Ильин, Э. Г. Позняк Линейная алгебра, М.: Наука - Физматлит, 1999.

. В. А. Ильин, Г. Д. Ким Линейная алгебра и аналитическая геометрия, М.: ТК Велби, Изд-во Проспект, 2007, 400с.

. Беклемишев Д. В. Аналитическая геометрия и линейная алгебра.-М.: Высш. шк. 1998, 320с.

. Беклемишев Д. В. Дополнительные главы линейной алгебры.-М.:Наука 1983, 336с.

. Булдырев В. С., Павлов Б. С. Линейная алгебра и функции многих переменных.-Л.:ЛГУ 1985, 496с.

. Бутузов В.Ф., Крутицкая Н.Ч., Шишкин А.А. Линейная алгебра в вопросах и задачах. - М.: ФИЗМАТЛИТ, 2002. - 248 с.

. Гантмахер Ф. Р. Теория матриц.-М.: Наука 1966, 576с.

. Гельфанд И. М., Линейная алгебра. Курс лекций.

. Ефимов Н. В., Розендорн Э. Р. Линейная алгебра и многомерная геометрия.-М.:Наука 1969, 528с.

. Кострикин А. И., Манин Ю. И. Линейная алгебра и геометрия.-М.:Наука 1986, 304с.

. Курош А. Г. Курс высшей алгебры.-М.:Наука 1968, 331с.

. Ланкастер П. Теория матриц.-М.:Наука 1973, 280с.

. Проскуряков И. В. Сборник задач по линейной алгебре.-М.:Наука 1966, 384с.

. Стренг Г. Линейная алгебра и ее применения.-М.:Мир 1980, 454с.

. Фаддеев Д. К., Фаддеева В. Н. Вычислительные методы линейной алгебры.- 356с.

. Халмош П. Конечномерные векторные пространства.-М.:Физматгиз 1963, 264с.

. Хорн Р., Джонсон Ч. Матричный анализ.- 655с.

. Шилов Г. Е. Математический анализ (Конечномерные линейные пространства).- 264с.

. Тыртышников Е. Е. Матричный анализ и линейная алгебра. Курс лекций для студентов факультета ВМК, МГУ.

. Шафаревич И. Р., Ремизов А. О. Линейная алгебра и геометрия, - Физматлит, Москва, 2009.

Похожие работы на - Программная реализация методов решения системы линейных уравнений

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!