Разработки приложений

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 25.10.2014
Размер файла 127,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Оглавление

Введение

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

2. Инструментальные средства решения задачи

2.1 Обоснование выбора языка программирования

2.2 Техническое описание языка программирования

3. Программное обеспечение решения задачи

3.1 Алгоритм решения задачи

3.2 Описание интерфейса программы

Заключение

Библиографический список

Приложения

Введение

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

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

Современные интегрированные средства разработки приложений Windows позволяют автоматизировать процесс создания приложения. Для этого используются генераторы приложений. Программист отвечает на вопросы генератора приложений и определяет свойства приложения - поддерживает ли оно многооконный режим, технологию OLE, трехмерные органы управления, справочную систему. Генератор приложений, создаст приложение, отвечающее требованиям, и предоставит исходные тексты. Пользуясь им как шаблоном, программист сможет быстро разрабатывать свои приложения. Подобные средства автоматизированного создания приложений включены в компилятор Microsoft Visual Studio 2008 и называются MFC Application. Заполнив несколько диалоговых панелей, можно указать характеристики приложения и получить его тексты, снабженные обширными комментариями.

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

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

Входная информация.

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

Выходная информация.

Выходной информацией является упорядоченный список выводимый на экран или в файл.

2. Инструментальные средства решения задачи

2.1 Обоснование выбора языка программирования

Microsoft Visual Studio 2008 - один из самых популярнейших систем программирования. Он является объектно-ориентированным языком высокого уровня. Его среда прекрасно подходит для разработки приложений практически любого типа. Можно создавать мощные автономные приложения, служебные утилиты, математические задачи, игры, библиотеки dll, файлы ресурсов, затратив на это меньше времени, чем при работе с любым другим языком программирования. Различные технологии позволяет писать приложения с поддержкой Internet, возможности которых ограничиваются только фантазией программиста. MS Visual Studio 2008 содержит графическую среду, в которой можно наглядно контролировать экранные формы и управляющие элементы, используемые в ваших приложениях. программа интерфейс редактирование

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

Также в MS Visual Studio 2008 можно создавать программы не только на языке C++, но и на языках C#, VB и прочих.

Для быстрого создания диалоговых программ можно использовать MFC, то есть это базовый набор классов, написанных на языке С++ и предназначенных для упрощения и ускорения процесса программирования под Windows. Перед изучением библиотеки MFC и ее использованием для создания Windows-приложений, следует вспомнить, как работает сама Windows и каковы принципы взаимодействия программ с ней, какова структура типичной Windows-программы.

2.2 Техническое описание языка программирования

Основная программная единица на языке С++ - это текстовый файл с названием <имя>.cpp, где cpp - принятое расширение для программ на С++, а имя выбирается достаточно произвольно. Для подключения таких файлов к проекту, используется директива препроцессора #include. Эта директива вставляет в программу заранее подготовленные тексты из включаемых файлов. Сформированный таким образом измененный текст программы поступает на компиляцию.

В алфавит языка С++ входят:

- прописные и строчные буквы латинского алфавита;

- цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;

- специальные знаки: " {}, | [] () + - / % \ ; ' : ? < = > _ ! & # ~ ^ . *

Из символов алфавита формируются лексемы языка:

- идентификаторы;

- ключевые (зарезервированные) слова;

- константы;

- знаки операций;

- разделители (знаки пунктуации).

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

- char (символьный);

- short (короткий целый);

- int (целый);

- long (длинный целый);

- float (вещественный);

- double (вещественный с удвоенной точностью);

- void (отсутствие значения).

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

Также в определении типа может использоваться одновременно несколько служебных слов (long double <имя>), то есть объявляется переменная <имя> вещественного типа повышенной точности.

2.3 Технические требования к компьютеру для решения задачи

Для работы программы необходимы следующие ресурсы:

- процессор: Pentium 4 (а также другие современные процессоры других производителей);

- объем оперативной памяти: 512 Мбайт;

- место на жестком диске: 25 Мбайт;

- операционная система: Windows 2000, Windows XP, Windows 2003, Windows Vista, Windows 7;

- устройство чтения компакт-дисков;

- манипулятор типа мышь;

- устройство ввода (клавиатура).

