Разработка и сопровождение программного обеспечения

Изучение областей применения персонального компьютера, разновидностей программного обеспечения, системной обработки деловой информации. Характеристика сред программирования. Разработка индивидуального интерфейса по заполнению табличной базы данных.

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

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

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

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

Концерн Беллегпром Республики Беларусь

Учреждение образования «Барановичский государственный колледж легкой промышленности им. В.Е. Чернышева»

Отчёт по учебной практике

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

учащийся III курса 423 группы

Нарбутович Давид Викторович

Специальность: 2-400101 «Программное обеспечение информационных технологий»

Место прохождения практики: УО «БГКЛП им. В. Е. Чернышева»

Руководитель практики от колледжа: Гринкевич С.А.

Барановичи, 2014 г.

Содержание

  • Введение
  • 1. Состав и назначение программного обеспечения и технического оснащения рабочего места
  • 2. Краткая характеристика рабочего места ученика (РМУ)
  • 3. Постановка задач
  • 4. Краткая характеристика сред программирования
  • 5. Алгоритмы решения задач
  • Заключение
  • Приложение

Введение

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

Я, Нарбутович Давид Викторович, проходил практику в УО «Барановичский государственный колледж легкой промышленности имени В. Е. Чернышева» с 08.05.2014 по 24.05.2014г., в кабинете программирования №25, преподаватель Гринкевич С.А.

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

Главной задачей учебной практики было более углубленное изучение и закрепление полученных знаний, а также получение умений и навыков в средах программирования Microsoft Visual Basic, Delphi, Borland С++, C, С++, C++ Builder, C#.

1. Изучение областей применения ПК, знакомство с разновидностями программного обеспечения, системной обработки деловой информации;

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

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

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

5. Разработка интерфейса;

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

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

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

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

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

В колледже имеются следующие специальности:

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

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

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

- товароведение;

- прядение хлопка;

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

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

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

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

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

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

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

Повышенная техника безопасности служит для учащихся защитой от несчастных случаев. А также увеличивает срок эксплуатации всего оборудования колледжа.

1. Состав и назначение программного и технического оснащения рабочего места

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

Пакет прикладных программ - это совокупность программ для решения круга задач по определенной тематике или предмету. Различают следующие типы пакетов прикладных программ:

1) Общего назначения - ориентированы на автоматизацию широкого круга задач пользователя (текстовые процессоры, табличные редакторы, системы управления базами данных, графические процессоры, издательские системы, системы автоматизации проектирования и т. д.);

2) Методо-ориентированные - реализация разнообразных экономико-математических методов решения задач (математического программирования, сетевого планирования и управления, теории массового обслуживания, математической статистики и т. д.);

3) Проблемно-ориентированные - направлены на решение определенной задачи (проблемы) в конкретной предметной области (банковские пакеты, пакеты бухгалтерского учета, финансового менеджмента, правовых справочных систем и т. д.).

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

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

Процессор……………………………..............AMD A4-3305M

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

Память………………………………................6 ГБ

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

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

Монитор……………………………………….HP

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

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

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

Операционная система…………………….....Microsoft Windows 7

Принтер….……………………………………HP Laser Jet 1020

Сканер.………………………………………..HP Scanjet G2410

Модем…………………………………………D-link

Колонки……………………………………….Genius

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

1. Разработайте индивидуальный интерфейс (диалоговое окно) по заполнению табличной базы данных и внесите 10 записей. Разработайте и примените диалоговое окно «Выборка» для подсчета выбранных записей из списка на основе самостоятельно заданного критерия.

2. Дан массив целых чисел A[n], n>1000. В отсортированном (по не убыванию) методом Шелла массиве найти элемент x (поиск осуществить двумя методами, сравнив их эффективность). Элемент x вводится с клавиатуры, если искомого элемента нет - вывести сообщение.

3. Найти максимальный и минимальный элементы и поменять их местами.

4. Кодировщик. Написать программу, перекодирующую строку в кодировке KOI в строку в кодировке Windows-1251 и обратно.

5. Сумма двух первых цифр заданного четырехзначного числа равна сумме двух его последних цифр.

6. Разработать БД SQL со следующими сущностями: страна, город, область, край.

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

8. Разработать приложение рисования и управления различными геометрическими фигурами.

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

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

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

C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр).

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

Наиболее популярный проект ПТГб Ьшскщыщаеб Штеуд и Уьифксфвукщ (Ищкдфтв)ю 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# и др.

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

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

