Углубленное изучение языков программирования С++, С++Builder

Характеристика сред программирования С, С++, С++Builder. Прикладное программное обеспечение системной обработки деловой информации. Основные этапы создания программы на языке С++, реализующей класс Vector динамических массивов с поддержкой шаблонов.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 17.06.2012
Размер файла 1,0 M

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

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

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

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

Содержание

Введение

1.Краткая характеристика места прохождения практики

2.Краткая характеристика РМУ (рабочего места учащегося)

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

4.Краткая характеристика сред программирования

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

Заключение

Литература

Введение

Учебная практика по дисциплине «Конструирование программ и языки программирования» является составной частью учебного процесса при подготовке учащихся по специальности 2-40 01 01 35 «Программное обеспечение обработки деловой и экономической информации».

Цели и задачи учебной практики:

Более углубленное изучение языков программирования С++, С++Builder.

· изучение областей применения ПК.

· прикладного программного обеспечения системной обработки деловой информации;

· разработка сложных и нестандартных алгоритмов;

· закрепление навыков в средах программирования С, С++, С++Builder;

· обобщение и совершенствование знаний и практических навыков по применению вычислительной техники, полученных в процессе обучения;

· научно и творчески разработать интерфейс;

· развитие самостоятельности при решении конкретных задач, инициативы в работе, как важнейших элементов профессионализма;

1. Краткая характеристика места прохождения практики

Барановичский государственный колледж легкой промышленности имени В. Е. Чернышева, образован 5 июля 1960г., на базе Барановичского технического училища №6. Развивающаяся текстильная промышленность испытывала нужду в большом количестве специалистов в области легкой промышленности. С целью удовлетворения этой потребности и был создан техникум.

1 ноября 1999 года техникуму был присвоен статус колледжа.

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

· технология швейного производства;

· машины и аппараты в легкой промышленности и бытового обслуживания;

· товароведы;

· прядение хлопка и химических волокон;

· экономика и организация производства;

· технология тканей и тканых изделий;

· моделирование и конструирование швейных изделий;

· бухгалтерский учет, анализ и контроль;

· маркетинг;

· программное обеспечение обработки экономической и деловой информации;

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

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

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

Колледж сотрудничает со многими предприятиями не только в городе Барановичи, но и с предприятиями, в таких городах как, Брест, Кобрин, Жодино, Минск, Новогрудок, Мозырь и многими другими.

2. Краткая характеристика РМУ (рабочего места учащегося)

Мое рабочее место состоит из следующих элементов:

Процессор……………………………...........Sempron 2500+

Частота………………………………..…….1.41ГГц

Память………………………………............256Мб

Дисководы ………………………………….FDD 3,5

Размер HDD…………………………...........80Гб

Монитор…………………………………….Samsung SyncMaster 797MB

Наличие локальной сети (ЛС)……………..имеется

Наличие Интернет провайдера…………… отсутствует

Название Интернет провайдера………….... отсутствует

Операционная система……………………...Microsoft Windows XP версия 2002 Service Pack 2

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

1. Написать программу на языке С++, реализующую класс Vector динамических массивов с поддержкой шаблонов. В класс добавить механизм исключений. Перегрузить операции +, -.

Поля:

· массив,

· длина массива.

Конструкторы:

· по умолчанию (задает массив из одного элемента со значением 0),

· с параметром1 (задает массив случайных чисел размера p),

· с параметром2 (задает массив размера n и копирует в него все элементы из массива array: Vector(T *array, int n)

Методы:

· void Extend(int n) - увеличивает текущий размер массива на n и заполняет нулями новую часть,

· void Clear() - обнуление всех элементов массива,

· void Cut(int n) - уменьшает размер массива на n,

· void Add(T *arr, int n) - добавляет к текущему вектору массив arr размера n (вектор увеличивается)

2. Написать программу на языке программирования С++, реализующую класс Int, имитирующий стандартный тип int класс содержит одно единственное поле типа int. Реализовать перегрузку сложения, вычитания, умножения, деления, присваивания и операции сравнения. Реализовать перегрузку приведения типов в тип float.

3. Напишите программу на языке программирования С, выводящую на экран список студентов. Каждый студент является объектом-структурой, список организуйте в виде массива структур.

4. Создать XML справочник компьютеров. Структуру XML-документа продумать самостоятельно.

Расширить класс Computer средствами работы с XML-документами. Создать контсруктор на основе XML-тега (конструктор прин7имает объект класса XmlNode).

Разработать приложение чтения компьютеров из справочника в коллекцию ArrayList.

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

5. Создайте приложение, выполняющее запросы в базе данных bookshop.mdb:

· Запрос вывода содержимого любой таблицы, имя таблицы вводится с клавиатуры, верхняя строка перечисляет поля таблицы (имена полей возвращает метод GetName)

· Запрос вывода книг и их авторов (поля с кодами не включаются в запрос) с именами полей

· Запрос вывода информации о сотрудниках, их должностях и окладах (без кодов с именами полей), если их оклад превышает 400000.

· Запрос добавления нового сотрудника. Данные о сотруднике вводятся с клавиатуры (также добавляется должность и оклад)

6. Разработать Windows Forms приложение, содержащее основную форму с навигатором, выполняющим перебор данных из таблицы «Книги»

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

Исключить размножение форм.

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

7. Разработать БД SQL Server со следующими сущностями

СТРАНА, ГОРОД, ОБЛАСТЬ/КРАЙ.

СТРАНА(название, материк, население, столица)

ГОРОД(название, область, население, площадь)

ОБЛАСТЬ/КРАЙ(название, областной центр, площадь)

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

· Вывод любой таблицы (используется один компонент dataGrid), имя задаётся из списка

· Добавление/удаление/модификация данных любой (INSERT, DELETE, UPDATE) таблицы, новые данные вводятся в поля типа TextBox.

· Запросы на поиск данных (вывод информации о странах, городах или областях, имя вводится в поле TextBox). Предусмотреть шаблонный ввод, например: запросу по городу «*ск» удовлетворяют города Минск, Бобруйск

8. В классе формы необходимо завести несколько дополнительных переменных:

· переменная status типа bool, определяющая включить/выключить сетку

· масштаб scale типа float, меняющийся при нажатии кнопок масштабирования (используется для записи в TextBox чтобы было видно текущее масштабирование)

· переменная - шаг сетки (тоже масштабируется)

· ссылка f типа Figure, определяющая объект-фигуру

4. Краткая характеристика сред программирования

С -- стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Деннисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. С тех пор он был импортирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность. Он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Несмотря на то, что Си не разрабатывался для новичков, он активно используется для обучения программированию. В дальнейшем синтаксис языка Си стал основой для многих других языков.

C++ -- компилируемый статически типизированный язык программирования общего назначения.

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

Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры). Существует несколько реализаций языка C++ -- как бесплатных, так и коммерческих. Наиболее популярны проект GNU, Microsoft, Intel и Embarcadero (Borland). C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.

