Файл: Отчет по учебной практике пм. 01 Разработка программных модулей программного обеспечения для компьютерных систем.docx

ВУЗ: Не указан

Категория: Отчеты по практике

Дисциплина: Не указана

Добавлен: 11.04.2024

Просмотров: 58

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Департамент образования и науки Курганской области

ГБПОУ «Шадринский политехнический колледж»

ОТЧЕТ
по учебной практике ПМ.01 «Разработка программных модулей программного обеспечения для компьютерных систем»


Группа № 320 ПК
Специальность: «Программирование в компьютерных системах»
___________________________________________________

(фамилия, имя, отчество)


Тематический план


Код ПК

Код и наименование профессионального модуля

Количество часов по ПМ

Виды работ

Наименования тем производственной практики

Количество часов по темам

1

2

3




4

5

ПК 1.1-1.6

ПМ 01. Разработка программных модулей программного обеспечения для компьютерных систем


216

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

- разработка кода программного продукта на основе готовой спецификации на уровне модуля

- использование инструментальных средств на этапе отладки программного продукта

- проведение тестирования программного модуля по определенному сценарию

Тема 1.1 Общее знакомство со средой программирования Visual C#

6

Тема 1.2 Составление таблиц спецификации

6

Тема 1.3 Изучение основных конструкций среды программирования Visual C#

18

Тема 1.4. Работа с таблицами в Visual C#

12

Тема 1.5 Работа с файлами в Visual C#

6

Тема 1.6 Работа с графикой в Visual C#

12

Тема 1.7 Разработка многомодульных приложений

6

Тема 1.8 Оформление отчета

6




ВСЕГО часов










72



Содержание

  1. Теоретическая часть

  2. Практическая часть

Отчет


  1. Теоретическая часть

Microsoft Visual Studio — линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Silverlight.

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как, например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования) или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).

Visual C#

Это реализация языка C# корпорацией Майкрософт. Поддержка Visual C# в Visual Studio обеспечивается с помощью полнофункционального редактора кода, компилятора, шаблонов проектов, конструкторов, мастеров кода, мощного и удобного отладчика и многих других средств. Библиотека классов .NET Framework предоставляет доступ ко многим службам операционной системы и другим полезным, правильным классам, что существенно ускоряет цикл разработки.

Ниже перечислены основные преимущества IDE-среды Visual Studio:

  1. Встроенный Web-сервер. Для обслуживания Web-приложения ASP.NET необходим Web-сервер, который будет ожидать Web-запросы и обрабатывать соответствующие страницы.

  2. Поддержка множества языков при разработке. Visual Studio позволяет писать код на своем языке или любых других предпочитаемых языках, используя все время один и тот же интерфейс (IDE).

  3. Меньше кода для написания. Для создания большинства приложений требуется приличное количество стандартного стереотипного кода, и Web-страницы ASP. NET тому не исключение.

  4. Интуитивный стиль кодирования. По умолчанию Visual Studio форматирует код по мере его ввода, автоматически вставляя необходимые отступы и применяя цветовое кодирование для выделения элементов типа комментариев.

  5. Более высокая скорость разработки. Многие из функциональных возможностей Visual Studio направлены на то, чтобы помогать разработчику делать свою работу как можно быстрее.

  6. Возможности отладки. Предлагаемые в Visual Studio инструменты отладки являются наилучшим средством для отслеживания загадочных ошибок и диагностирования странного поведения.

  7. Visual Studio также имеет и множество других функций: возможность управления проектом; встроенная функция управления исходным кодом; возможность рефакторизации кода; мощная модель расширяемости.




  1. Практическая часть


Задача 1. Создайте приложение, которое переводит мили в километры.

ButtonOk – Click

double mile, km;

mile=Convert.ToDouble(textBoxMile.Text);

km=mile*1.609344;

labelRes.Text=mile.ToString(“n”)+” miles – “ +km.ToString(“n”) + “ км”;
Задача 2. Создайте приложение, которое переводит фунты в килограммы.

