- •Академия маркетинга и социально-информационных технологий контрольная работа
- •Введение
- •1. Основная часть
- •2. Программная реализация решения задачи
- •1. Основная часть
- •1.1 Постановка задачи
- •1.2 Теоретическое решение задачи
- •2. Программная реализация решения задачи
- •2.1 Выбор языка программирования и среды разработки
- •2.2.4 Удаление программы
- •2.3 Руководство программиста
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]); }
}