При создании C++ Бьёрн Страуструп стремился сохранить совместимость с языком C. Множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико -- отчасти благодаря тому, что синтаксис C++ был основан на синтаксисе C.

Стандарт C++ на 2003 год состоит из двух основных частей: описание ядра языка и описание стандартной библиотеки.

Кроме того, существует огромное количество библиотек C++, не входящих в стандарт. В программах на C++ можно использовать многие библиотеки C.

Стандартизация определила язык программирования C++, однако за этим названием могут скрываться также неполные, ограниченные, достандартные варианты языка. Первое время язык развивался вне формальных рамок, спонтанно, по мере встававших перед ним задач. Развитию языка сопутствовало развитие кросс-компилятора cfront. Новшества в языке отражались в изменении номера версии кросс-компилятора. Эти номера версий кросс-компилятора распространялись и на сам язык, но применительно к настоящему времени речь о версиях языка C++ не ведут.

Четвертая версия продукта Borland C++Builder, вышедшая в 1999 году, на сегодняшний день является наиболее совершенной визуальной средой быстрой разработки на С++ для Windows. В ее состав входит около 130 различных компонентов, а создание законченной программы требует минимум усилий.

Среда разработки C++Builder представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель (слева) и палитру компонентов (справа). Кроме этого, по умолчанию, при запуске C++Builder окно инспектора объектов (слева) и форма нового приложения (справа). Под окном формы приложения находится окно редактора кода.

Формы являются основой приложений C++Builder. Создание пользовательского интерфейса заключается в добавлении в окно формы элементов объектов C++Builder называемых компонентами. Компоненты C++Builder располагаются на палитре компонентов, выполненной в виде многостраничного блокнота. Важная особенность C++Builder состоит в том, что позволяет создавать собственные компоненты и настраивать палитру компонентов, а также создавать различные версии палитр компонентов для разных проектов.

Компоненты C++Builder разделяются на видимые (визуальные) и не видимые (невизуальные). Визуальные компоненты появляются во время точно так же, как и во время проектирования.

C# -- объектно-ориентированный язык программирования. Разработан в 1998--2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем. (Однако эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы .NET.) CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J# и др.

XML -- рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил. XML -- текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML). XML является упрощённым подмножеством языка SGML.

.NET Framework -- программная платформа, выпущенная компанией Microsoft в 2002 году. Фактически представляет собой операционную систему внутри операционной системы. Основой платформы является виртуальная машина Common Language Runtime (CLR), способная выполнять как обычные настольные программы, так и веб-приложения. Отличительной особенностью .NET Framework является способность выполнять программы, написанные на разных языках программирования.

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

Задание 1.

Алгоритм решения:

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

Код программы:

#include "stdafx.h"

#include <iostream>

#include "math.h"

#include "conio.h"

#include "stdio.h"

#include "stdlib.h"

#include "time.h"

using namespace std;

template <class T>

class Vector

{

private:

int k;

T *mas;

public:

Vector();

Vector(int p);

Vector(Vector<T> &n);

void Output();

void Extend(int n);

void Clear();

void Cut(int n);

void Add(T *mas, int n);

Vector operator +(Vector &v)

{

Vector<T> tmp(this->k);

if (this->k!=v.k) throw Exception("Razmery vectorov ne sovpadat'");

else

{

for (int i=0; i<this->k; i++)

tmp.mas[i] = this->mas[i] + v.mas[i];

}

return tmp;

}

Vector operator -(Vector &v)

{

Vector<T> tmp(this->k);

if (this->k!=v.k) throw Exception("Razmery vectorov ne sovpadat'");

else

{

for (int i=0; i<this->k; i++)

tmp.mas[i] = this->mas[i] - v.mas[i];

}

return tmp;

}

class Exception

{

string str;

public:

Exception(string s)

{

str=s;

}

const char* GetMessage()

{

return this->str.c_str();

}

};

};

