Разработка программного продукта на языке высокого уровня
Разработка комплекса алгоритмов. Кодирование и компиляция. Тестирование, отладка, испытание и сдача программы. Минимальные системные требования для использования Delphi 7. Написание программы с использованием инструментального языка высокого уровня.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 21.02.2011 |
Размер файла | 2,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное агентство по образованию ГОУ СПО
КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Курсовая работа
по дисциплине Технология разработки программных продуктов
на тему: “Разработка программного продукта на языке высокого уровня”
Выполнила студентка 4-ПО-9,11 группы Черненко Галина
Допущена к защите «___» декабря
Руководитель работы
Т.Ю.Некрасова
Защищена «_ _» декабря 2010 г.
Оценка
Члены комиссии:
Кореновск 2010 г.
КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ЗАДАНИЕ
на курсовое проектирование
Студентке 4-ПО-9,11 Черненко Галине
Тема работы: “Разработка программного продукта на языке высокого уровня”.
Содержание задания:
Составить программу, которая для задаваемых натуральных значений N и M не больших 10, принимает значение элемента массивов А(n,m) и В(m,n). Интерпретируя массивы А(n,m) и В(m,n) как матрицы, формирует массив С(n,n), являющийся произведением матриц А и В, и выводит массив С на экран.
Объем работы:
а) пояснительная записка к проекту;
б) приложения.
Срок защиты: 04.12.2010 г.
Дата выдачи задания: 25.09.2010 г.
Дата сдачи работы: 25.11.2010 г.
Руководитель работы_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Т.Ю.Некрасова
Задание приняла студентка_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Г.А.Черненко
Кореновск 2010 г.
Содержание
Введение
1. Основная часть
1.1 Постановка задачи
1.2 Системные требования
1.3 Блок-схема
1.4 Структура данных
1.5 Проектирование
1.6 Интерфейс программы
1.7 Написание программы
1.8 Тестирование программы
2. Заключение
3. Список литературы
4. Листинг программы
Введение
Программирование -- одновременно наука и искусство создания компьютерных программ и\или программного обеспечения с помощью языков программирования. Программирование сочетает в себе элементы искусства, фундаментальных наук (прежде всего информатика и математика). Цель программирования состоит в том, чтобы создать программу, которая показывает определенное желательное поведение в ответ на действия пользователя либо автономно - независимо от пользователя.
Программирование включает в себя:
· Анализ
· Проектирование -- разработка комплекса алгоритмов
· Кодирование и компиляцию -- написание исходного текста программы и преобразование его в исполнимый код с помощью компилятора
· Тестирование и отладку -- выявление и устранение ошибок в программах
· Испытания и сдачу программ
· Сопровождение
Большая часть работы программистов связана с написанием исходного кода, тестированием и отладкой программ на одном из языков программирования. Исходные тексты и исполняемые файлы программ являются объектами авторского права и являются интеллектуальной собственностью их авторов и правообладателей.
Язымк программимрования -- формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.
Со времени создания первых программируемых машин человечество придумало более двух с половиной тысяч языков программирования. Каждый год их число пополняется новыми. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.
Теоретическую основу языков программирования составляют алгоритмические языки. В настоящее время для ЭВМ разработано значительное количество языков программирования. Они отличаются друг от друга различными свойствами, а значит, и областью применения.
· Паскаль Самоучитель программирования
· Ассемблер Леонтьев
· Си++
· BASIC
· Delphi -- язык программирования, который используется в одноимённой среде разработки. Сначала язык назывался Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.
Время компиляции программ у любого C-языка на порядок дольше, чем у Delphi, это понижает отдачу от программиста - не каждый может писать код без малейших ошибок. Даже на мощных машинах С-продукты не могут обеспечить быстродействия, присущего Delphi.
Другим важным фактором успеха Delphi является его "визуальность". Можно сказать, что здесь программист не должен думать о всяких мелочах - как создать окно или кнопку, какие для этого необходимы классы или библиотеки. Задачи, для которых на C требуется множество усилий, в Delphi решаются несколькими кликами. Однако, вопреки сложившемуся мнению, при этом язык не теряет возможности доступа к низкоуровневым свойствам объектов, это делает его уникальным.
Для многих программистов немаловажным фактором является способность системы работать с базами данных. Delphi поддерживает базы данных, причем с той же присущей системе визуальностью. С таким же изяществом позволяет она разрабатывать и клиентский уровень СУБД "клиент-сервер", что чрезвычайно актуально сейчас. Встроенные мастера позволяют быстро создать необходимые компоненты и процедуры, а программисту остается лишь дописать свой код.
Основная часть
Постановка задачи
Составить программу, которая для задаваемых натуральных значений N и M не больших 10, принимает значение элемента массивов А(n,m) и В(m,n). Интерпретируя массивы А(n,m) и В(m,n) как матрицы, формирует массив С(n,n), являющийся произведением матриц А и В, и выводит массив С на экран.
Функции программы
Данный программный продукт позволит пользователю самому выбрать размерность матриц не больших 10. Далее на экран будут выведены 2 матрицы: А и B. Впоследствии эти матрицы будем автоматически перемножать, и получится матрица С. Выводим ее на экран.
Данная программа будет выполнена на инструментальном языке высокого уровня Delphi 7.
Ключевые возможности, появившиеся в Delphi 7:
· предварительный вариант средств для работы с Microsoft .NET Framework;
· Kylix 3.0 для Linux в составе пакета;
· бесплатная лицензия на развертывание многозвенных приложений (которая до этого была платной), использующих технологию DataSnap (прежнее название - MIDAS);
· полное решение проектирования и развертывания корпоративных приложений по технологии Model Driven Architecture (MDA);
· мощные и удобные средства разработки WEB-приложений;
· средства создания качественных кроссплатформенных отчетов Rave Reports;
· среда моделирования ModelMaker (по технологии UML).
Компания Borland первой предоставила разработчикам возможность перехода на .NET при помощи Delphi 7. Поддержка компанией Borland платформы .NET позволяет разработчиками, использующим Delphi, быстро и продуктивно создавать приложения для .NET с сохранением существующих инвестиций в информационные технологии. Теперь работа в Delphi 7 позволяет программистам легко переносить имеющиеся у них знания, навыки и ресурсы на платформу .NET.
Системные требования
Минимальные системные требования для использования Delphi 7:
· Процессор - Intel Pentium 233 МГц и выше
· Операционная система - Microsoft Windows XP, Windows 2000
· Оперативная память - 64 Мбайт (рекомендуется 128 Мбайт)
· Пространство на жестком диске - 450 Мбайт
· Монитор - SVGA или выше
· Другое аппаратное обеспечение - CD-ROM, мышь, клавиатура
Данная программа находится в папке «Программа» размером 1,53 МБ на диске CD-R размером 700 МБ, которая представляет собой исполняемый файл COURSE.exe размером 765 КБ.
Для тестирования программы необходимы следующие технические средства:
· процессор Intel Celeron 300 и выше;
· память 32Mb;
· свободное пространство на жестком диске 5Мb;
· видеокарта встроенная;
· монитор Samsung SyncMaster с разрешением не менее 1024x768;
· CD-ROM;
· клавиатура;
· мышь;
Блок схема программы
В блок-схеме использовались следующие типы блоков:
1. Операция начала и конца алгоритма
2. Оператор ввода и вывода данных
3. Оператор присваивания
4. Оператор действия
5. Оператор логического условия
Блок-схема заполнения массивов A и B:
Размещено на http://www.allbest.ru/
Блок-схема перемножения матриц A и B:
Размещено на http://www.allbest.ru/
Структура данных
Integer- один из простейших и самых распространённых типов данных в языках программирования. Целые типы подразделяются на беззнаковые (без знака) и знаковые (со знаком).
Как правило, диапазон целых чисел определяется количеством байтов в памяти компьютера, отводимых под одну переменную:
m-байтовая переменная целого типа без знака принимает значения от 0 до +28m-1;
m-байтовая переменная целого типа со знаком принимает значения от ?28m-1 до +28m-1-1.
Boolean- тип данных -- примитивный тип данных в информатике, которые могут принимать два возможных значения, иногда называемых правдой и ложью. Присутствует в подавляющем большинстве языков программирования как самостоятельная сущность или реализуется через численный тип. В подавляющем большинстве языков за истину полагается единица, за ложь - ноль.
String-В компьютерном программировании, строка, по существу, последовательность символов. Строка, как правило, понимается как тип данных хранения последовательности значений данных, как правило, байт, в котором элементы обычно стоят иероглифы по кодировку, которая отличает его от более общих типов данных массива. В этом контексте термины двоичную строку и байт строки использоваться, чтобы предложить строки, в которых хранятся данные не (обязательно) представляют собой текст.
Longint- целое 32 битное число со знаком. Этот размер фиксирован, и не будет изменяться в будущих выпусках Delphi. В настоящее время он имеет тот же самый размер как тип Integer.
Проектирование
В проектирование моей программы я должна учесть все нюансы работы с матрицами, в особенности их умножения. Перемножение матриц происходит, последовательно перемножая элементы строки одной матрицы, на элементы столбца другой матрицы.
Для хранения матриц, а также операций с ними, я выбрала объект Delphi StringGrid типа TStringGrid. Этот объект удобен тем, что его структура напоминает строение матрицы, то есть так же имеются строки и столбцы.
Работая с заданным проектом получила навыки оперировать объектами Delphi, в частности объектом StringGrid, Label, Edit, BitBtn.
Интерфейс программы
Рис. 1
При запуске программы вы увидите окно, изображенное на рис.1. В верху окна расположено меню для операций с программой. С кнопки Выполнить можно начать работу для перемножения матриц. Калькулятор - запуск приложения калькулятор, Помощь - имеет 2 вкладки: О программе и About, далее кнопка Выход - выход из программы.
Написание программы
Для написания программы я использовала инструментальный язык высокого уровня Delphi 7, который в свою очередь использует Object Pascal.
Перед запуском, программа предлагает ввести пароль для подтверждения запуска, неправильно введенный пароль не позволит запустить программу. Это реализовано в отдельной форме, которая запускается обработчиком событий (EVENTS=>OnShow), то есть не покажется главное окно, пока не исполнится запущенное => ввод пароля.
При загрузке программы в меню, нажимая на кнопку выполнить запускается процедура (procedure TForm1.N1Click(Sender: TObject)), которая создает форму (Form3:=TForm3.Create(Application)) для задания размерности матриц. Это выполняется полем Edit и объектом UpDown.
Зная размерность нужно заполнить эту матрицу. Заполнение происходит через циклы случайными числами от 1 до 30 при помощи функции Random.
Матрицы будут перемножаться после нажатия на кнопку «Подсчитать», которая вызывает процедуру (procedure TForm3.BitBtn1Click(Sender: TObject)), после перемножения, полученная матрица выводится на главную форму в StringGrid для просмотра результатов.
Калькулятор, в меню запускает встроенное в windows-приложение, калькулятор.
Код введения и перемножения матриц
unit Unit3;
interface
uses //подключаемые модули
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, Buttons, ComCtrls, jpeg, ExtCtrls;
type //объявление типов
TForm3 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
BitBtn1: TBitBtn;
Label4: TLabel;
Label5: TLabel;
UpDown1: TUpDown;
UpDown2: TUpDown;
Image1: TImage;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure UpDown1Changing(Sender: TObject; var AllowChange: Boolean);
procedure UpDown2Changing(Sender: TObject; var AllowChange: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
col,st:integer; //объявление глобальных переменных
implementation
uses Unit1;
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
var
i,j,raz:integer; //объявления локальных переменных
begin
randomize;//исключение псевдо-случайных чисел
st:=strtoint(edit1.Text); //присвоение переменной значения размерности матрицы, строки
col:=strtoint(edit2.Text);//присвоение переменной значения размерности матрицы, столбцы
Label1.Visible:=false;//сделать надпись невидимой
Label2.Visible:=false;//сделать надпись невидимой
Label3.Visible:=false;//сделать надпись невидимой
edit1.Visible:= false;//сделать поле ввода невидимым
edit2.Visible:= false;//сделать поле ввода невидимым
UpDown1.Visible:=false;//сделать UpDown невидимым
UpDown2.Visible:=false;//сделать UpDown невидимым
Button1.Visible:=False;//сделать кнопку "ОК" невидимой
StringGrid1.rowCount:=st; //задание колличества строк первой матрицы
stringGrid1.ColCount:=col ;//задание колличества столбцов первой матрицы
StringGrid2.rowCount:=col; //задание колличества строк второй матрицы
StringGrid2.ColCount:=st;//задание колличества столбцов второй матрицы
form1.StringGrid1.rowCount:=col ;//задание размерности на главном окне матрицы для показа
form1.StringGrid1.ColCount:=col;//задание размерности на главном окне матрицы для показа
for i:=0 to col-1 do //циклы для запонения матрицы числами
for j:=0 to st-1 do
begin
StringGrid1.Cells[i,j]:= inttostr(random(30)+1);//заполнения первой матрицы
StringGrid2.Cells[j,i]:= inttostr(random(30)+1);//заполнения второй матрицы
end;
Label4.Visible:=true; //сделать надпись видимой
Label5.Visible:=true;//заполнения первой матрицы
StringGrid1.Visible:=true; //сделать матрицу видимой
StringGrid2.Visible:=true;//сделать матрицу видимой
BitBtn1.Visible:=true; //сделать кнопку "подсчитать" видимой
end;
procedure TForm3.BitBtn1Click(Sender: TObject); {процедура перемножения матриц и выведения в главную форму}
var
i,j,k:integer; {объявление переменных}
l:Longint; {объявление переменных}
begin
for i:=0 to col-1 do {цикл от 0 до колличества столбцов, т.к с нуля, отнимаем единицу}
for j:=0 to col-1 do
begin
l:=0; {обнуления переменной для правильного подсчета}
for k:=0 to st-1 do
begin
l:=l+strtoint(StringGrid1.cells[i,k])* strtoint(StringGrid2.cells[k,j]);{перемножения матриц}
form1.StringGrid1.Cells[i,j]:=inttostr(l);{Выведение на блавную форму}
end;
end;
close; {закрытие текущей формы}
form1.StringGrid1.Visible:=true;{Сделать видимый stringGrid на главном окне}
end;
procedure TForm3.UpDown1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
edit1.Text:=IntToStr(UpDown1.Position){Присвоени позиции в edit, для задания размерности}
end;
procedure TForm3.UpDown2Changing(Sender: TObject;
var AllowChange: Boolean);
begin
edit2.Text:=IntToStr(UpDown2.Position){Присвоени позиции в edit, для задания размерности}
end;
end. {конец модуля}
Тестирование программы
Данный программный продукт испытывался постоянно в процессе его создания, проверялась практически каждая ветвь алгоритма. При возникновении ошибок они устранялись, и программа испытывалась вновь. Испытания проводились до тех пор, пока не были устранены все найденные ошибки.
Для проведения испытаний использовался самый простой метод - динамический, который заключается в том, что все испытания проводились в разное время и на разных компьютерах.
Начинаем тестирование
Запуск программы производится при помощи ехе-файла . Сразу появляется окно запроса пароля (рис.2) , вводим пароль, и нажимаем кнопку Ок.
Если же пароль введен неверно всплывает сообщение пользователю (рис.3),
Если пароль введен верно, запускается загрузка программы (рис.4).
Далее после загрузки открывается главное окно программы (рис. 5)
При нажатии кнопки Выполнить открывается окно для задания размерности матриц А и В (рис.6)
После того, как вы ввели нужные вам размеры, после нажатия кнопки ОК данные матрицы будут показаны для обозрения пользователю (рис.7)
Подсчитать - окно выдачи результатов перемножения данных матриц (рис.8)
Калькулятор - вспомогательная кнопка, которая при нажатии открывает калькулятор (рис.9)
алгоритм программа инструментальный язык
Кнопка Помощь имеет 2 вкладки: О программе (рис.10) и About (рис.11).
При нажатии на кнопку Выход всплывает сообщение пользователю о подтверждении закрытия программы (рис.12)
Заключение
Разработка данного программного показывает, что данный процесс требует значительных творческих и умственных усилий, наличия определенного объема знаний по программированию на языке Delphi и умелого использования этих знаний.
Кроме того, важными моментами при разработки программы являются описание спецификации программы, алгоритма ее реализации, хотя Delphi и предоставляет необходимые средства для упрощения процесса программирования.
Проведенное тестирование программы позволяет сделать вывод о работоспособности программы и ее соответствии заданию. Выявленные недостатки предполагают дальнейшую работу над совершенствованием программы, что предоставляет начинающему программисту обширное поле деятельности для повышения знаний и совершенствовании навыков программирования на Delphi, освоении новых аспектов программирования в современной среде.net.
В результате учета всех отмеченных при тестировании недостатков возможно улучшение созданного программного продукта, на которое потребуется необходимое количество изменений исходного кода программы.
Список использованных источников
1. Архангельский А.Я. «Приемы программирования в Delphi».: Издательство «Бином-Пресс» 2006г. -944 стр. -ISBN 5-9518-0145-1
2. С.И. Бобровский «Delphi 7 Учебный курс».: Издательство «Питер» 2004. - 736 с. - ISBN 5-8046-0086-9
3. Культин Н.Б. «Основы программирования в Delphi 7».: Издательство BHV - СПБ. 2008г. - 480 с. -ISBN 978-5-9775-0235-1
4. Культин Н.Б. Программирование на Object Pascal в Delphi 5.Самоучитель.:Издательство BHV-СПБ. - 464стр. -ISBN 5-8206-0079-7
5. Фаронов В.В. «Delphi 2005. Издательство «Питер». 2006г. - 608стр. - ISBN 5-469-01191-7
6. Интернет:
· http://www.delphizone.ru/
· http://www.delphibasics.ru/
· http://pblog.ru/?p=77
· http://delphiexpert.ru/view_lesson.php?id=40
· http://www.delphisources.ru/pages/faq/faq_delphi_basics/1Procedures.php.html
Листинг программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, Menus, StdCtrls, ExtCtrls, jpeg, ShellAPI;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
StringGrid1: TStringGrid;
N2: TMenuItem;
N3: TMenuItem;
Timer1: TTimer;
Timer2: TTimer;
Label1: TLabel;
Label2: TLabel;
Image1: TImage;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Label1Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Label2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6;
{$R *.dfm}
procedure TForm1.N1Click(Sender: TObject);
begin
form2.ShowModal
end;
procedure TForm1.N2Click(Sender: TObject);
begin
Form3:=TForm3.Create(Application);
form3.Height:=285;
form3.Width:=465;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
close;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
form4.ShowModal;
form6.ShowModal;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Left:=random(200);
Label1.Top:=random(160);
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
if Timer1.Enabled=true then Timer1.Enabled:=false
else Timer1.Enabled:=true;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
Label2.Left:=Label2.Left-1;
if Label2.Left+Label2.Width < 0 then
Label2.Left:=Self.Width;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
aboutbox.ShowModal;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
ShellExecute (0,'open','calc.exe',nil,nil,SW_SHow);
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if MessageDlg('Закрыть программу?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
CanClose:=true
else
CanClose:=false;
end;
procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Label1.Left:=random(200);
Label1.Top:=random(160);
end;
procedure TForm1.Label2Click(Sender: TObject);
begin
if Timer2.Enabled=true then Timer2.Enabled:=false
else
Timer2.Enabled:=true;
end;
end.
unit Unit3;
interface
uses //подключаемые модули
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, Buttons, ComCtrls, jpeg, ExtCtrls;
type //объявление типов
TForm3 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
BitBtn1: TBitBtn;
Label4: TLabel;
Label5: TLabel;
UpDown1: TUpDown;
UpDown2: TUpDown;
Image1: TImage;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure UpDown1Changing(Sender: TObject; var AllowChange: Boolean);
procedure UpDown2Changing(Sender: TObject; var AllowChange: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
col,st:integer; //объявление глобальных переменных
implementation
uses Unit1;
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
var
i,j,raz:integer; //объявления локальных переменных
begin
randomize;//исключение псевдо-случайных чисел
st:=strtoint(edit1.Text); //присвоение переменной значения размерности матрицы, строки
col:=strtoint(edit2.Text);//присвоение переменной значения размерности матрицы, столбцы
Label1.Visible:=false;//сделать надпись невидимой
Label2.Visible:=false;//сделать надпись невидимой
Label3.Visible:=false;//сделать надпись невидимой
edit1.Visible:= false;//сделать поле ввода невидимым
edit2.Visible:= false;//сделать поле ввода невидимым
UpDown1.Visible:=false;//сделать UpDown невидимым
UpDown2.Visible:=false;//сделать UpDown невидимым
Button1.Visible:=False;//сделать кнопку "ОК" невидимой
StringGrid1.rowCount:=st; //задание колличества строк первой матрицы
stringGrid1.ColCount:=col ;//задание колличества столбцов первой матрицы
StringGrid2.rowCount:=col; //задание колличества строк второй матрицы
StringGrid2.ColCount:=st;//задание колличества столбцов второй матрицы
form1.StringGrid1.rowCount:=col ;//задание размерности на главном окне матрицы для показа
form1.StringGrid1.ColCount:=col;//задание размерности на главном окне матрицы для показа
for i:=0 to col-1 do //циклы для запонения матрицы числами
for j:=0 to st-1 do
begin
StringGrid1.Cells[i,j]:= inttostr(random(30)+1);//заполнения первой матрицы
StringGrid2.Cells[j,i]:= inttostr(random(30)+1);//заполнения второй матрицы
end;
Label4.Visible:=true; //сделать надпись видимой
Label5.Visible:=true;//заполнения первой матрицы
StringGrid1.Visible:=true; //сделать матрицу видимой
StringGrid2.Visible:=true;//сделать матрицу видимой
BitBtn1.Visible:=true; //сделать кнопку "подсчитать" видимой
end;
procedure TForm3.BitBtn1Click(Sender: TObject); {процедура перемножения матриц и выведения в главную форму}
var
i,j,k:integer; {объявление переменных}
l:Longint; {объявление переменных}
begin
for i:=0 to col-1 do {цикл от 0 до колличества столбцов, т.к с нуля, отнимаем единицу}
for j:=0 to col-1 do
begin
l:=0; {обнуления переменной для правильного подсчета}
for k:=0 to st-1 do
begin
l:=l+strtoint(StringGrid1.cells[i,k])* strtoint(StringGrid2.cells[k,j]);{перемножения матриц}
form1.StringGrid1.Cells[i,j]:=inttostr(l);{Выведение на блавную форму}
end;
end;
close; {закрытие текущей формы}
form1.StringGrid1.Visible:=true;{Сделать видимый stringGrid на главном окне}
end;
procedure TForm3.UpDown1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
edit1.Text:=IntToStr(UpDown1.Position){Присвоени позиции в edit, для задания размерности}
end;
procedure TForm3.UpDown2Changing(Sender: TObject;
var AllowChange: Boolean);
begin
edit2.Text:=IntToStr(UpDown2.Position){Присвоени позиции в edit, для задания размерности}
end;
end. {конец модуля}
Размещено на Allbest.ru
Подобные документы
Программа для выбираемой единицы измерения (градусы Фаренгейта или Цельсия) и для задаваемого значения температуры в этой единице измерения. Среда Delphi. Системные требования. Блок схема программы. Интерфейс. Тестирование и сопровождение программы.
курсовая работа [447,6 K], добавлен 04.02.2009Ознакомление с возможностями языка Си как средой программирования высокого уровня. Циклы программирования параметрического оператора for и функции форматированного ввода. Разработка программы средствами Си: блок-схема, текст и тестирование программы.
контрольная работа [204,4 K], добавлен 26.01.2013Составление программы. Среда Delphi - механизм, обеспечивающий эффективную работу программиста. Составление программы, которая выводит для выбираемой единицы измерения (километры в час, мили в час или узлы) значение скорости в других единицах измерения.
курсовая работа [684,0 K], добавлен 04.02.2009Разработка программы создания заметок в любом месте компьютера. Выбор технологии, языка и среды разработки приложения. Описание основных алгоритмов работы программного обеспечения. Проектирование пользовательского интерфейса. Выбор стратегии тестирования.
отчет по практике [700,5 K], добавлен 24.11.2014Выбор алгоритма решения задачи. Разработка программы, обеспечивающую эффективную обработку и хранение информации с использованием линейных списков. Написание программы на псевдокоде и на языке программирования высокого уровня. Результаты работы программы.
курсовая работа [2,1 M], добавлен 21.04.2012Понятие и цель применения текстовых данных. Принцип кодирования азбуки Морзе. Основные методы языка высокого уровня C#. Алгоритм работы, листинг, тестирование программы для перевода текста в последовательность кодов азбуки Морзе. Руководство пользователя.
курсовая работа [1,4 M], добавлен 15.01.2013Сравнительный анализ языков программирования высокого уровня Си и Паскаль. Реализация алгоритма обработки данных. Тестирование и отладка программы или пакета программ. Структура программы на языке Турбо Паскаль. Указатели и векторные типы данных.
курсовая работа [233,5 K], добавлен 14.12.2012Характеристика и особенности системы Pascal ABC 3.0.1. Обучение программированию школьников и студентов младших курсов. Создание и отладка программного продукта для поиска документа, книги в библиотеке или в архиве, получения информации об издании.
курсовая работа [3,4 M], добавлен 11.09.2011Особенности алгоритмов, критерии качества. Создание и применение программного продукта на языке Delphi. Тип операционной системы. Внутренняя структура программного продукта. Руководство пользователя и программиста, расчет себестоимости и цены программы.
дипломная работа [1,5 M], добавлен 12.06.2009Разработка программы обработки типизированных файлов с кодом на языке Object Pascal, с использованием компонентов Delphi для ввода и вывода данных. Разработка экранных форм и алгоритма программы. Описание программных модулей и инструкция оператору.
курсовая работа [1,5 M], добавлен 08.02.2011