3. Программное обеспечение решения задачи

3.1 Алгоритм решения задачи

Шаг 1. Начало.

Шаг 2. Запуск программы.

Шаг 3. Проверка: Добавить запись? Если да, то добавить запись, иначе перейти к шагу 4.

Шаг 4. Проверка: Редактировать запись? Если да, то редактировать запись, иначе перейти к шагу 5.

Шаг 5. Проверка: Выполнить чтение файла? Если да, прочитать файл и вывести его содержимое на экран, иначе перейти к шагу 6.

Шаг 6. Проверка: Выполнить сортировку? перейти к шагу 7.

Шаг 7. Проверка: Выполнить сортировку по наименованию блюда? Если да, то выполнить сортировку и перейти к шагу 10, иначе перейти к шагу 8.

Шаг 8. Проверка: Выполнить сортировку по цене? Если да, то выполнить сортировку и перейти к шагу 10, иначе перейти к шагу 9.

Шаг 9. Проверка: Выполнить сортировку по рейтингу блюда? Если да, то выполнить сортировку, иначе перейти к шагу 10.

Шаг 10. Проверка: Очистить файл? Если да, то очистить файл и перейти к шагу 11.

Шаг 11. Проверка: Выйти из программы? Если да, то перейти к шагу 12, иначе перейти к шагу 3.

Шаг 12. Конец.

Основной алгоритм работы программы выполняется от шага 3 до шага 10.

На шаге 3, вызывается функция addNewRecord(). Данная функция запрашивает новые данные от пользователя для последующей их записи в файл. Функция запрашивает введение следующих данных: номер записи, наименование блюда, вес, цену, рейтинг блюда среди клиентов и страну происхождения блюда. После каждого ввода пользователя информация записывается в конец файла "Menu.txt". По окончании добавления новой записи происходит приращение значения счетчика записей.

На шаге 4, вызывается функция redactRecord(). Данная функция позволяет пользователю редактировать записи в файле "Menu.txt". Изначально она запрашивает ввод пользователем номера записи, которую следует отредактировать. Затем предоставляется возможность введения новых данных во все поля редактируемой записи. После чего производится перезапись файла "Menu.txt".

На шаге 5 выполняется функция readOfFile(). Данная функция производит чтение данных из файла "Menu.txt" и выводит полученную информацию на экран.

На шаге 6 выполняется функция sortirovka(). Данная функция сначала вызывает на выполнение функцию readOfFile(), затем предлагает пользователю выбрать тот вид сортировки, который ему необходимо выполнить. При выборе одного из предлагаемых пунктов меню, функция sortirovka() вызывает функцию сортировки по одному из полей (name, price, rating). После возврата в функцию sortirovka() производится запись отсортированной информации в файл "Menu.txt".

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

В данной функции определены такие переменные, как npn, num_elem и n_min, где npn - номер первого не отсортированного элемента, за который изначально принимается первый элемент;

num_elem - номер последнего элемента;

n_min - номер минимального элемента, за который принимается элемент следующий за первым неотсортированным.

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

На шаге 8 выполняется функция sort_price(). Данная функция проводит такую же сортировку, как и функция sort_name(), но по полю name.

На шаге 9 выполняется функция sort_rating(). Данная функция проводит сортировку данных по полю rating.

На шаге 10 выполняется функция fileClear(). Данная функция выполняет полное очищение файла "Menu.txt".

3.2 Описание интерфейса программы

Интерфейс программы состоит из одного основного окна, показанного на рисунке 3.2.1.

Рис.3.2.1.

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

Соответствие цифр пунктам меню следующее:

-"1"- при вводе данного числа вызывается функция addNewRecord, которая добавит новую запись.

-"2"- при вводе данного числа вызывается функция reductRecord которая отредактирует указанную пользователем запись.

-"3"- при вводе данного числа вызывается функция readOfFile, которая

выполнит чтение файла и выведет его содержимое на экран.

-"4"- при вводе данного числа вызывается функция sortirovka которая в

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

-"5"- при вводе данного числа вызывается функция fileClear, которая позволяет полностью очищать файл.

-"6"- при вводе данного числа происходит завершение программы.

Заключение

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

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

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

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

Библиографический список