template <class T>

Vector<T>::Vector(Vector<T> &n)

{

this->k = n.k;

mas =new T[k];

for(int i=0; i<this->k; i++)

mas[i]=n.mas[i];

}

template <class T>

Vector<T>::Vector()

{

this->k=1;

mas=(int*) malloc (k*sizeof(int));

mas[0]=0;

}

template <class T>

Vector<T>::Vector(int p)

{

if (p<1) throw Exception("Вы ввели отрицательное значение размера вектора!");

this->k=p;

mas = (int*) malloc (p*sizeof(int));

for(int i=0; i<p; i++)

mas[i]=rand() %10;

}

template <class T>

void Vector<T>::Extend(int n)

{

if (n<0) throw Exception("Размер вектора станет отрицательным!");

int len = this->k+n;

int *buf = new int[len];

for (int i=0; i<len; i++)

buf[i]=0;

for (int i=0; i<k; i++)

buf[i] = this->mas[i];

this->k = len;

mas = buf;

}

template <class T>

void Vector<T>::Clear()

{

for (int i=0; i<this->k; i++)

mas[i]=0;

}

template <class T>

void Vector<T>::Cut(int n)

{

if (n>=k) throw Exception("Размер вектора станет отрицательным!");

int len = this->k - n;

int *buf = new int[len];

for (int i=0; i<len; i++)

buf[i] = this->mas[i];

this->k = len;

}

template <class T>

void Vector<T>::Add(T *mas, int n)

{

int len = this->k+n;

int *buf = new int[len];

for (int i=0; i<len; i++)

buf[i] = 0;

for (int i=0; i<k; i++)

buf[i] = this->arr[i];

for (int i=n; i<len; i++)

buf[i] = mas[i-k];

this->k = len;

arr = buf;

}

template <class T>

void Vector<T>::Output()

{

for (int i=0; i<this->k; i++)

cout<<this->mas[i]<<' ';

cout<<endl;

for(int i=0; i<80; i++) cout<<'_';

cout<<endl;

}

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

{

int k1,k2,k3;

setlocale(LC_ALL, "RUSSIAN");

cout<<"Введите длину 1-го вектора"<<endl;

cin>>k1;

cout<<"Введите длину 2-го вектора"<<endl;

cin>>k2;

Vector <int> vec1;

Vector <int> vec2;

Vector <int> vec3;

try

{

vec1 = *(new Vector<int>(k1));

vec2 = *(new Vector<int>(k2));

}

catch (Vector<int>::Exception exc)

{

cout<<exc.GetMessage();

cout<<endl;

exit(1);

}

int choise=5;

while (choise!=0) {

cout<<endl

<<"1. Обнулить вектор"<<endl

<<"2. Сложить вектора"<<endl

<<"3. Вычесть вектора"<<endl

<<"4. Расширить вектор"<<endl

<<"5. Урезать вектор"<<endl

<<"6. Вывод вектора"<<endl

<<"0. ВЫХОД"<<endl;

cin>>choise;

try

{

switch (choise) {

case 1:

vec1.Clear();

break;

case 2:

vec3 =vec1 + vec2;

vec3.Output();

break;

case 3:

vec3 = vec1 - vec2;

vec3.Output();

break;

case 4:

{

cout<<"На сколько позиций расширить вектор?"<<endl;

int n;

cin>>n;

vec1.Extend(n);

break;

}

case 5:

{

cout<<"На сколько позиций урезать вектор?"<<endl;

int n;

cin>>n;

vec1.Cut(n);

break;

}

case 6:

cout<<"Вектор 1:"<<endl;

vec1.Output();

cout<<"Вектор 2:"<<endl;

vec2.Output();

cout<<"Вектор 3:"<<endl;

vec3.Output();

getch();

}

}

catch (Vector<int>::Exception exc)

{

cout<<exc.GetMessage();

cout<<endl;

}

}

getch();

return 0;

}

Блок-схема

Задание 2.

Алгоритм программы:

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

Код программы:

// 3.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include <iostream>

#include "conio.h"

using namespace std;

class INT

{

private: int n;

public :

INT(int m);

INT();

void output();

INT& operator + ( INT &a);

INT& operator - (INT &a);

INT& operator * ( INT &a);

INT& operator / (INT &a);

INT& operator = (INT &a);

INT& operator = (int a);

bool operator >(INT &a);

bool operator <(INT &a);

bool operator ==(INT &a);

bool operator !=(INT &a);

operator float();

};

INT::INT (int m)

{ n=m;

}

INT::INT ()

{

n=0;

}

INT& INT ::operator + (INT &a)

{

INT tmp(a.n);

tmp.n=+this->n;

return tmp;

}

INT& INT ::operator * (INT &a)

{

INT tmp(a.n);

tmp.n*=this->n;

return tmp;

}

