Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

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

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Программа Умножение многочленов

Тип Реферат
Предмет Информатика
Просмотров
1552
Размер файла
65 б
Поделиться

Ознакомительный фрагмент работы:

Программа Умножение многочленов

Содержание

Введение

1. Анализ предметной области

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

3. Техническая часть

3.1 Разработка схемы алгоритма

3.2 Реализация программы на языке программирования

Заключение

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


Введение

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

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

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

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

Пояснительная записка состоит из трех разделов: анализа предметной части, постановки задачи и технической части.

В разделе «Анализ предметной части рассмотрены теоретические основы математической модели, приведено обоснование и словесное описание разрабатываемого алгоритма.

В разделе «Постановка задачи» рассматривается вопросы назначения программы, предъявлены требования к программе, выполнен выбор среды разработки и языка программирования.

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


1 Анализ предметной области

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

Математическая модель умножения многочленов представлена в формулах (1) и (2).

(1)

(2)

В частности,

Алгоритм умножения многочленов:

1) перемножение i-го и (k-i)-го элементов многочленов между собой, где k – номер элемента в многочлене-результате, а i – порядковый номер первого многочлена, (k-i) – порядковый номер второго многочлена;

2) сложение полученного результата с предыдущим произведением элементов многочленов;

3) переход к следующим элементам многочленов;

4) повторение пунктов 1-3 k раз для i-го элемента многочленов, где k – номер элемента в многочлене-результате, а i – порядковый номер для перемножающихся многочленов;

5) переход к следующему элементу многочлена-результата;

6) повторение пунктов 1-5 по числу элементов в многочлене-результате.


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

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

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

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

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

- ввод размеров многочленов;

- ввод элементов многочленов;

- вывод результата перемножения многочленов.

Входной информацией будет являться:

- размер первого многочлена;

- размер второго многочлена;

- массив элементов первого многочлена;

- массив элементов второго многочлена.

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

Все внесенные изменения тут же визуально отображаются на экране.

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

Входная информация представлена в виде:

- массива элементов результирующего многочлена.

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

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

Для решения выберем следующие идентификаторы:

- n - размер первого многочлена;

- m - размер второго многочлена;

- a[0..10] - массив элементов первого многочлена;

- b[0..10] - массив элементов второго многочлена;

- d[0..20] - массив элементов результирующего многочлена.

Автоматизированная система должна быть разработана для пользователя, не имеющего профессиональных навыков в программировании. Следовательно, программный продукт, должен работать в диалоговом режиме и взаимодействовать с пользователем через экран и клавиатуру ПЭВМ. К такой системе предъявляется ряд требований, которые позволяют облегчить диалог пользователя с машиной:

- комфорт и дружественность;

- развитая система подсказок;

- целостность и надежность данных.

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

- система должна обеспечивать машинное формирование входной информации и ее проверку,

- выдачу информации на экран монитора.

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

Разрабатываемая система должна работать в любой версии операционных систем семейства Windows.

Для этого рассмотрим наиболее распространенные средства реализации.

Необходимо сказать, что революционным шагом явилось появление визуального программирования основанного на принципе WYSIWYG (What you see is what you get), возникшего в Visual Basic и нашедшего блестящее воплощение в системах Delphi и C++Builder фирмы Borland.

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

Благодаря визуальному объектно-ориентированному программированию была создана технология, получившая название быстрая разработка приложений, по-английски - RAD-Rapid Application Development.

Системы Delphi и C++Builder это следующий шаг в развитии среды быстрой разработки приложений.

Для реализации была выбрана системы Delphi и язык программирования Object Pascal, так как хотя C++Builder и Delphi похожи, но предпочтительнее использовать Delphi, как более простой и удобный для разработки небольших приложений и баз данных.


3 Техническая часть

3.1 Разработка схемы алгоритма

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

Блок «начало» соответствует загрузке системы и выдачи главной формы.

Рисунок 1 – Алгоритм функционирования системы

Блок 1 – Начало программы.

Блок 2 – Ввод количества элементов в 1-го многочлена.

Блок 3 – Ввод количества элементов в 2-го многочлена.

Блок 4 – Цикл по всем элементам массивов a и b.

Блок 5 – Инициализация нулями массива a.

Блок 6 – Инициализация нулями массива b.

Блок 7 – Цикл по всем элементам массива d.

Блок 8 – Инициализация нулями массива d.

Блок 9 – Цикл по количеству введенных элементов массива a.

Блок 10 – Проверка условия является ли введенное значение элемента 1-го массива числом.