1. Пахомов Б.И. С/С++ и MS Visual C++2008 для начинающих.- СПб.: БХВ-Петербург.2009.-624с.: ил.

2. Павловская Т.А. С/С++. Программирование на языке высокого уровня.-СПб.:Питер,2003.-461с.:ил.

3. Павловская Т.А., Щупак Ю.А. С++. Объектно-ориентированное программирование: Практикум.-СПб.:Питер, 2006.-265с.:ил.

4. Павловская Т.А., Щупак Ю.А. С/С++ Структурное программирование: Практикум.-СПб.: Питер,2003.240с.: ил.

5. Хортон,Айвор Visual C++ 2005: базовый курс.: Пер. с англ.- М.:ООО "И.Д. Вильямс", 2007.-1152с.:ил.

6. Якушев Д.М. "Философия" программирования на языке С++. - 2-е изд.-М.:Бук-пресс, 2006.320 с.

7. Шилдт Г. Искусство программирования на С++,- СПб.: БХВ-Петербург,2005.-496с.: ил.

8. Сабуров С.В. Языки программирования С и С++.- М.: Бук-пресс, 2006. -647с.

Приложение А

Блок-схема программы.

Приложение Б

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

// LechenkoVM_kurs.cpp: определяет точку входа для консольного приложения.

#include "stdafx.h"

#include <iostream>

#include <stdio.h>

#include <windows.h>

#include <fstream>

#include <string>

#include <stdlib.h>

#include <iomanip> //для манипулятора setw

using namespace std;

void readOfFile();//прототипы функций

void addNewRecord();

void redactRecord();

void sort_price();

void sort_name();

void sort_rating();

void sortirovka();

void fileClear();

//****************************************************************************************

struct Menu

{

int number;

string name;

float weight;

int price;

int rating;

string country;

};

const int size=30;

Menu m[size];

//*******************************************************************************************

int num=1;

//*******************************************************************************************

char * RUS(const char * text);

char bufRus[10000];

char * RUS(const char * text)

{

CharToOemA(text,bufRus);

return bufRus;

}

//*******************************************************************************************

int _tmain(int argc, _TCHAR* argv[])

{

int punktMenu;

do

{

cout"RUS("\n\n\nВведите нужный номер пункта меню.")"endl;

cout"RUS("1-Добавить новую запись.")"endl;

cout"RUS("2-Редактировать запись.")"endl;

cout"RUS("3-Выполнить чтение файла.")"endl;

cout"RUS("4-Выполнить сортировку.")"endl;

cout"RUS("5-Очистить файл.")"endl;

cout"RUS("6-Завершить программу.")"endl;

cout"RUS("Введите номер: ");

cin"punktMenu;

system("cls");

switch (punktMenu)

{

case 1: addNewRecord();break; //Создать запись.

case 2: redactRecord();break; //Редактировать запись.

case 3: readOfFile();break; //Вывод списка из файла на экран

case 4: sortirovka();break; //Сортировка

case 5: fileClear(); break;

case 6: return 0; break; //Завершить программу.

default: cout"RUS("Такого пункта меню нет.")"endl;

}

}

while (punktMenu!=6);

return 0;

}

//***************************************************************************************

// Создать запись

//***************************************************************************************

void addNewRecord()

{

ofstream out;

ofstream fout ("Menu.txt", ios::ate|ios::app);

cout"RUS("Введите номер записи:\n");

cin"m[num].number;

fout"endl"m[num].number""\t";

cout"RUS("Введите наименование блюда:\n");

cin"m[num].name;

fout"m[num].name""\t";

cout"RUS("Введите вес блюда:\n");

cin"m[num].weight;

fout"m[num].weight""\t";

cout"RUS("Введите цену:\n");

cin"m[num].price;

fout"m[num].price""\t";

cout"RUS("Введите рейтинг:\n");

cin"m[num].rating;

fout"m[num].rating""\t";

cout"RUS("Введите страну происхождения блюда:\n");

cin"m[num].country;

fout"m[num].country"endl;

fout.close();

cout"RUS("Запись занесена в файл.");

num++;

return;

}

////***************************************************************************************

//// Чтение из файла

////***************************************************************************************

void readOfFile()