INT& INT ::operator / (INT &a)

{

INT tmp(a.n);

tmp.n/=this->n;

return tmp;

}

INT& INT::operator - (INT &a)

{

INT tmp(a.n);

tmp.n=-this->n;

return tmp;

}

INT& INT::operator = (INT &a)

{

this->n = a.n;

return *this;

}

INT& INT::operator =(int a)

{

this->n=a;

return *this;

}

bool INT::operator >(INT &a)

{

if (this->n>a.n) return 1;

else return 0;

}

bool INT::operator <(INT &a)

{

if (this->n<a.n) return 1;

else return 0;

}

bool INT::operator ==(INT &a)

{

if (this->n==a.n) return 1;

else return 0;

}

bool INT::operator !=(INT &a)

{

if (this->n!=a.n) return 1;

else return 0;

}

INT::operator float()

{

return (float)this->n;

}

void INT::output()

{

cout<<n;

cout<<" "<<endl;

}

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

{

INT ch=15,ch2 ;

ch2=ch/3;

float a;

a=(float) ch2;

cout<<"chislo1=";

ch.output();

cout<<"chislo2=";

ch2.output();

getch();

return 0;

}

Блок-схема

Задание 3.

Алгоритм программы:

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

Код программы:

// 5задание.cpp : Defines the entry point for the console application.

//

#include "iomanip.h"

#include "stdafx.h"

#include "iostream"

#include "conio.h"

using namespace std;

struct Spisok

{

char Fam[10];

char Name[7];

char birthYear[10];

char groupNumber[6];

};

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

{

const int n=2;

Spisok stud[20];

for (int i=0; i<n;i++)

{

cout<<"-------------vvedite dannye-------------\n";

cout<<"familia: ";

cin>>stud[i].Fam;

cout<<"name: ";

cin>>stud[i].Name;

cout<<"god rozhdenia: ";

cin>>stud[i].birthYear;

cout<<"group: ";

cin>>stud[i].groupNumber;

}

for (int f=1;f<5;f++){

cout<<endl;}

cout<<"----------------vse studenty----------------\n";

for (int i=0; i<n;i++){

cout<<"familia "<<i+1<<" studenta"<<endl;

cout<<stud[i].Fam<<endl;

cout<<"imia "<<i+1<<" studenta"<<endl;

cout<<stud[i].Name<<endl;

cout<<"god rozhdenia "<<i+1<<" studenta"<<endl;

cout<<stud[i].birthYear<<endl;

cout<<"gruppa "<<i+1<<" studenta"<<endl;

cout<<stud[i].groupNumber<<endl<<endl<<endl;

cout<<"-----------------------------------\n";

}

getch();

return 0;

}

Блок-схема

Задание 4.

Алгоритм программы:

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

Код программы:

using System;

using System.Collections.Generic;

using System.Text;

using System.Collections;

using System.Xml;

using z5;

namespace z6

{

class Program

{

static void Main(string[] args)

{

XmlDocument doc = new XmlDocument();

doc.Load("..\\..\\..\\ComputersXML.xml");

Computer C = new Computer();

C.Input();

Console.WriteLine();

C.WriteToXML(doc);

doc.Save("..\\..\\..\\ComputersXML.xml");

ArrayList arr = Computer.ReadFromXML(doc);

foreach (Computer c in arr)

{

c.Output();

}

Console.ReadKey();

}}}

Блок-схема

Задание 5.

Алгоритм программы:

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

Код программы:

using System;

using System.Collections.Generic;

using System.Text;

using System.Data.OleDb;

namespace База_данных