Задание 1.

Разработайте индивидуальный интерфейс (диалоговое окно) по заполнению табличной базы данных и внесите 10 записей. Разработайте и примените диалоговое окно «Выборка» для подсчета выбранных записей из списка на основе самостоятельно заданного критерия.

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

Public Function yy(x As Double) As Double

yy = Sin(Application.WorksheetFunction.Pi() * x) * Exp(-2 * x)

End Function

Public Function Komiss(Prodag As Double) As Double

Const one = 0.08

Const two = 0.105

Const three = 0.12

Select Case Prodag

Case 0 To 9999.99: Komiss = Prodag * one

Case 10000 To 19999.99: Komiss = Prodag * two

Case Is >= 20000: Komiss = Prodag * three

End Select

End Function

Sub Кнопка4_Щелчок()

UserForm1.Show

End Sub

Sub Кнопка6_Щелчок()

UserForm2.Show

End Sub

Задание 2.

Дан массив целых чисел A[n], n>1000. В отсортированном (по неубыванию) методом Шелла массиве найти элемент x (поиск осуществить двумя методами, сравнив их эффективность). Элемент x вводится с клавиатуры, если искомого элемента нет - вывести сообщение.

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Edit1: TEdit;

ListBox1: TListBox;

Label1: TLabel;

Button2: TButton;

Label2: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var A: Array[0..1000] of Integer;

i, w: Integer;

prov:boolean;

begin

if Edit1.Text=''

then

ShowMessage('Заполните поле!')

else

try

prov:=false;

Randomize;

for i := Low(A) to High(A) do

begin

A[i] := Random(1000);

ListBox1.Items.Add(IntToStr(A[i]));

end;

w:=strtoint(Edit1.text);

for i:=1 to 1000 do

if a[i]=w then

begin

prov:=true;

label1.caption:='Элемент найден!'

end;

if not(prov) then

label1.caption:='Элемент не найден!'

except

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Listbox1.Clear;

label1.Caption:='';

end;

end.

Задание 3.

Найти максимальный и минимальный элементы и поменять их местами.

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

ListBox1: TListBox;

Button1: TButton;

Button2: TButton;

Label1: TLabel;

Label2: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

a: array [1..25] of integer;

implementation

{$R *.dfm}

function MinI: integer;//ищем минимальный

var

i: integer;

begin

result:=a[1];

for i:=1 to 25 do

if a[result]>a[i] then

result:=i;

end;

function MaxI: integer;//ищем максимальный

var

i: integer;

begin

result:=a[1];

for i:=1 to 25 do

if a[result]<a[i] then

result:=i;

end;

procedure Vipolnit;//заполняем массивы

var

Ia,m: integer;

begin

randomize;

Form1.ListBox1.clear;

for Ia:=1 to 25 do begin

a[Ia]:=random(100);

Form1.ListBox1.items.add(inttostr (a[Ia]));

end;

end;

procedure Prosmotr;//просмотр

var

Ia,m: integer;

begin

m:=a[MaxI];

Ia:=a[MinI];

a[MinI]:=m;

a[MaxI]:=Ia;

showmessage('a[MinI]='+inttostr(a[MinI])+', a[MaxI]='+inttostr(a[MaxI]));

Form1.ListBox1.clear;

for Ia:=1 to 25 do

Form1.ListBox1.items.add(inttostr (a[Ia]));

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Vipolnit;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Prosmotr;

end;

end.

Задание 4.

Кодировщик. Написать программу, перекодирующую строку в кодировке KOI в строку в кодировке Windows-1251 и обратно.

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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication2

{

class ConvertExampleClass

{

static void Main()

{

string unicodeString = "Я ганаруся, что жыву у Беларуси!";

Encoding ascii = Encoding.ASCII;

Encoding unicode = Encoding.Unicode;

byte[] unicodeBytes = unicode.GetBytes(unicodeString);

byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes);

char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)];

ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);

string asciiString = new string(asciiChars);

// Display the strings created before and after the conversion.

Console.WriteLine("Оригинальная строка: {0}", unicodeString);

Console.WriteLine("Ascii строка: {0}", asciiString);

System.Threading.Thread.Sleep(10000);

}

}

}

Задание 5. компьютер программирование интерфейс табличный

Сумма двух первых цифр заданного четырехзначного числа равна сумме двух его последних цифр.

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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication2