Инициализация формы

buttonTran.Enabled = false;

textBoxFunt_TextChanged

labelRes.Text = "";

if (textBoxFunt.Text.Length == 0)

buttonTran.Enabled = false;

else buttonTran.Enabled = true;

buttonTran_Click

double funt, kg;

funt = Convert.ToDouble(textBoxFunt.Text);

kg = funt * 0.4095;

labelRes.Text = funt.ToString("N") + " ф. - " + kg.ToString("N") + " кг";
Задача 3. Создать приложение, которое переводит цену в нужный пользователю курс.

Инициализация формы

buttonTran.Enabled = false;

textBoxPrice_KeyPress

if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))

return;

if (e.KeyChar >= '.')

e.KeyChar = ',';

if (e.KeyChar == ',')

if (sender.Equals(textBoxPrice)){

if ((textBoxPrice.Text.IndexOf(',') != -1) || (textBoxPrice.Text.Length == 0)){

e.Handled = true;}

else{

if ((textBoxPrice.Text.IndexOf(',') != -1) || (textBoxPrice.Text.Length == 0)){

e.Handled = true;}}

return;}

if (Char.IsControl(e.KeyChar)){

if (e.KeyChar==(char)Keys.Enter){

if (sender.Equals(textBoxPrice)) textBoxRate.Focus();

else buttonOk.Focus();}

return;}

e.Handled = true;

buttonOk_Click

double Prise, Rate;

Prise = Convert.ToDouble(textBoxPrice.Text);

Rate = Convert.ToDouble(textBoxRate.Text);

Rate = Prise / Rate;

labelRes.Text = Prise.ToString("N") + " начальная цена - " + Rate.ToString("N") + " результат";

textBoxRate_KeyPress

if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))

return;

if (e.KeyChar >= '.')

e.KeyChar = ',';

if (e.KeyChar == ',')

if (sender.Equals(textBoxRate)){

if ((textBoxRate.Text.IndexOf(',') != -1) || (textBoxRate.Text.Length == 0)){

e.Handled = true;}

else{

if ((textBoxRate.Text.IndexOf(',') != -1) || (textBoxRate.Text.Length == 0)){

e.Handled = true;}}

return;}

if (Char.IsControl(e.KeyChar)){

if (e.KeyChar == (char)Keys.Enter){

if (sender.Equals(textBoxRate)) buttonOk.Focus();}

return;}

e.Handled = true;

textBoxPrice_TextChanged

labelRes.Text = "";

if ((textBoxPrice.Text.Length != 0) && (textBoxRate.Text.Length != 0))

buttonOk.Enabled = true;

else buttonOk.Enabled = false;

textBoxRate_TextChanged

labelRes.Text = "";

if ((textBoxRate.Text.Length != 0) && (textBoxPrice.Text.Length != 0))

buttonOk.Enabled = true;

else buttonOk.Enabled = false;
Задача 4. Создать приложение, которое в зависимости от выбранного формата фотографии и количества выдает конечную сумму.

buttonOk_Click

double cena=0 ,sum;

int n;

if (radioButton9Na12.Checked) cena = 8.50;

if (radioButton10Na15.Checked) cena = 10;

if (radioButton18Na24.Checked) cena = 15.50;

n = Convert.ToInt32(textBoxQuan.Text);

sum = n * cena;

labelRes.Text = n.ToString("n") + " колич. - " + sum.ToString("n") + " цена.";
Задача 5. Создать приложение, которое определяет по выбранным флажкам конечную сумму стоимости выбранного комплекта.

buttonOK_Click

double dop=0, discount, total, cena=415000;

string st;

if (checkBoxMat.Checked) dop += 1200;

if (checkBoxSump.Checked) dop += 4500;


if (checkBoxBus.Checked) dop += 12000;

if (checkBoxDisk.Checked) dop += 12000;

total = cena + dop;

st = "Цена в выбраной комплектации: " + total.ToString("C");