{

class Program

{

static void Main(string[] args)

{

string c;

int n = 10;

OleDbConnection conn = new OleDbConnection();

conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"D:\practics\z10\задание на сегодня\bookshop.mdb";

conn.Open();

OleDbCommand myCommand = conn.CreateCommand();

Console.WriteLine("vvedite 1 для Автор");

Console.WriteLine("vvedite 2 для Срана или Серия");

Console.WriteLine("vvedite 3 для Должность и Оклад");

Console.WriteLine("vvedite 4 для Издательство");

Console.WriteLine("vvedite 5 для Книги");

Console.WriteLine("vvedite 6 для Автор и книга");

Console.WriteLine("vvedite 7 для Продажи");

Console.WriteLine("vvedite 8 для вывода книг и их авторов ");

Console.WriteLine("vvedite 9 для вывода информации о сотрудниках, их должностях и окладах(оклад больше 400000)");

n = Convert.ToInt16(Console.ReadLine());

switch (n)

{

case 1:

Console.WriteLine("Vvedite nazvanie tablici");

c = Convert.ToString(Console.ReadLine());

string commandText1 = "SELECT * FROM " + c;

myCommand.CommandText = commandText1;

OleDbDataReader dataReader1 = myCommand.ExecuteReader();

Console.WriteLine("{0}\t{1}", dataReader1.GetName(0), dataReader1.GetName(1));

while (dataReader1.Read())

{

Console.WriteLine("{0}\t{1}", dataReader1.GetInt16(0), dataReader1.GetString(1));

}

conn.Close();

Console.ReadKey();

break;

case 2:

Console.WriteLine("Vvedite nazvanie tablici");

c = Convert.ToString(Console.ReadLine());

string commandText2 = "SELECT * FROM " + c;

myCommand.CommandText = commandText2;

OleDbDataReader dataReader2 = myCommand.ExecuteReader();

Console.WriteLine("{0}\t{1}", dataReader2.GetName(0), dataReader2.GetName(1));

while (dataReader2.Read())

{

Console.WriteLine("{0}\t{1}", dataReader2.GetString(0), dataReader2.GetString(1));

}

conn.Close();

Console.ReadKey();

break;

case 3:

Console.WriteLine("Vvedite nazvanie tablici");

c = Convert.ToString(Console.ReadLine());

string commandText3 = "SELECT * FROM " + c;

myCommand.CommandText = commandText3;

OleDbDataReader dataReader3 = myCommand.ExecuteReader();

Console.WriteLine("{0}\t{1}\t{2}", dataReader3.GetName(0), dataReader3.GetName(1), dataReader3.GetName(2));

while (dataReader3.Read())

{

Console.WriteLine("{0}\t{1}\t{2}", dataReader3.GetInt16(0), dataReader3.GetString(1), dataReader3.GetInt32(2));

}

conn.Close();

Console.ReadKey();

break;

case 4:

Console.WriteLine("Vvedite nazvanie tablici");

c = Convert.ToString(Console.ReadLine());

string commandText4 = "SELECT * FROM " + c;

myCommand.CommandText = commandText4;

OleDbDataReader dataReader4 = myCommand.ExecuteReader();

Console.WriteLine("{0}\t{1}\t{2}", dataReader4.GetName(0), dataReader4.GetName(1), dataReader4.GetName(2));

while (dataReader4.Read())

{

Console.WriteLine("{0}\t{1}\t{2}", dataReader4.GetInt16(0), dataReader4.GetString(1), dataReader4.GetString(2));

}

conn.Close();

Console.ReadKey();

break;

case 5:

Console.WriteLine("Vvedite nazvanie tablici");

c = Convert.ToString(Console.ReadLine());

string commandText5 = "SELECT * FROM " + c;

myCommand.CommandText = commandText5;

OleDbDataReader dataReader5 = myCommand.ExecuteReader();

Console.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}", dataReader5.GetName(0), dataReader5.GetName(1), dataReader5.GetName(2), dataReader5.GetName(3), dataReader5.GetName(4), dataReader5.GetName(5), dataReader5.GetName(6), dataReader5.GetName(7));

while (dataReader5.Read())

{

Console.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}", dataReader5.GetString(0), dataReader5.GetDateTime(1), dataReader5.GetDouble(2), dataReader5.GetString(3), dataReader5.GetInt16(4), dataReader5.GetInt16(5), dataReader5.GetInt16(6), dataReader5.GetString(7));

}

conn.Close();

Console.ReadKey();

break;

case 6:

Console.WriteLine("Vvedite nazvanie tablici");

c = Convert.ToString(Console.ReadLine());

string commandText6 = "SELECT * FROM " + c;

myCommand.CommandText = commandText6;

OleDbDataReader dataReader6 = myCommand.ExecuteReader();

Console.WriteLine("{0}\t{1}", dataReader6.GetName(0), dataReader6.GetName(1));

while (dataReader6.Read())

{

Console.WriteLine("{0}\t{1}", dataReader6.GetString(0), dataReader6.GetInt16(1));

}

conn.Close();

Console.ReadKey();

break;

case 7:

Console.WriteLine("Vvedite nazvanie tablici");

c = Convert.ToString(Console.ReadLine());

string commandText7 = "SELECT * FROM " + c;

myCommand.CommandText = commandText7;

OleDbDataReader dataReader7 = myCommand.ExecuteReader();

Console.WriteLine("{0}\t{1}\t{2}", dataReader7.GetName(0), dataReader7.GetName(1), dataReader7.GetName(2));

while (dataReader7.Read())

{

Console.WriteLine("{0}\t{1}\t{2}", dataReader7.GetDateTime(0), dataReader7.GetString(1), dataReader7.GetString(2));

}

conn.Close();

Console.ReadKey();

break;

case 8:

string commandText8 = "SELECT СОТРУДНИКИ.ФАМИЛИЯ, ДОЛЖНОСТЬ_ОКЛАД.ДОЛЖНОСТЬ, ДОЛЖНОСТЬ_ОКЛАД.ОКЛАД FROM ДОЛЖНОСТЬ_ОКЛАД INNER JOIN СОТРУДНИКИ ON ДОЛЖНОСТЬ_ОКЛАД.КОД_ДОЛЖНОСТИ = СОТРУДНИКИ.КОД_ДОЛЖНОСТИ";

myCommand.CommandText = commandText8;

OleDbDataReader dataReader8 = myCommand.ExecuteReader();

Console.WriteLine("{0}\t\t\t{1}\t\t\t{2}", dataReader8.GetName(0), dataReader8.GetName(1), dataReader8.GetName(2));

while (dataReader8.Read())

{

Console.WriteLine("{0}\t\t\t{1}\t\t\t{2}", dataReader8.GetValue(0), dataReader8.GetValue(1), dataReader8.GetValue(2));

}

conn.Close();

Console.ReadKey();

break;

case 9:

string commandText9 = "SELECT СОТРУДНИКИ.ФАМИЛИЯ, ДОЛЖНОСТЬ_ОКЛАД.ДОЛЖНОСТЬ, ДОЛЖНОСТЬ_ОКЛАД.ОКЛАД FROM ДОЛЖНОСТЬ_ОКЛАД INNER JOIN СОТРУДНИКИ ON ДОЛЖНОСТЬ_ОКЛАД.КОД_ДОЛЖНОСТИ = СОТРУДНИКИ.КОД_ДОЛЖНОСТИ WHERE (((ДОЛЖНОСТЬ_ОКЛАД.ОКЛАД)>400000))";

myCommand.CommandText = commandText9;

OleDbDataReader dataReader9 = myCommand.ExecuteReader();

Console.WriteLine("{0}\t\t\t{1}\t\t\t{2}", dataReader9.GetName(0), dataReader9.GetName(1), dataReader9.GetName(2));

while (dataReader9.Read())

{

Console.WriteLine("{0}\t\t\t{1}\t\t\t{2}", dataReader9.GetValue(0), dataReader9.GetValue(1), dataReader9.GetValue(2));

}

conn.Close();

Console.ReadKey();

break;

case 10:

string v1, v2, v3, v4, v5, v6;

DateTime v7, v8;

int v9;

v1 = Console.ReadLine();

v2 = Console.ReadLine();

v3 = Console.ReadLine();

v4 = Console.ReadLine();

v5 = Console.ReadLine();

v6 = Console.ReadLine();

v7 = Convert.ToDateTime(Console.ReadLine());

v8 = Convert.ToDateTime(Console.ReadLine());

v9 = Convert.ToInt32(Console.ReadLine());

myCommand.CommandText = "INSERT INTO СОТРУДНИКИ Values('" + v1 + "','" + v2 + "','" + v3 + "','" + v4 + "','" + v5 + "','" + v6 + "','" + v7 + "','" + v8 + "','" + v9 + "')";

myCommand.ExecuteNonQuery();

break;

}}}}