{

class Program

{

static void Main(string[] args)

{

int x = int.Parse(Console.ReadLine());

if (x < 1000 || x > 9999) Console.WriteLine("Число не четырехзначное");

else if ((x / 1000) + ((x / 100) % 10) == ((x / 10) % 10) + (x % 10)) Console.WriteLine("Равно");

else Console.WriteLine("Не равно");

System.Threading.Thread.Sleep(100000);

}

}

}

Задание 6.

Разработать БД SQL со следующими сущностями: страна, город, область, край.

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

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.OleDb;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace DB_______________________________________

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "_1DataSet.strana". При необходимости она может быть перемещена или удалена.

this.stranaTableAdapter.Fill(this._1DataSet.strana);

// TODO: данная строка кода позволяет загрузить данные в таблицу "_1DataSet.obl". При необходимости она может быть перемещена или удалена.

this.oblTableAdapter.Fill(this._1DataSet.obl);

// TODO: данная строка кода позволяет загрузить данные в таблицу "_1DataSet.city". При необходимости она может быть перемещена или удалена.

this.cityTableAdapter.Fill(this._1DataSet.city);

_1DataSet d = new _1DataSet();

for (int i = 0; i < d.Tables.Count; i++)

listBox1.Items.Add(d.Tables[i].TableName);

}

private void listBox1_DoubleClick(object sender, EventArgs e)

{

switch (listBox1.SelectedIndex)

{

case 0:

bindingNavigator1.BindingSource = cityBindingSource;

dataGridView1.DataSource = cityBindingSource;

break;

case 1:

bindingNavigator1.BindingSource = oblBindingSource;

dataGridView1.DataSource = oblBindingSource;

break;

case 2:

bindingNavigator1.BindingSource = stranaBindingSource;

dataGridView1.DataSource = stranaBindingSource;

break;

}

}

Задание 7.

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

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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Xml;

using System.Collections;

namespace xml

{

class Program

{

static void Main(string[] args)

{

XmlDocument xml = new XmlDocument();

xml.Load("..\\..\\Computers.xml");

XmlNodeList items = xml.GetElementsByTagName("Item");

// int m=666;

string g="11";

while (Convert.ToString(g) != "0")

{

Console.Clear();

Console.WriteLine("1) Показать записи.");

Console.WriteLine("2) Добавить запись.");

Console.WriteLine("3) Добавить в список ArrayList.");

Console.WriteLine("0) Выход.");

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

switch(Convert.ToString(g))

{

case "1":

Console.Clear();

foreach (XmlNode x in items)

{

Console.WriteLine("Item {0} = {1}", x.Attributes[0].Name, x.Attributes[0].Value);

foreach (XmlNode z in x.ChildNodes)

Console.WriteLine("\t{0,-10}\t : {1,-10}", z.Name, z.InnerText);

Console.WriteLine("");

}

Console.ReadKey();

break;

case "2":

Console.Clear();

XmlNodeList itemss = xml.GetElementsByTagName("Item");

XmlElement newItem = xml.CreateElement("Item");

XmlAttribute at = xml.CreateAttribute("id");

at.Value = Convert.ToString(itemss.Count + 1);

newItem.SetAttributeNode(at);

XmlElement el;

foreach (XmlNode x in itemss[0].ChildNodes)

{

el = xml.CreateElement(x.Name);

Console.Write("{0}: ", x.Name);

string name = Console.ReadLine();

el.InnerText = name;

newItem.AppendChild(el);

}

xml.DocumentElement.InsertAfter(newItem, xml.DocumentElement.LastChild);

xml.Save("..\\..\\Computers.xml");

break;

case "3":

ArrayList list = new ArrayList();

XmlNodeList listN = xml.GetElementsByTagName("Item");

for (int i = 0; i < listN.Count; i++)

list.Add(listN[i]);

Console.Clear();

Console.WriteLine("Добавлено!");

Console.ReadKey();

break;

}

}

}

}

}

Задание 8.

Разработать приложение рисования и управления различными геометрическими фигурами.

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

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace gdi