if (dop != 0) st += "\n В том числе доп. оборудование: " + dop.ToString("C");

if ((checkBoxMat.Checked) && (checkBoxSump.Checked) && (checkBoxBus.Checked) && (checkBoxDisk.Checked))

{

discount = dop * 0.1;

total -= discount;

st += "\n Скидка на доп. оборудование (10%):" + discount.ToString("C") + "\nИтого: " + total.ToString("C");

}

else

st +="\nИтого: " + total.ToString("C");

labelRes.Text = st;

checkBoxMat_Click

labelRes.Text = "";

checkBoxSump_Click

labelRes.Text = "";

checkBoxBus_Click

labelRes.Text = "";

checkBoxDisk_Click

labelRes.Text = "";
Задача 6. Создать приложение, которое по заданным разметкам и выбранному материалу вычисляет итоговую сумму.

Инициализация формы

comboBoxMaterial.DropDownStyle = ComboBoxStyle.DropDownList;

comboBoxMaterial.Items.Add("пластик");

comboBoxMaterial.Items.Add("алюминий");

comboBoxMaterial.Items.Add("бамбук");

comboBoxMaterial.Items.Add("солома");

comboBoxMaterial.Items.Add("текстиль");

comboBoxMaterial.SelectedIndex = 0;

buttonOk.Enabled = false;

buttonOk_Click

double cena=0,sum;

double w = Convert.ToDouble(textBoxWidth.Text);

double h = Convert.ToDouble(textBoxHeight.Text);

switch (comboBoxMaterial.SelectedIndex){

case 0: cena = 100; break;

case 1: cena = 250; break;

case 2: cena = 170; break;

case 3: cena = 170; break;

case 4: cena = 120; break;}

sum = (w * h) / 10000 * cena;

labelRes.Text = "Размер: " + w + " * " + h + " см.\n" + "Цена (р./м.кв.):" + cena.ToString("C") + "\n Сумма: " + sum.ToString("C");

comboBoxMaterial_SelectedIndexChanged

labelRes.Text = "";

textBoxWidth_KeyPress

if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))

return;

if (e.KeyChar >= '.')

e.KeyChar = ',';

if (e.KeyChar == ',')

if (sender.Equals(textBoxWidth)){

if ((textBoxWidth.Text.IndexOf(',') != -1) || (textBoxWidth.Text.Length == 0)){

e.Handled = true;}

else{

if ((textBoxWidth.Text.IndexOf(',') != -1) || (textBoxWidth.Text.Length == 0)){

e.Handled = true;}}

return;}

if (Char.IsControl(e.KeyChar)){

if (e.KeyChar == (char)Keys.Enter){

if (sender.Equals(textBoxWidth)) textBoxHeight.Focus();

else buttonOk.Focus();}

return;}

e.Handled = true;

textBoxHeight_KeyPress

if((e.KeyChar >= '0') && (e.KeyChar <= '9'))

return;

if (e.KeyChar >= '.')

e.KeyChar = ',';

if (e.KeyChar == ',')

if (sender.Equals(textBoxHeight)){

if ((textBoxHeight.Text.IndexOf(',') != -1) || (textBoxHeight.Text.Length == 0)){

e.Handled = true;}

else{

if ((textBoxHeight.Text.IndexOf(',') != -1) || (textBoxHeight.Text.Length == 0)){

e.Handled = true;}}

return;}

if (Char.IsControl(e.KeyChar)){

if (e.KeyChar == (char)Keys.Enter){

if (sender.Equals(textBoxHeight)) textBoxWidth.Focus();

else buttonOk.Focus();}

return;}

e.Handled = true;

textBoxWidth_TextChanged

if ((textBoxWidth.Text.Length != 0) && (textBoxHeight.Text.Length != 0))

buttonOk.Enabled = true;

else buttonOk.Enabled = false;

textBoxHeight_TextChanged

if ((textBoxHeight.Text.Length != 0) && (textBoxWidth.Text.Length != 0))