{

ifstream fin("Menu.txt", ios::in);

for (num=1; fin"m[num].number; num++)

{

fin"m[num].name"m[num].weight"m[num].price"m[num].rating"m[num].country;

cout"m[num].number""\t""m[num].name""\t""m[num].weight""\t""m[num].price

""\t""m[num].rating""\t""m[num].country"endl;

}

fin.close();

return;

}

////***************************************************************************************

//// Редактировать список

////***************************************************************************************

void redactRecord()

{

int strNumber;

readOfFile();

cout"RUS("Введите номер редактируемой строки.")"endl;

cin"strNumber;

cout"RUS("Введите новое наименование блюда.")"endl;

cin"m[strNumber].name;

cout"RUS("Введите вес.")"endl;

cin"m[strNumber].weight;

cout"RUS("Введите цену.")"endl;

cin"m[strNumber].price;

cout"RUS("Введите рейтинг блюда.")"endl;

cin"m[strNumber].rating;

cout"RUS("Введите страну происхождения блюда.")"endl;

cin"m[strNumber].country;

//запись в файл измененного значения

int str;

ofstream fout ("Menu.txt", ios::out);

for (str=1; str<num; str++)

{

fout"m[str].number"" ""m[str].name"" ""m[str].weight"" ""m[str].price"" "

"m[str].rating"" ""m[str].country"endl;

}

fout.close();

return;

}

////***************************************************************************************

//// Сортировка

////***************************************************************************************

void sortirovka()

{

int vidSortirovki;

readOfFile();

cout"RUS("Введите номер нужной сортировки:")"endl;

cout"RUS("1. Сортировать по наименованию блюда.")"endl;

cout"RUS("2. Сортировать по стоимости.")"endl;

cout"RUS("3. Сортировать по рейтингу.")"endl;

cin"vidSortirovki;

switch (vidSortirovki)

{

case 1: sort_name();break; //Сортировка по наименованию блюда

case 2: sort_price();break; //Сортировка по цене

case 3: sort_rating();break; //Сортировка по рейтингу блюда

default: cout"RUS("Такого номера нет.")"endl;

}

//***********************************************************************************

//запись в файл отсортированного списка:

int str;

ofstream fout ("Menu.txt", ios::out);

for (str=1; str<num; str++)

{

fout"m[str].number"" ""m[str].name"" ""m[str].weight"" ""m[str].price"" "

"m[str].rating"" ""m[str].country"endl;

}

fout.close();

cout"RUS("Сортировка выполнена. Нажмите 3 чтобы посмотреть.");

return;

}

////***************************************************************************************

//// Сортировка по стоимости

////***************************************************************************************

void sort_price()

{

int npn=1;

int num_elem;

int n_min;

Menu bufer;

num_elem=num-1;

while(num_elem>npn)

{

n_min = npn + 1;

//поиск минимального из неотсортированных

while (num_elem >= n_min)

{

if(m[npn].price>m[n_min].price)

{

//меняем местами

//bufer = m[n_min];

bufer.name=m[n_min].name;

bufer.weight=m[n_min].weight;

bufer.price=m[n_min].price;

bufer.rating=m[n_min].rating;

bufer.country=m[n_min].country;

//

//m[n_min] = m[npn];

m[n_min].name= m[npn].name;

m[n_min].weight= m[npn].weight;

m[n_min].price= m[npn].price;

m[n_min].rating= m[npn].rating;

m[n_min].country= m[npn].country;

//

//m[npn] = bufer;

m[npn].name = bufer.name;

m[npn].weight = bufer.weight;

m[npn].price = bufer.price;

m[npn].rating = bufer.rating;

m[npn].country = bufer.country;

}

//(m[npn].price) >(m[n_min].price)

n_min++;

}

npn++;

}

return;

}

////***************************************************************************************

//// Сортировка по наименованию блюда

////***************************************************************************************

void sort_name()

{

int npn=1;

int num_elem;

int n_min;

Menu bufer;

num_elem=num-1;

while(num_elem>npn)

{

n_min = npn + 1;

//поиск минимального из неотсортированных

while (num_elem >= n_min)

{

if(m[npn].name>m[n_min].name)

{

//меняем местами

//bufer = m[n_min];

bufer.name=m[n_min].name;

bufer.weight=m[n_min].weight;

bufer.price=m[n_min].price;

bufer.rating=m[n_min].rating;

bufer.country=m[n_min].country;

//

//m[n_min] = m[npn];

m[n_min].name= m[npn].name;

m[n_min].weight= m[npn].weight;

m[n_min].price= m[npn].price;

m[n_min].rating= m[npn].rating;

m[n_min].country= m[npn].country;

//

//m[npn] = bufer;

m[npn].name = bufer.name;

m[npn].weight = bufer.weight;

m[npn].price = bufer.price;

m[npn].rating = bufer.rating;

m[npn].country = bufer.country;

}

//(m[npn].name) >(m[n_min].name)

n_min++;

}

npn++;

}

return;

}

////***************************************************************************************

//// Сортировка по рейтингу блюда

////***************************************************************************************

void sort_rating()

{

int npn=1;

int num_elem;

int n_min;

Menu bufer;

num_elem=num-1;

while(num_elem>npn)

{

n_min = npn + 1;

//поиск минимального из неотсортированных

while (num_elem >= n_min)

{

if(m[npn].rating>m[n_min].rating)

{

//меняем местами

//bufer = m[n_min];

bufer.name=m[n_min].name;

bufer.weight=m[n_min].weight;

bufer.price=m[n_min].price;

bufer.rating=m[n_min].rating;

bufer.country=m[n_min].country;

//

//m[n_min] = m[npn];

m[n_min].name= m[npn].name;

m[n_min].weight= m[npn].weight;

m[n_min].price= m[npn].price;

m[n_min].rating= m[npn].rating;

m[n_min].country= m[npn].country;

//

//m[npn] = bufer;

m[npn].name = bufer.name;

m[npn].weight = bufer.weight;

m[npn].price = bufer.price;

m[npn].rating = bufer.rating;

m[npn].country = bufer.country;

}

//(m[npn].rating) >(m[n_min].rating)

n_min++;

}

npn++;

}

return;

}

//**********************************************************************************

// Очистка файла

//**********************************************************************************

void fileClear()

{

ofstream fout("Menu.txt", ios::trunc);

return;

}

Размещено на Allbest.ru


Подобные документы

  • Использование основных свойств объектно-ориентированного языка программирования C ++ при написании программы по реализации списка футболистов разных амплуа. Руководство пользователя и руководство программиста. Работа со списком, программный интерфейс.

    курсовая работа [516,5 K], добавлен 20.07.2014

  • Создание программы, работающей со списком группы, который хранится в текстовом файле; среда разработки: Qt Creator 5.1. Описание и определение самой длинной фамилии среди студентов группы. Руководство пользователя; словесный алгоритм; код программы.

    отчет по практике [304,9 K], добавлен 29.09.2013

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

    дипломная работа [645,3 K], добавлен 21.11.2010

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

    контрольная работа [1,1 M], добавлен 14.05.2013

  • Разработка программного решения по созданию мобильного приложения. Изучение технологий для разработки приложений. Анализ работы торговых агентов. Обоснование выбора языка программирования. Проектирование интерфейса структуры и верстка, листинг программы.

    дипломная работа [2,2 M], добавлен 08.06.2017

  • Последовательность разработки "Базы данных ГОСТИНИЦА" в среде Visual Studio 2010 C#. Обоснование выбора средства программирования. Требования к аппаратному обеспечению. Алгоритм решения задачи, функциональное назначение. Руководство пользователя.

    курсовая работа [2,0 M], добавлен 07.07.2012

  • Исследоввание деятельности магазина "Комплектация компьютерной техники". Анализ данных, обоснование проекта программы продажи/покупки товаров. Правила выбора языка программирования. Описание интерфейса программы. Составление руководства пользователя.

    курсовая работа [512,4 K], добавлен 11.12.2014

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

    курсовая работа [1,2 M], добавлен 07.07.2012

  • Обоснование необходимости разработки программы для игры "Тетрис". Математическая и графическая части алгоритма. Выбор языка и среды программирования. Отладка текста программы, разработка интерфейса пользователя. Тестирование, руководство пользователя.

    курсовая работа [1,5 M], добавлен 17.01.2011

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

    дипломная работа [2,4 M], добавлен 13.08.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.