{

public partial class Form1 : Form

{

private Circle f1;

private Square f2;

private bool stats;

private float sclare;

private float shagSetki;

private Figure f;

private Pen pen;

private PointF cen;

private Color tekColor;// =Color.Red;

Graphics g;

public Form1()

{

InitializeComponent();

stats = true;

sclare = (float)1;

shagSetki = 25;

tekColor = Color.Red;

pen = new Pen(tekColor);

this.toolStripLabel4.Text = "X" + Convert.ToString(this.sclare);

}

private void toolStripButton1_Click(object sender, EventArgs e)

{

cen = new PointF();

cen.X = Convert.ToInt32(toolStripTextBox1.Text);

cen.Y = Convert.ToInt32(toolStripTextBox2.Text);

pen = new Pen(tekColor, 3);

if (tabControl1.SelectedIndex == 0)

{

g = this.tabPage1.CreateGraphics();

f = new Circle(cen, Convert.ToInt32(toolStripTextBox3.Text), pen, sclare);

}

else

{

g = this.tabPage2.CreateGraphics();

f = new Square(cen, Convert.ToInt32(toolStripTextBox3.Text), pen, sclare);

}

tabControl1.Invalidate();

}

private void tabPage1_Paint(object sender, PaintEventArgs e)

{

if (stats)

{

Pen ww = new Pen(Color.Blue, 1);

PointF p1 =new Point();

PointF p2 =new Point();

p1.X=0;

p2.X=tabPage1.Size.Width;

for (float i = tabPage1.Size.Height / 2; i < tabPage1.Size.Height; i += shagSetki * this.sclare)//y

{

p1.Y = p2.Y = i;

e.Graphics.DrawLine(ww,p1,p2);

}

for (float i = tabPage1.Size.Height / 2; i > 0; i -= shagSetki * this.sclare)//y

{

p1.Y = p2.Y = i;

e.Graphics.DrawLine(ww, p1, p2);

}

////////////////////////////////////////

p1.Y = 0;

p2.Y = tabPage1.Size.Height;

for (float i = tabPage1.Size.Width / 2; i < tabPage1.Size.Width; i += shagSetki * this.sclare)//y

{

p1.X = p2.X = i;

e.Graphics.DrawLine(ww, p1, p2);

}

for (float i = tabPage1.Size.Width / 2; i > 0; i -= shagSetki * this.sclare)//y

{

p1.X = p2.X = i;

e.Graphics.DrawLine(ww, p1, p2);

}

ww.Width = 2;

p1.X = p2.X = tabPage1.Size.Width/2;

p1.Y=0;

p2.Y=tabPage1.Size.Height;

e.Graphics.DrawLine(ww, p1, p2);

p1.Y = p2.Y = tabPage1.Size.Height / 2;

p1.X = 0;

p2.X = tabPage1.Size.Width;

e.Graphics.DrawLine(ww, p1, p2);

}

if (f != null) f.Draw(g, this.tabPage1.Size);

}

private void toolStripButton2_Click(object sender, EventArgs e)

{

stats = !stats;

tabControl1.Invalidate();

if (stats) toolStripButton2.CheckState = CheckState.Checked;

else toolStripButton2.CheckState = CheckState.Unchecked;

}

private void tabPage2_Paint(object sender, PaintEventArgs e)

{

if (stats)

{

Pen ww = new Pen(Color.Blue, 1);

PointF p1 = new Point();

PointF p2 = new Point();

p1.X = 0;

p2.X = tabPage2.Size.Width;

for (float i = tabPage2.Size.Height / 2; i < tabPage2.Size.Height; i += shagSetki * this.sclare)//y

{

p1.Y = p2.Y = i;

e.Graphics.DrawLine(ww, p1, p2);

}

for (float i = tabPage2.Size.Height / 2; i > 0; i -= shagSetki * this.sclare)//y

{

p1.Y = p2.Y = i;

e.Graphics.DrawLine(ww, p1, p2);

}

////////////////////////////////////////

p1.Y = 0;

p2.Y = tabPage2.Size.Height;

for (float i = tabPage2.Size.Width / 2; i < tabPage2.Size.Width; i += shagSetki * this.sclare)//y

{

p1.X = p2.X = i;

e.Graphics.DrawLine(ww, p1, p2);

}

for (float i = tabPage2.Size.Width / 2; i > 0; i -= shagSetki * this.sclare)//y

{

p1.X = p2.X = i;

e.Graphics.DrawLine(ww, p1, p2);

}

ww.Width = 2;

p1.X = p2.X = tabPage2.Size.Width / 2;

p1.Y = 0;

p2.Y = tabPage2.Size.Height;

e.Graphics.DrawLine(ww, p1, p2);

p1.Y = p2.Y = tabPage2.Size.Height / 2;

p1.X = 0;

p2.X = tabPage2.Size.Width;

e.Graphics.DrawLine(ww, p1, p2);

}

if (f != null) f.Draw(g, this.tabPage2.Size);

}

private void toolStripButton5_Click(object sender, EventArgs e)

{

if (f != null)

{

f.Move((float)Convert.ToDouble(this.toolStripTextBox4.Text),this.sclare, Direction.Down);

f.Draw(g, this.tabPage1.Size);

tabControl1.Invalidate();

}

}

private void toolStripButton6_Click(object sender, EventArgs e)

{

if (f != null)

{

f.Move((float)Convert.ToDouble(this.toolStripTextBox4.Text), this.sclare, Direction.Up);

f.Draw(g, this.tabPage1.Size);

tabControl1.Invalidate();

}

}

private void toolStripButton7_Click(object sender, EventArgs e)

{

if (f != null)

{

f.Move((float)Convert.ToDouble(this.toolStripTextBox4.Text), this.sclare, Direction.Left);

f.Draw(g, this.tabPage1.Size);

tabControl1.Invalidate();

}

}

private void toolStripButton8_Click(object sender, EventArgs e)

{

if (f != null)

{

f.Move((float)Convert.ToDouble(this.toolStripTextBox4.Text), this.sclare, Direction.Right);

f.Draw(g, this.tabPage1.Size);

tabControl1.Invalidate();

}

}

private void exitToolStripMenuItem_Click(object sender, EventArgs e)

{

Application.Exit();

}

private void colorToolStripMenuItem_Click(object sender, EventArgs e)

{

colorDialog1.ShowDialog();

tekColor = pen.Color = this.colorDialog1.Color;

tabControl1.Invalidate();

}

private void toolStripButton3_Click(object sender, EventArgs e)

{

this.sclare *= 2;

this.toolStripLabel4.Text = "X" + Convert.ToString(this.sclare);

if (f != null) f.Reduce();

tabControl1.Invalidate();

}

private void toolStripButton4_Click(object sender, EventArgs e)

{

this.sclare /= 2;

this.toolStripLabel4.Text = "X" + Convert.ToString(this.sclare);

if (f != null) f.Increase();

tabControl1.Invalidate();

}

private void tabPage2_MouseDoubleClick(object sender, MouseEventArgs e)

{

Point p = new Point(e.X, e.Y);

if (f != null) if (f.CheckHit(p)) MessageBox.Show("Попал!");

}

private void tabPage1_MouseDoubleClick(object sender, MouseEventArgs e)

{

Point p = new Point(e.X, e.Y);

if (f != null) if (f.CheckHit(p)) MessageBox.Show("Попал!");

}

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)

{

this.sclare = 1;

this.toolStripLabel4.Text = "X" + Convert.ToString(this.sclare);

}

}

}