Задание 6

Алгоритм программы:

Код программы:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

namespace AccessDB

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

comboBox1.Items.Clear();

if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)

{

OleDbConnection dbCon = new OleDbConnection(

@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + openFileDialog1.FileName);

dbCon.Open();

DataTable tbls = dbCon.GetSchema("Tables", new string[] { null, null, null, "TABLE" }); //список всех таблиц

foreach (DataRow row in tbls.Rows)

{

string TableName = row["TABLE_NAME"].ToString();

comboBox1.Items.Add(TableName);

};

dbCon.Close();

} }

private void борейDataSetBindingSource_CurrentChanged(object sender, EventArgs e)

{

}

private void button2_Click(object sender, EventArgs e)

{

if (comboBox1.SelectedIndex != -1)

{

OleDbConnection dbCon = new OleDbConnection(

@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + openFileDialog1.FileName);

dbCon.Open();

OleDbDataAdapter dbAdapter1 = new OleDbDataAdapter(@"SELECT * FROM " + comboBox1.SelectedItem, dbCon);

DataTable dataTable = new DataTable();

dbAdapter1.Fill(dataTable);

dataGridView1.DataSource = dataTable;

dbCon.Close();

}

else

{

MessageBox.Show("Не выбрана таблица для запроса");

}}}}

Задание 7.

Алгоритм программы:

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

Код программы:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.Sql;

using System.Data.SqlClient;

using System.Data.SqlTypes;

using System.Xml;

namespace _

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

foreach (DataTable table1 in this._2DataSet1.Tables)

{

comboBox1.Items.Add(table1.TableName.ToString());

}

}

private void button1_Click(object sender, EventArgs e)

{

if (comboBox1.Text != "")

{

XmlDocument doc = new XmlDocument();

doc.Load("..\\..\\app.config");

string connectionString = doc.DocumentElement.ChildNodes[1].ChildNodes[0].Attributes[1].Value;

SqlConnection conn = new SqlConnection(connectionString);

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

string commandText = "SELECT * FROM " + this.comboBox1.Text;

myCommand.CommandText = commandText;

myCommand.ExecuteReader();

conn.Close();

conn.Open();

SqlDataAdapter dataAdapter = new SqlDataAdapter(commandText, conn);

DataSet ds = new DataSet();

dataAdapter.Fill(ds);

dataGridView1.DataSource = ds.Tables[0].DefaultView;

conn.Close();

groupBox1.Enabled = true;

button2.Enabled = true;

i = 0;

command = "";

label1.Text = "Введите данные " + (i + 1) + " столбца таблицы " +_2DataSet1.Tables[comboBox1.Text];

label1.Visible = true;

label2.Text = "Введите данные 1 столбца таблицы " + _2DataSet1.Tables[comboBox1.Text];

}

}

public int i = 0;

public string command;

private void button2_Click(object sender, EventArgs e)

{

if (i != _2DataSet1.Tables[comboBox1.Text].Columns.Count - 1)

command += textBox1.Text + "','";

else

{

button2.Enabled = false;

button3.Enabled = true;

command += textBox1.Text;

label1.Visible = false;

}

textBox1.Text = "";

i++;

label1.Text = "Введите данные " + (i + 1) + " столбца таблицы " + _2DataSet1.Tables[comboBox1.Text];

}

