Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
печать программирование контрольная работа.doc
Скачиваний:
2
Добавлен:
07.12.2018
Размер:
144.38 Кб
Скачать

2.2.4 Удаление программы

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

программа массив пользователь алгоритм

2.3 Руководство программиста

Программный продукт massiv разработан на языке программирования высокого уровня С++ в среде C++ Builder 2006. Программа предназначена для работы для любой платформе, где установлена среда NET Framework версии не ниже 1.1. Программный продукт состоит из файла massiv.exe.

При разработке в среде С++Builder были использованы следующие компоненты визуализации: 2 компонента Мемо(поле ввода и вывода) и 2 компонента Button (кнопки «Возрастание» и «Убывание).

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

float* a=new float [Memo1->Lines->Count]; - одномерный массив, который является расширяемым - размер массива и выделенное количество памяти зависит от количества введенных пользователем чисел. Все введенные пользователем числа в поле ввода сохраняются в данный массив.

a[x]=StrToFloat(Memo1->Lines->Strings[x]); - отдельный элемент массива считывающееся с поля ввода и преобразованный из строковой в числовую переменную.

int count=Memo1->Lines->Count; - целочисленная переменна равная количеству введенных чисел (строк).

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

{

int tmp;

for (int x = 0; x<count; ++x)

for (int j= x+1; j<count; j++)

{

if (a[x]>a[j])

{

tmp = a[x];

a[x] = a[j];

a[j] = tmp;

}

}

}

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

for(int x=0;x<Memo1->Lines->Count;x+=1)

Memo2->Lines->Add(a[x]);

ЗАКЛЮЧЕНИЕ

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

СПИСОК ИСПОЛЬЗОВАНЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ

1.Бобровский, С.И. Технологии С++Builder. Разработка приложений для бизнеса. Учебный курс. [Текст] / Бобровский С.И – СПб.:Питер, 2007. – 560с.

2.Архангельский, А.Я.. Программирование в С++Builder 6 и 2006. [Текст] / Архангельский А.Я., Тагин М.А. – М.: ООО «Бином-Пресс», 2007. - 1184с.

3. Бужан В.В. Основы программирования в среде Borland C++ Builder. Учебное пособие [Текст] / В.В. Бужан. — Краснодар.: ЮИМ, 2005. — 109 с.

4.Керниган, Б. Язык программирования Си Пер. с англ. [Текст] / Б. Керниган, Д. Ритчи. — М.: Финансы и статистика, 1992.– 272 с

5.Нейгел, К. C# 2008 и платформа .NET 3.5 для профессионалов [Текст] / К. Нейгел, Б. Ивьен, Дж. Глинн, К. Уотсон, М. Скиннер – М:. И.Д. «Вильямс», 2008. – 1392 с.

6.Павловская, Т.А. C/C++ Программирование на языке высокого уровня [Текст] / Т.А. Повловская. - СПб.: Питер, 2004. — 461 с.

7. Симонович,С.В .Информатика.[Текст] Базовый курс/С.В.Симонович – СПб.: Питер, 2004. – 640 с.

8. Уоррен,Д. Алгоритмические трюки для программистов.Пер. с англ. [Текст] / Д. Уоррен, С.Генри — М. : Вильямс, 2007, —288с,

9. Подбельский, В. В. Программирование на языке Си. [Текст] / В. В. Подбельский , С. С Фомин — М.: Финансы и статистика, 2005. - 600 с.

10. Амелина, Н.И. Задачи по программированию[Текст] / Н.И Амелина, Я.М. Демяненко - М.:Вузовская книга, 2008. – 500с

11. Вирт, Н.Алгоритмы и структуры данных.[Текст] /Н. Вирт - М.: Мир, 2007. – 452с.

12. Арсак, Р. Программирование игр и головоломок.[Текст] /Р. Арсак –М.:Мир, 2005. – 368с.

13.Шень, А.Программирование: теоремы и задачи.[Текст] /А. Шень – М.:МЦНМО, 2004 – 680с.

14. Скляров, В. А. Программирование на языках Си и Си++. [ Текст] / Скляров В. А - М.: Высшая школа, 2009 – 459с.

15. Керниган, Б.Язык программирования Си. Задачи по языку Си. [ Текст] / Б.Керниган, Д.Ритчи, А.Фьюер. - М.: Финансы и статистика, 1985 - 250с.

ПРИЛОЖЕНИЕ А

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

#include <vcl.h>

#pragma hdrstop

#include<iostream.h>

#include<math.h>

#include "massiv.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

//кнопка «Возрастание»

void __fastcall TForm1::Button1Click(TObject *Sender)

{

{ Memo2->Lines->Clear();

float* a=new float [Memo1->Lines->Count];

for(int x=0;x<Memo1->Lines->Count;x+=1)

a[x]=StrToFloat(Memo1->Lines->Strings[x]);

int count=Memo1->Lines->Count;

{

int tmp;

for (int x = 0; x<count; ++x)

for (int j= x+1; j<count; j++)

{

if (a[x]>a[j])

{

tmp = a[x];

a[x] = a[j];

a[j] = tmp;

}

}

}

for(int x=0;x<Memo1->Lines->Count;x+=1)

Memo2->Lines->Add(a[x]);}

}

//---------------------------------------------------------------------------

//кнопка «Убывание»

void __fastcall TForm1::Button2Click(TObject *Sender)

{

{ Memo2->Lines->Clear();

float* a=new float [Memo1->Lines->Count];

for(int x=0;x<Memo1->Lines->Count;x+=1)

a[x]=StrToFloat(Memo1->Lines->Strings[x]);

int count=Memo1->Lines->Count;

{

int tmp;

for (int x = 0; x<count; ++x)

for (int j= x+1; j<count; j++)

{

if (a[x]<a[j])

{

tmp = a[x];

a[x] = a[j];

a[j] = tmp;

}

}

}

for(int x=0;x<Memo1->Lines->Count;x+=1)

Memo2->Lines->Add(a[x]); }

}