Заключение

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

Я научился самостоятельно решать трудные задачи и искать решения ошибок, с помочью справки. Познакомился с разновидностями прикладного обеспечения, научился обрабатывать деловую и экономическую информацию, более углубленно изучил и освоил языки программирования. Свободно владеть компьютером, программировать на нём, настраивать при поломке является основной задачей в моей практике.

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

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

Современную жизнь представить без современной техники просто невозможно. Ни одна фирма не обходится без помощи компьютера. Хранение данных, написание документов, составление графиков, таблиц, расписаний - во всем этом нам помогает компьютер. Вся современная документация введётся в электронном виде и хранится на компьютере.

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

Список использованных источников

1. Название: Самоучитель C++ Builder Автор: Культин Н. Б Издательство: БХВ-Петербург Год: 2004

2. Павловская Т.А. С# программирование на языке высокого уровня, курс СПб.: Питер, 2009. - 427 с: ил.

3. Работа с базами данных на языке C#. Технология ADO .NET : учебное пособие

/ сост. О.Н.Евсеева, А.Б.Шамшев. - Ульяновск: УлГТУ, 2009. - 170 с.

4. C++Builder 6. Справочное пособие. Книга 1. Язык C++ Автор: Архангельский А.Я. Издательство: Москва, Бином-Пресс Год: 2002

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

Питер, 2004. - 796 с.: ил.

6. Шилдт Герберт. Полный справочник по С#. : Пер. с англ. - М. : Издательский дом «Вильямс», 2004. - 752 с: ил. - Парал. тит. англ.

7. http://msdn.microsoft.com

Приложение

Задание 1

Блок-схема

Задание 2.

Блок-схема

Задание 3.

Блок-схема

Задание 4.

Блок-схема

Задание 5.

Блок-схема

Задание 6.

Блок-схема

Задание 7

Блок-схема

Задание 8.

Блок-схема

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

...

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

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