private void button3_Click(object sender, EventArgs e)

{

string commandText = "INSERT INTO " + _2DataSet1.Tables[comboBox1.Text] + " VALUES( '" + command + "' );";

XmlDocument doc = new XmlDocument();

doc.Load("..\\..\\app.config");

string connectionString = doc.DocumentElement.ChildNodes[1].ChildNodes[0].Attributes[1].Value;

SqlConnection conn = new SqlConnection(connectionString);

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandText = commandText;

myCommand.ExecuteNonQuery();

conn.Close();

button3.Enabled = false;

button2.Enabled = true;

command = "";

i = 0;

MessageBox.Show(" Запись добавлена! ");

}

private void button4_Click(object sender, EventArgs e)

{

XmlDocument doc = new XmlDocument();

doc.Load("..\\..\\app.config");

string connectionString = doc.DocumentElement.ChildNodes[1].ChildNodes[0].Attributes[1].Value;

SqlConnection conn = new SqlConnection(connectionString);

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

string commandText = "SELECT * FROM " + this.comboBox1.Text;

myCommand.CommandText = commandText;

myCommand.ExecuteReader();

conn.Close();

conn.Open();

SqlDataAdapter dataAdapter = new SqlDataAdapter(commandText, conn);

DataSet ds = new DataSet();

dataAdapter.Fill(ds);

dataGridView1.DataSource = ds.Tables[0].DefaultView;

conn.Close();

}

private void button5_Click(object sender, EventArgs e)

{

string commandText = "DELETE FROM " +_2DataSet1.Tables[comboBox1.Text] +" WHERE "+ _2DataSet1.Tables[comboBox1.Text].Columns[0].ColumnName+" = '"+textBox2.Text+"' ;";

MessageBox.Show(commandText);

XmlDocument doc = new XmlDocument();

doc.Load("..\\..\\app.config");

string connectionString = doc.DocumentElement.ChildNodes[1].ChildNodes[0].Attributes[1].Value;

SqlConnection conn = new SqlConnection(connectionString);

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandText = commandText;

myCommand.ExecuteNonQuery();

conn.Close();

SqlDataAdapter dataAdapter = new SqlDataAdapter(commandText, conn);

//dataAdapter.Fill(database1DataSet);

dataAdapter.Update(_2DataSet1.Tables[comboBox1.Text]);

MessageBox.Show("Запись удалена ! ");

}

private void button6_Click(object sender, EventArgs e)

{

XmlDocument doc = new XmlDocument();

doc.Load("..\\..\\app.config");

string connectionString = doc.DocumentElement.ChildNodes[1].ChildNodes[0].Attributes[1].Value;

SqlConnection conn = new SqlConnection(connectionString);

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

string commandText = "SELECT * FROM " + this.comboBox1.Text + " WHERE (" + _2DataSet1.Tables[comboBox1.Text].Columns[0].ColumnName+" Like '%"+textBox3.Text+"%')";

MessageBox.Show(commandText);

myCommand.CommandText = commandText;

myCommand.ExecuteReader();

conn.Close();

conn.Open();

SqlDataAdapter dataAdapter = new SqlDataAdapter(commandText, conn);

DataSet ds = new DataSet();

dataAdapter.Fill(ds);

dataGridView2.DataSource = ds.Tables[0].DefaultView;

conn.Close();

}}}

Задание 8

Алгоритм программы:

Код программы:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Drawing;

namespace WindowsApplication1