Блок 11 – Присваивание введенного значения в i-ый элемент массива.

Блок 12 – Вывод сообщения об ошибке на экран.

Блок 13 – Прекращения выполненных следующих далее инструкций.

Блок 14 – Цикл по количеству введенных элементов массива b.

Блок 15 – Проверка условия является ли введенное значение элемента 2-го массива числом.

Блок 16 – Присваивание введенного значения в i-ый элемент массива.

Блок 17 – Вывод сообщения об ошибке на экран.

Блок 18 – Прекращения выполненных следующих далее инструкций.

Блок 19 – Задать количество ячеек таблицы элементов многочлена-результата.

Блок 20 – Цикл для всех элементов многочлена-результата.

Блок 21 – Цикл для суммирования произведений a[i]*b[k-i], из которых складывается значение элемента многочлена-результата.

Блок 22 – Вычисление значения части суммы, из которой складывается значение элемента многочлена-результата.

Блок 23 – Вычисление значения элемента многочлена-результата.

Блок 24 – Вывод подписи для ячейки таблицы многочлена-результата..

Блок 25 – Вывод в заданную ячейку таблицы значения элемента многочлена-результата.

Блок 26 – Выход из программы.

3.2 Реализация программы на языке программирования

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

Код программы на языке программирования Object Pascal, разработанной в системе разработки Delphi.

unit Unit1; // название модуля


interface // область описывающая интерфейс

uses // подключаемые модули

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, Spin;

Type // описываемые типы

TForm1 = class(TForm)

Button1: TButton;

GroupBox1: TGroupBox;

Label3: TLabel;

SpinEdit1: TSpinEdit;

StringGrid1: TStringGrid;

GroupBox2: TGroupBox;

Label1: TLabel;

Label5: TLabel;

SpinEdit2: TSpinEdit;

StringGrid2: TStringGrid;

StringGrid3: TStringGrid;

Label2: TLabel;

procedure SpinEdit1Change(Sender: TObject);