buttonOk.Enabled = true;

else buttonOk.Enabled = false;
Задача 7. Создать приложение, которое делает расчет на указанное количество месяцев оплату кредита.

Инициализация формы

buttonOk.Enabled = false;

buttonOk_Click

float value, rate, dept, suminterest, interest, paying;


int period;

string st;

value = Convert.ToSingle(textBoxSum.Text);

period = Convert.ToInt32(textBoxPeriod.Text);

rate = Convert.ToSingle(textBoxRate.Text);

dept = value;

suminterest = 0;

for(int i=1; i


interest = dept * (rate / 12 / 100);

suminterest += interest;

paying = value / period + interest;

st = i.ToString() + " " + dept.ToString("c") + " " + interest.ToString("c") + "" + paying.ToString("c");

listViewCalc.Items.Add(i.ToString());

listViewCalc.Items[i - 1].SubItems.Add(dept.ToString("c"));

listViewCalc.Items[i - 1].SubItems.Add(interest.ToString("c"));

listViewCalc.Items[i - 1].SubItems.Add(paying.ToString("c"));

dept = dept - value / period;}}

textBoxSum_TextChanged

this.listViewCalc.Items.Clear();

if ((textBoxSum.Text.Length != 0) && (textBoxPeriod.Text.Length != 0) && (textBoxRate.Text.Length != 0))

buttonOk.Enabled = true;

else buttonOk.Enabled = false;

textBoxPeriod_TextChanged

this.listViewCalc.Items.Clear();

if ((textBoxPeriod.Text.Length != 0) && (textBoxSum.Text.Length != 0) && (textBoxRate.Text.Length != 0))

buttonOk.Enabled = true;

else buttonOk.Enabled = false;

textBoxRate_TextChanged

this.listViewCalc.Items.Clear();

if ((textBoxRate.Text.Length != 0) && (textBoxSum.Text.Length != 0) && (textBoxPeriod.Text.Length != 0))

buttonOk.Enabled = true;

else buttonOk.Enabled = false;
Задача 8. Создать приложение, которое реализует головоломку Ллойда «Собери 50».

buttonOk_Click

int sum= 0;

listBoxRes.Items.Clear();

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

listBoxRes.Items.Add(checkedListBoxNamber.CheckedItems[i].ToString());

for (int i = 0; i < listBoxRes.Items.Count; i++){

sum += int.Parse(checkedListBoxNamber.CheckedItems[i].ToString());

labelRes.Text = "Сумма: " + sum.ToString();}

if (sum==50){

checkedListBoxNamber.Enabled = false;

listBoxRes.Enabled = false;

buttonOk.Enabled = false;
Задача 9. Создать приложение, которое ведет подсчет секунд и минут.

public partial class Form1 : Form

int m = 0, s = 0;

buttonStart_Click

if (timer1.Enabled){

timer1.Enabled = false;

buttonStart.Text = "Пуск";

buttonStart.Enabled = true;

labelCol.Visible = true;}

else{

timer1.Enabled = true;

buttonStart.Text = "Стоп";

buttonRes.Enabled = false;}

timer1_Tick

if (labelCol.Visible==true){

if (s<59){

s++;

if (s < 10) labelSec.Text = "0" + s.ToString();

else labelSec.Text = s.ToString();}

else{

if (m<59){

m++;

if (m < 10) labelMin.Text = "0" + m.ToString();

else labelMin.Text = m.ToString();

s = 0;

labelSec.Text = "00";}

else{

m = 0;

labelMin.Text = "00";}}}

buttonRes.Enabled = true;

buttonRes_Click

s = 0;

m = 0;

labelMin.Text = "00";

labelSec.Text = "00";
Задача 10. Создать приложение, которое выводит на поверхность формы флаг Италии.

Заключение преподавателя, проверившего практику и отчет

  1. В какой степени выполнена программа практики

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

  1. Общая оценка практики

________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

М.П. Руководитель практики ____________ /Волосникова Л.В./

подпись