{

public enum Direction { Up, Down, Left, Right };

public partial class Form1 : Form

{

public bool vkl_setku=false;

public float scale;

public int shag_setki=10;

IFigure f;

bool ris = false;

public Form1()

{

InitializeComponent();

}

private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

Application.Exit();

}

private void выходToolStripMenuItem_Click_1(object sender, EventArgs e)

{

Application.Exit();

}

private void выборЦветаToolStripMenuItem_Click(object sender, EventArgs e)

{

colorDialog1.ShowDialog();

pictureBox2.Invalidate();

}

private void toolStripButton6_Click_1(object sender, EventArgs e)

{

vkl_setku = !(vkl_setku);

this.pictureBox1.Invalidate();

this.pictureBox2.Invalidate();

}

private void pictureBox1_Paint_1(object sender, PaintEventArgs e)

{

if(vkl_setku) this.DrawGrid(e.Graphics, shag_setki);

}

public void DrawGrid(Graphics g, int k)

{

Pen p = new Pen(Color.Aqua);

p.Width = 1;

int i = pictureBox1.Width / 2;

while (i < pictureBox1.Width)

{

g.DrawLine(p, i, 0, i, pictureBox1.Height);

i += k;

}

i = pictureBox1.Width / 2;

while (i >= 0)

{

g.DrawLine(p, i, 0, i, pictureBox1.Height);

i -= k;

}

i = pictureBox1.Height / 2;

while (i < pictureBox1.Height)

{

g.DrawLine(p, 0, i, pictureBox1.Width, i);

i += k;

}

i = pictureBox1.Height / 2;

while (i >= 0)

{

g.DrawLine(p, 0, i, pictureBox1.Width, i);

i -= k;

}

p.Width = 2;

p.Color = Color.Red;

g.DrawLine(p, pictureBox1.Width / 2, 0, pictureBox1.Width / 2, pictureBox1.Height);

g.DrawLine(p, 0, pictureBox1.Height / 2, pictureBox1.Width, pictureBox1.Height / 2);

}

private void toolStripButton9_Click(object sender, EventArgs e)

{

}

private void pictureBox2_Paint(object sender, PaintEventArgs e)

{

if (vkl_setku)

{

this.DrawGrid(e.Graphics, shag_setki);

}

if (f != null)

{

Pen p2 = new Pen(colorDialog1.Color);

f.Draw(p2, e.Graphics, pictureBox2.Size);

}

}

private void Form1_Resize(object sender, EventArgs e)

{

if (tabControl1.SelectedIndex == 0)

{

this.tabControl1.SelectedIndex = 1;

this.tabControl1.SelectedIndex = 0;

}

}

private void toolStripButton5_Click(object sender, EventArgs e)

{

ris = true;

pictureBox1.Invalidate();

pictureBox2.Invalidate();

if ((toolStripTextBox1.Text == "") || (toolStripTextBox2.Text == "") || (toolStripTextBox3.Text == ""))

{

MessageBox.Show("Заполните все поля!!", "Ошибка");

}

else

f = new Circle(Convert.ToInt32(toolStripTextBox1.Text), Convert.ToInt32(toolStripTextBox2.Text), Convert.ToInt32(toolStripTextBox3.Text));

}

private void toolStripButton7_Click(object sender, EventArgs e)

{

f.Increase();

shag_setki*=2;

pictureBox2.Invalidate();

}

private void toolStripButton8_Click(object sender, EventArgs e)

{

f.Reduce();

shag_setki /= 2;

pictureBox2.Invalidate();

}

private void toolStripButton4_Click(object sender, EventArgs e)

{

f.Move(shag_setki, Direction.Right);

pictureBox2.Invalidate();

}

private void toolStripButton2_Click(object sender, EventArgs e)

{

f.Move(shag_setki, Direction.Left);

pictureBox2.Invalidate();

}

private void toolStripButton3_Click(object sender, EventArgs e)

{

f.Move(shag_setki, Direction.Up);

pictureBox2.Invalidate();

}

private void toolStripButton1_Click(object sender, EventArgs e)

{

f.Move(shag_setki, Direction.Down);

pictureBox2.Invalidate();

}}}

Заключение

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

Я ознакомился с разновидностями прикладного обеспечения, научилась обрабатывать деловую информацию. Закрепил навыки в средах программирования С, С++, С++Builder

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

Литература

1. Полный справочник по С, Г.Шилдт

2. C/C++. Программирование на языке высокого уровня, Т. А. Павловская

3. С# и платформа .NET. Библиотека программиста, Эндрю Троелсен

4. Учебник по программированию в среде С++ Builder

5. Полный справочник по С# , Г.Шилдт

6. Язык программирования C++, С. Прата

7. http://ru.wikipedia.org

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


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

  • Изучение организации диалоговой программы и закрепления основных элементов программирования на языке Паскаль и Си (Delphi, C++ Builder). Описание представления информации в программах на языках высокого уровня. Сравнительная характеристика Delphi и C++.

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

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

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

  • Характеристика методов изображения графических элементов. Особенности вычерчивания прямой линии, прямоугольника, окружности, дуги. Порядок вывода текста на канву. Текст программы для построения электрической схемы на языке программирования C++Builder.

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

  • Программное обеспечение как совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ. Системное ПО (программы общего пользования), прикладное и инструментальное (системы программирования).

    реферат [73,1 K], добавлен 04.06.2010

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

    дипломная работа [672,5 K], добавлен 16.08.2012

  • Реализация программного кода "Organizer 1.0". Разработка приложений баз данных с помощью Borland C++ Builder 6. Компоненты системы программирования для работы по технологии InterBase. Программный код и интерфейс "Organizer 1.0", структура приложения.

    курсовая работа [466,9 K], добавлен 28.07.2009

  • Borland и C++Builder 6.0 как совершенная интерактивная среда программирования на языке C++. Проектирование программы, глобальные переменные. Форма создания нового каталога. Объекты на Form Dialog Delete. Блок-схема взаимодействия компонентов программы.

    курсовая работа [836,2 K], добавлен 27.08.2014

  • Разработка приложения "Ведомость начисления заработной платы" в среде программирования C++Builder. Алгоритм и сценарий работы программы. Проектирование интерфейса пользователя. Написание программных модулей и результаты тестирования данной программы.

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

  • Характеристика основных принципов объектно-ориентированного программирования. Этапы разработки программы на языке C++, реализующей игру "Морской бой". Выбор языка программирования. Характеристика необходимых классов, наследований, виртуальных методов.

    курсовая работа [657,6 K], добавлен 17.06.2012

  • Сетевое программное обеспечение: общее понятие, содержание, функции. Этапы развития теории компьютерных сетей. Проектирование в среде программирования Borland Builder C++ клиент серверного приложения с использованием сокетов, листинг данной программы.

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

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