procedure SpinEdit2Change(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var // объявление глобальных переменных

Form1: TForm1;

implementation // область описания реализации

{$R *.dfm}

// обработчик изменения значения в счетчике

procedure TForm1.SpinEdit1Change(Sender: TObject);

begin

StringGrid1.ColCount:=SpinEdit1.Value; // установить количество столбцов в таблице

StringGrid1.Cells[SpinEdit1.Value-1,0] := 'a' + IntToStr(SpinEdit1.Value-1); // установить надпись для столбца

end;

// обработчик изменения значения в счетчике

procedure TForm1.SpinEdit2Change(Sender: TObject);

begin

StringGrid2.ColCount:=SpinEdit2.Value;

StringGrid2.Cells[SpinEdit2.Value-1,0] := 'b' + IntToStr(SpinEdit2.Value-1);

end;

// обработчик нажатия кнопки

procedure TForm1.Button1Click(Sender: TObject);

var //объявление локальных переменных

a,b:array[0..10] of integer; // массивы элементов перемножаемых многочленов

d:array[0..20] of integer; // массив элементов результирующего многочлена

k,i:integer;

n,m:integer; // размеры многочленов

begin //начало процедуры

n:=SpinEdit1.Value; // размер 1-го многочлена

m:=SpinEdit2.Value; // размер 2-го многочлена

// инициализация многочленов нулями

for i:=0 to 10 do

begin

a[i] := 0;

b[i] := 0;

end;

for i:=0 to 20 do d[i] := 0;

// инициализация 1-го многочлена введенными значениями из таблицы формы

for i:=0 to n-1 do

begin

try

a[i]:=StrToInt(StringGrid1.Cells[i,1]); // инициализация элемента массива введенным значением

except // исключение

Application.MessageBox('Вы ввели ошибочное число в элементы первого многочлена. Повторите ввод.', 'Умножение многочленов ', MB_OK + MB_ICONSTOP); // вывод сообщения на экран

Exit; // выход из процедуры

end;

end;

// инициализация 2-го многочлена введенными значениями из таблицы формы

for i:=0 to m-1 do

begin

try

b[i]:=StrToInt(StringGrid2.Cells[i,1]); // инициализация элемента массива введенным значением

except

Application.MessageBox('Вы ввели ошибочное число в элементы второго многочлена. Повторите ввод.', 'Умножение многочленов ', MB_OK + MB_ICONSTOP); // вывод сообщения на экран

Exit; // выход из процедуры

end;

end;

StringGrid3.ColCount := n+m-1; // задать размер таблицы для многочлена-результата

// перемножение многочленов

for k:=0 to n+m-2 do

begin

for i:=0 to k do

begin

d[i] := d[k]; // нахождение произведения элементов многочленов

d[k] := d[i] + a[i] * b[k-i]; // нахождение элемента многочлена-результата

end;

StringGrid3.Cells[k,0] := 'd' + IntToStr(k); // вывод подписи для столбца таблицы со значениями элементов многочлена-результата

StringGrid3.Cells[k,1] := IntToStr(d[k]); // вывод значения элемента многочлена-результата в таблицу на офрму

end;

end; // конец процедуры обработчика нажатия кнопки

// события создания формы

procedure TForm1.FormCreate(Sender: TObject);

begin

Form1.SpinEdit1Change(Sender); // вызов обработчика счетчика

Form1.SpinEdit2Change(Sender); // вызов обработчика счетчика

end;

end. // конец всех инструкций


Заключение

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

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

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

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

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

В ходе выполнения курсовой работы был разработана программа «Project1.exe», выполненный при помощи языка программирования Object Pascal в интегрированной среде разработки Delphi.

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


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

1. Грис Д. Наука программирования. М.: Мир, 1984. – 416 с.,ил
2. Немюгин С.А. TURBO PASCAL. Программирование на языке высокого уровня.- СПБ.: Питер, 2003.
3. Котов В.М., Волков И.А., Харитонович А.И. Методы алгоритмизации. Мн.: Нар.асвета, 1996. – 127 с.: ил.
4. Культин Н.б. Delpi в примерах и задачах. – СПб.: БХВ – Петербург, 2006.

5. Поган А.М. Delpi руководство программиста. – М.: Ескмо, 2006.

6. Кандзюба С.П., Громов В.Н. Delphi базы данных и приложения. – М., СПб., К.: Diasoft, 2005.
7. Иртегов Д. В. Введение в операционные системы. – СПб.: БХВ-Петербург, 2002. – 624 с.: ил.
8. Системы отображения информации: Учебн. пособие для ВУЗов / Алиев Т.М., Пигдоров Д.И., Кривошеев В.П. – М.: Высш. школа, 1988. – 223 с.: ил.

Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

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

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Тгу им. Г. Р. Державина
Реферат сделан досрочно, преподавателю понравилось, я тоже в восторге. Спасибо Татьяне за ...
star star star star star
РЭУ им.Плеханово
Альберт хороший исполнитель, сделал реферат очень быстро, вечером заказала, утром уже все ...
star star star star star
ФЭК
Маринаааа, спасибо вам огромное! Вы профессионал своего дела! Рекомендую всем ✌🏽😎
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Подогнать готовую курсовую под СТО

Курсовая, не знаю

Срок сдачи к 7 дек.

только что
только что

Выполнить задания

Другое, Товароведение

Срок сдачи к 6 дек.

1 минуту назад

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

Лабораторная, Архитектура средств вычислительной техники

Срок сдачи к 12 дек.

1 минуту назад

Организации профилактики травматизма в спортивных секциях в общеобразовательной школе

Курсовая, профилактики травматизма, медицина

Срок сдачи к 5 дек.

2 минуты назад

краткая характеристика сбербанка анализ тарифов РКО

Отчет по практике, дистанционное банковское обслуживание

Срок сдачи к 5 дек.

2 минуты назад

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

Лабораторная, Моделирование, математика

Срок сдачи к 10 дек.

4 минуты назад

Проектирование заготовок, получаемых литьем в песчано-глинистые формы

Лабораторная, основы технологии машиностроения

Срок сдачи к 14 дек.

4 минуты назад

2504

Презентация, ММУ одна

Срок сдачи к 7 дек.

6 минут назад

выполнить 3 задачи

Контрольная, Сопротивление материалов

Срок сдачи к 11 дек.

6 минут назад

Вам необходимо выбрать модель медиастратегии

Другое, Медиапланирование, реклама, маркетинг

Срок сдачи к 7 дек.

7 минут назад

Ответить на задания

Решение задач, Цифровизация процессов управления, информатика, программирование

Срок сдачи к 20 дек.

7 минут назад
8 минут назад

Все на фото

Курсовая, Землеустройство

Срок сдачи к 12 дек.

9 минут назад

Разработка веб-информационной системы для автоматизации складских операций компании Hoff

Диплом, Логистические системы, логистика, информатика, программирование, теория автоматического управления

Срок сдачи к 1 мар.

10 минут назад
11 минут назад

перевод текста, выполнение упражнений

Перевод с ин. языка, Немецкий язык

Срок сдачи к 7 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

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

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно